VF常用命令和程序命令一
- 格式:doc
- 大小:31.00 KB
- 文档页数:3
VF命令总结1、CREATE PROJECT [<项目文件名>]功能:创建项目文件,同时打开项目管理器。
2、CREATE<表文件名>功能:打开表设计器,创建数据表。
3、USE [<表文件名>][EXCLUSIVE][SHARED]功能:打开指定的数据表文件注:USE:关闭当前数据表文件4、LIST|DISPLY STRUCTURE功能:显示表结构,同时显示文件名,数据记录数,文件最新的时间,备注文件块大小及记录的总长度信息。
注:在VF中的主屏幕中显示5、BROWSE[ALL][FIELDS<字段名表>][FOR<条件表达式>][NOAPPEND][NOMODIFY]功能:在浏览窗口浏览当前打开的数据表,并可以进行全屏编辑和修改。
6、LIST|DISPLAY[<范围>][FIELDS<字段名表>][FOR<条件表达式>] [WHILE<条件表达式>][OFF][TO PRINTER][TO FILE<文件名>]功能:在VF主窗口连续或分屏显示当前数据表全部或部分记录内容。
7、GO/GOTO TOP|BOTTOM|<记录号>功能:将当前数据表的记录指针移到指定的记录号上。
8、SKIP[<数值表达式>]功能:将记录指针从当前位置向前或向后移动若干条记录位置。
9、LOCATE[<范围>] FOR <条件表达式> [WHILE<条件表达式>]功能:在数据表的指定范围内搜索满足条件的第一条记录。
10、MODIFY STRUCTURE功能:打开表设计器并且对其修改或添加。
11、APPEND[BLANK]功能:在前数据表的尾总添加任意条记录。
12、INSERT[BEFORE][BLANK]功能:在当前数据表的两条记录间插入一条新记录。
VF常用命令总结1. vfread该命令用于读取图像文件。
示例:vfread image.jpg2. vfview该命令用于查看当前图像。
示例:vfview3. vfopen该命令用于打开图像文件。
示例:vfopen image.jpg4. vfclose5. vfsave该命令用于保存当前图像文件。
示例:vfsave new_image.jpg 6. vfresize该命令用于调整图像的尺寸。
示例:vfresize 800 6007. vfrotate该命令用于旋转图像。
示例:vfrotate 908. vfflip该命令用于翻转图像。
示例:vfflip vertical9. vfgrayscale该命令用于将图像转为灰度图。
示例:vfgrayscale10. vfbrightness该命令用于调整图像的亮度。
示例:vfbrightness 5011. vfcontrast该命令用于调整图像的对比度。
示例:vfcontrast 0.512. vfhistogram该命令用于生成图像的直方图。
示例:vfhistogram13. vfthreshold该命令用于将图像进行二值化处理。
示例:vfthreshold 12814. vfblur该命令用于对图像进行模糊处理。
示例:vfblur 515. vfsharpen该命令用于对图像进行锐化处理。
示例:vfsharpen16. vfsobel该命令用于对图像进行边缘检测。
示例:vfsobel17. vfflipbook该命令用于创建图像翻页动画。
示例:vfflipbook 1018. vffilpbookreverse该命令用于反向创建图像翻页动画。
示例:vfflipbookreverse 10 19. vfmerge该命令用于合并多张图像。
示例:vfmerge image1.jpg image2.jpg。
数据表操作命令1、创建数据表命令:格式:CREA TE [<表文件名>/?]功能:新建一个VF数据表2、打开数据表命令:格式:USE [<表文件名>]功能:打开指定的数据表或关闭数据表3、关闭数据表命令格式:CLOSE DA TABASES功能:关闭所有工作区中打开的数据表文件及相关文件,选择1号工作区为当前工作区格式:CLOSE ALL功能:关闭所有工作区的所有文件,选择1号工作区为当前工作区格式:CLEAR ALL功能:关闭所有文件,释放内存变量,选择1号工作区为当前工作区格式:QUIT功能:关闭所有文件,安全退出VF,返回宿主操作系统4、显示表结构命令格式1:LIST STRUCTURE格式2;DISPLAY STRUCTURE功能:在主窗口显示当前打开的数据表结构5、修改表结构命令格式:MODIFY STRUCTURE功能:显示并修改当前打开数据表结构6、复制表结构命令格式:COPY STRUCTURE TO <表文件名>[FEILES<字段名>]功能:对当前数据表结构进行复制,形成一个指定名称的新表结构7、复制数据表命令格式:COPY TO <表文件名>[<范围>] [FOR<条件>] WHILE<条件>][FIELDS<字段表>] [TYPE<文件类型>]功能:对当前数据表中指定范围内符合条件的记录进行复制,形成一个指定名称的新数据表8、追加与插入记录命令格式:APPEND [BLANK]功能:在当前数据表的末尾增加新记录格式:APPEND FROM<表文件名>[FOR<条件>] [WHILE<条件>] [FILEDS<当前表字段表>][TYPE<文件类型>]功能:由磁盘上指定的表文件中,将规定范围内符合条件的记录自动添加到当前数据表的末尾。
VF 常用命令第三章命令:一、数据库命令1、创建数据库:creat database数据库名2、打开数据库:open database数据库名3、修改数据库:modify database数据库名4、关闭数据库:close database5、删除数据库:delete databas e 数据库名(被删除的数据库不能处于打开状态)二、表的操作命令1、创建表:create表名2、打开表:use表名3、修改表:modify stru表名4、关闭表:close table5、浏览表:browse6、删除表:drop table表名7、增加记录:append或ctrl+y8、物理删除记录:pack 和zap9、修改记录:replace字段名with字段值for条件10、定位记录指针:go、skip、locate for11、命令创建索引:INDEX ON 表达式(字段名)to\tag 索引名第四章常用命令一SQL查询命令格式:select -------from ------ where ----- order by ----- desc---- group by -----having-------into table计算函数:sum() \ avg() \ count() \ max() \ min()TopIn \ not in 用于where条件包含或不包含的意思Into array 将查询结果存到数组Into cursor 将查询结果存到临时文件into table 将查询结果存到永久表(即VF表里面)select 要查询的内容from 要查询的内容来自的表where查询的内容要满足的条件和表之间的联系order by排序字段名desc降序group by分组字段名having分组条件into table查询结果存入表的表名二操作功能1、插入记录insert into表名(字段名……)values(记录……)2、修改更新记录Update表名set字段名=字段值where条件3、删除记录Delete from 表名where条件三定义功能1、创建表Creat table表名(字段名类型(宽度)primary key主索引check字段有效性规则,…………)2、修改表(修改字段)(1)增加字段Alter table表名add字段名类型(宽度)primary key主索引check 字段有效性规则,……(2)修改已有的字段类型Alter table表名alter字段名类型(宽度)set check字段有效性规则。
VF命令集第二章1.QUIT2.CREATE PROJECT [项目文件名]3.CREATE DATABASE [数据库文件名]4.OPEN DATABASE <数据库名> [exclusive/shared]5.CLOSE DA TA [ALL]6.MODIFY DA TABASE7.CREATE [表名]8.MODI STRUE10.APPEND FROM [表名]11.APPEND BLANK12.INSERT13.INSERT BLANK14.REPL [范围] 字段名1 WITH 表达式1[,字段名2…..][FOR]15.DELE [范围][FOR]16.PACK17.ZAP18.BROWSE/edit19.INDEX ON 表达式TO 索引名.IDX20.INDEX ON 表达式[ASC/DESC][CAND/UNIQUE] TAG <索引名>21.INDEX ON 表达式[ASC/DESC][UNIQUE] TAG <索引名>;OF <索引文件名>22.Set INDEX to <索引文件名表>[ORDER <数值表达式>[TAG];23.<索引名>[OF <复合索引文件名>]24.SET ORDER TO [<数值表达式>]/[ [TAG]<索引名>][OF <复合索引文件名>]25.SEEK[表达式]26.FIND[字符常量/数值常量]27.LOCATE FOR <逻辑表达式>/continue28.SELECT <工作区号>/<别名>/<0>E <表名>[IN <工作区号>] [ALIAS <别名>] [AGAIN]; [INDEX 索引名表]30.SET RELA TO 关键字INTO [工作区号/别名]31.GO TOP32.GO BOTTOM33.[GO ][RECORD] <数值表达式>34.SKIP35.LIST36.DISP第三章37.CREATE QUERY 〈查询文件名.QPR>38. MODIFY QUERY<查询文件名>39. DO <查询文件名.QPR>第四章40. SELECT [DISTINCT]<查询项1>[AS 列标题]…FROM <表名> [WHERE <关系式>]41. SELECT <查询项列表> FROM <表名> [GROUP BY <分组项>][ORDER BY <排序项>]42.SELECT <查询项列表> FROM <表名1> INNER JOIN 表名2 INNER JOIN 表名3 ON 表达式ON 表达式243. SELECT <查询项列表> FROM <表名> INTO [TABLE/DBF/ARRAY/CURSOR/ 名字]44. SELECT <查询项列表> FROM <表名> TO [FILE 文件名.TXT/SCREEN]45. SELECT [TOP N [PERCENT]] <查询项列表> FROM <表名>46.CREATE TABLE <表名> [free](字段名1 类型[(宽度) [PRIMARY KEY/UNIQUE][CHECK关系表达式[ERROR 提示信息]] [DEFAULT 表达式])47.ALTER TABLE <表名> ADD <字段名> 类型(宽度)[……]48.ALTER TABLE <表名> DROP [COLUMN] <字段名>49. ALTER TABLE <表名> RENAME [COLUMN] <字段名> TO <新字段名>50. ALTER TABLE <表名> ALTER <字段名> 类型(宽度)51.ALTER TABLE <表名> ADD UNIQUE/PRIMARY KEY <索引表达式> [TAG 索引名]52. ALTER TABLE <表名> DROP PRIMARY KEY53. ALTER TABLE <表名> ALTER <字段名> SET CHECK <条件式> [ERROR <出错提示信息>]54. ALTER TABLE <表名> ALTER <字段名> DROP CHECK55. ALTER TABLE <表名> ALTER <字段名> SET DEFAULT 值56. ALTER TABLE <表名> ALTER <字段名> DROP DEFAULT57. REMOVE TABLE <表名>58. REMOVE TABLE <表名> DELETEDROP TABLE <表名>59. INSERT INTO <表名>[(字段名….)] V ALUES (<表达式1>,……)60. UPDATE <表名> SET <字段名1> =表达式[,<字段名2…….>] WHERE61. DELETE FROM <表名> [WHERE 条件式]第五章62.INPUT63. ACCEPT64. WAIT65. STORE66. IF…..ELSE……ENDIF67. DO CASE………..ENDCASE68. DO WHILE………ENDDO69. LOOP70. EXIT71. FOR……ENDFOR72. SCAN……ENDSCAN73. SET PROC TO 过程文件名74. DO….WITH 与PARA75. PUBLIC76.PRIV77.LOCAL78.SET UDFP TO V ALUE/REFERENCES79 第六章CREATE FORM <表单文件名>MODI FORM <表单文件名>DO FORM <表单文件名>RELEASE THISFORMTHISFORM.RELEASETHISFORM.REFRESH第七章(菜单)CREATE MENU <菜单文件名>MODIFY MENU <菜单文件名.MNX>DO <菜单程序文件名.MPR>SET SYSMENU TO DEFALUTABS EXP LOG INT ROUND SQRT MAX MIN AT SPACE SUBSTR LEFT RIGHT LEN REPLICATE ASC CHR STR V AL CTOD DTOC DTOS LOWER UPPER DBF TYPE FILE IIF DA TE TIME YEAR MONTH DAY DOW WEEK RECNO BOF EOF FOUND RECCOUNT SELECT BETWEEN TRIM LTRIM ALL TRIMRTRIM STUFF MOD SIGN PI CEILING QUIT CREATE PROJECT CREATE DA TABASE OPEN DA TABASE exclusive shared CLOSE DA TA ALL MODIFY DA TABASE CREATE MODI STRU USE APPEND FROM APPEND BLANK INSERT INSERT BLANK REPL WITH FOR DELE PACK ZAP BROWSE edit INDEX ONTO INDEX ON ASC DESC CAND UNIQUE TAG INDEX ON ASC DESC UNIQUE TAG OF SEEK FIND LOCA TE FOR continu SELECT USE IN ALIAS AGAIN INDEX SET RELA TO INTO GO TOP GO BOTTOM GO RECORD SKIP LISTDISP CREATE QUERY QPR MODIFY QUERY DO QPR SELECT DISTINCT AS FROM WHERE SELECT SUM A VG COUNT MAX MIN FROM INNER JOIN LEFT JOIN RIGHT JOIN GROUP BY ORDER BY SELECT FROM INNER JOIN INNER JOIN ON ON SELECT FROM INTO TABLE DBF ARRAY CURSOR SELECT FROM TO FILE TXT SCREEN SELECT TOP N PERCENT FROM CREATE TABLE free PRIMARY KEY UNIQUE CHECK ERROR DEFAULT ALTER TABLE ADD ALTER TABLE DROP COLUMN ALTER TABLE RENAME COLUMN TO ALTER TABLE ALTER ALTER TABLE ADD UNIQUE PRIMARY KEY TAG ALTER TABLE DROP PRIMARY KEY ALTER TABLE ALTER SET CHECK ERROR ALTER TABLE ALTER DROP CHECK ALTER TABLE ALTER SET DEFAULT ALTER TABLE ALTER DROP DEFAULT REMOVE TABLE REMOVE TABLE DELETE DROP TABLE INSERT INTO V ALUES UPDA TE SET WHERE DELETE FROM WHERE INPUT ACCEPT WAIT STORE IF ELS ENDIF DO CASE ENDCASE DO WHILE ENDDO LOOPEXIT FOR ENDFOR SCAN ENDSCAN SET PROC TO DO WITH PARA PUBLIC PRIV LOCAL SET UDFP TO V ALUE REFERENCES CREATE FORM MODI FORM DO FORM RELEASE THISFORM THISFORM.RELEASE THISFORM.REFRESH CREATE MENU MODIFY MENU MNX DO MPR SET SYSMENU TO DEFALUT。
命令结构FoxPro的命令结构一般由命令动词、语句体和注释几部分构成。
如:LIST [范围] [[FIELDS 字段名列表] [FOR 条件][WHILE 条件] [OFF] [TO PRINT]常用子句范围:表示记录的执行范围,可以是下面几项其中之一:ALL 表示全部记录;NEXT n 表示从当前记录开始的以下n条记录;RECORD n 表示第n号记录;REST 表示从当前记录到最后一条记录。
FIELDS 字段名表:用于指定操作的字段,多个字段时用逗号分隔。
FOR条件:对满足条件的记录进行操作。
WHILE 条件:当遇到第一个不满足条件的记录时,停止命令执行。
以下命令中,大写的英文词为关键词,必须原样照写。
“常用子句”指以下几个可选子句:[范围] [FIELDS 字段名表] [FOR 条件] [WHILE 条件]命令中的“列表”,指用“,”分隔的各项。
如“字段名列表”就是将各个字段名用逗号分隔。
部分英文词的意义:Databasename 数据名tablename 数据表名filename 文件名Viewname 视图名arrayname 数组名提示:加下划线的为本课程要求掌握的命令。
一、数据库的建立、打开、关闭和删除建立数据库:CREATE DATABASE [databasename|?]从磁盘中删除数据库:DELETE DATABASE databasename|?打开数据库:OPEN DATABASE [EXCLUSIVE|SHARED][NOUPDATE]打开数据库设计器(允许用户按交互方式编辑当前数据库):MODIFY DATABASE [databasename|?]指定的数据库databasename为当前数据库。
指定当前的数据库:SET DATABASE TO [databasename]Databasename必须为已经打开的数据库。
如果省略数据库名称databasename,则不指定当前数据库(没有当前数据库)。
VF常用用命令(1)清除格式:CLEAR ALL(2)关闭格式:CLOSE ALL(3)退出VFP格式:QUIT(4)打开数据库格式:OPEN DATABASE<数据库文件名>[EXCLUSIVE|SHARED]示例:OPEN DATABASE 数据库1(5)打开数据表格式:USE <[数据库名.]数据表名|视图名> [IN 工作区] [ALLIAS 别名] [ORDER [TAG] 索引标识] [EXCLUSIVE|SHARED]示例:use 表1(6)绝对指针移动格式1:GO[TO] <TOP|BOTTOM|表达式>示例:use 表1Go 1(7)选择工作区格式:SELECT<区名|区号|别名|0>示例:use 表1 in 1use 表2 in 2select 1listselect 2list(8)赋值格式1:STORE<表达式>TO<内存变量列表>格式2:内存变量名=<表达式>(9)程序执行格式:DO<文件名[.扩展名]> [WITH <参数列表>](10)查询格式1:LOCA TE[范围]FOR|WHILE<条件>格式2:CONTINUE说明:可以在当前表中查找满足条件的记录。
并将所有满足条件的记录号记住。
可通过格式2命令逐一使指针指向各记录。
示例:use 表1locate for a>5use 表1locate for a>5?acontinue?acontinue?a(11)替换格式:REPLACE<字段1>WITH<表达式1>[,<字段2>WITH<表达式2>…=[范围][FOR|WHILE条件]示例:replace 字段名[all] with 目标值[for 条件](12)删除记录格式1:DELETE[范围] [FOR|WHILE条件]格式2:ZAP(13)恢复删除记录RECALL[范围] [FOR|WHILE条件](14)彻底删除记录格式:PACK(15)事务处理格式:READ EVENTS [OBJECT 对象编号]说明:激活所有已定义的,开始事件的处理,进入事务处理状态。
常用命令文件关联:对两个文件做关联时,作为标准的文件的条件字段要升序,关联时被操作文件在上,作为标准的文件在下,然后打开被操作文件输入命令查找zlmdm是否还有两个的命令:brow for “;” $zlmdmbrow for “;” $ztdm查看有两个子栏目代码的记录: brow for “;” $zlmdmbrow for “;” $zlmdmbrow for “;” $ztdm查看子栏目代码是否有数字0:brow for “0” $zlmdm查看专题代码是否有数字0:brow for “0” $ztdm生成报表:sele ztdm, count(ztdm) from dbf() group by ztdm统计各专题数量:count for “A” $ztdmzlmdm、ztdm进行统一:repl ztdm with subs(zlmdm,1,1) all排重:sele * from dbf() group by filename,ztdm into table 全做删除标记: Dele next (总数)光标放在第1条记录上带删除标记的分开排列 : inde on dele() to j分区时按zlmdm排序更方便,同时可找到不正常的zlmdm,按子栏目代码排序:inde on zlmdm to j两个表整合:打开文件,单击任务栏“表”-“追加记录”-选择要追加的文件-确认从表中复制数据生成新的表: COPY TO 用当前选定表的内容创建新文件去掉所有的删除标记:reca all彻底删除:任务栏“表”—“彻底删除”打开文件,先在数据工作区窗口关联,再用:repl 字段 with 关联文件.字段 for pykm=华东农业2009整刊导航.pykm ??把当前打开的文件的text字段换成关联文件的text字段,条件是打开文件的filename=关联文件的filename :Repl text with关联文件.text for filename=关联文件.filenameAPPEND FROM e:\工作\cacj200906月更新\cacj200906月更新1.dbf copy to E:\casj1221_1223日更新zhk for pykm=科技版casj整刊2new.pykm (dele for pykm<>西南农业2009整刊导航.pykm)repl zlmdm with "Z"+科技版casj整刊2new.casjzj for pykm=科技版casj整刊2new.pykm删除整刊数据filename中与分类库数据相同的:delet for filename=casj1221_1223日更新a.filename生成报表:sele ztdm, count(ztdm) from dbf() group by ztdm报表中总计:sele *, count(filename) from dbf() group by filename将期刊中删除数据复制出来:copy to (文件路径和文件名) for delet()期刊导数据时替换整刊库title、text字段的命令:repl title with 数据总库.title for filename=数据总库.filenamerepl text with 数据总库.text for filename=数据总库.filename报纸导出数据用到得命令:Copy to (文件路径和文件名)BJA for classfyno=”BJA”Copy to (文件路径和文件名)BJC for classfyno=”BJC”Copy to (文件路径和文件名)622 for classfyno=”BJ622”Repl ztdm with “C” allRepl zlmdm with “BJC” allRepl ztdm with “1” for zlmdm=”BJA1”导出报表:sele ztdm, count(ztdm) from dbf() group by ztdmsele filename, count(filename) from dbf() group by filename 另一个命令sele * from dbf() group by filename期刊月更新时用到的命令:copy to E:\casj060101日更新牛(文件名) for zlmdm="2A32" copy to E:\casj060101日更新羊(文件名) for zlmdm="2A42" copy to E:\casj060101日更新鸡(文件名) for zlmdm="2A92" copy to E:\casj060101日更新猪(文件名) for zlmdm="2A52" repl ztdm with "F" allrepl zlmdm with "F324" all(鸡)repl zlmdm with "F321" all(牛)repl zlmdm with "F322" all(羊)repl zlmdm with "F323" all(猪)在thname中替换filename的前十位:repl thname with subs(filename,1,10) all将filename中的空格剔除:update casd set filename=strtran(filename,space(1),space(0)) 将dbf中数据1-100copy出来:copy to D:\农村版期刊库数据\2009西北、西南农业\cacj20090102合期华东农业111 next 100(光标放在第一条数据上)REPLACE all title1 with title做光盘数据时需要的命令:dele for re>5(首先插入一个re的字段,数值型,10,然后运行1.prg的程序,排序,该命令意思是将re栏目中数据中数值大于5的做删除标记)qbe做数据中用到的命令:将ztdm替换为3,替换条件是zlmdm=BJA3update CASNTEMP set 专题代码=3where 子栏目代码=BJA3排序命令:order by 子栏目代码select * from CASDTEMP where order by 子栏目代码更改光盘号的命令:update CASNTEMP set 光盘号=CASNTEMP农村版期刊常用命令Repl ztdm with "Z" allrepl zlmdm with "Z"+Cacj光盘zhk库导航(北方)new.cacjzj for pykm=Cacj光盘zhk库导航(北方)new.pykmrepl year with subs(thname,5,4) alldele for year=”2006”dele for zlmdm<>cacj20080102N.zlmdm制作年期表,导出thname表:sele thname, count(thname) from dbf() group by thnamesele *, count(thname) from dbf() group by thname into table d:\ dele for pykm<>___导航.pykm追加年:repl year with subs(thname,5,4) all追加期:repl num with subs(thname,9,2) allrepl colname with Cacj光盘zhk库导航(北方).colname for pykm=Cacj光盘zhk库导航(北方).pykmcykm:repl cykm with 华东农业2009整刊导航.曾用刊名 for pykm=华东农业2009整刊导航.pykm按colcode和thname排序:index on colcode-thname to krepl colcode with Cacj光盘zhk库导航(北方)new.colcode for pykm=Cacj光盘zhk库导航(北方)new.pykm查找zlmdm是否还有两个的命令:brow for “;” $zlmdm1、CREATE作用:建立一个新的表。
主要命令1 .CREATE 作用:建立一个新的表。
格式:CREATE [<文件>|?](注意,命令字符可取前面四个字符,后面可省略不写,即CREA,下同;中括号表示其中的参数是可选的;|管道符号表示两个参数只能选择一个,不能同时选择,下同。
)说明:文件指建立以.dbf为扩展名的VFP数据库文件,在命令后面加上一个问号表示系统会弹出对话框,要求用户输入想要建立的表名。
在命令中不加文件名或问号系统也会弹出对话框,要求用户输入想要建立的表名。
2、MODIFY STRUCTURE 作用:显示表文件结构,并允许修改此表的结构。
格式:MODIFY STRUCTURE说明:只有在用USE命令打开表文件以后,才能显示或修改表文件的结构。
3、APPEND 作用:在当前表的尾部(无论表中有无记录)追加记录(在当前表指当前正使用的表)。
格式:APPEND [BLANK]说明:在APPEND命令后面加上BLANK参数表示在当前表的尾部添加一条空白记录。
无BLANK 参数时,表示在当前表的尾部添加一条记录并要求用户输入相应的字段内容。
4、INSERT 作用:在表文件中间插入一个新记录。
格式:INSERT [BEFORE] [BLANK]说明:INSERT 在当前记录后插入一记录;INSERT BEFORE 在当前记录前插入一记录;INSERT BEFORE BLANK 在当前记录前插入一空记录。
INSERT - SQL命令追加记录INSERT INTO 表名[(字段1[,字段2…])];VALUES(表达式1[,表达式2…])例:INSERT INTO XS(XH,XM,XB,XIMING)VALUES(“950106”,“高山”,“男”,“”)5、UPDATE作用:修改数据update <表名> set <字段1=表达式1>,<字段2=表达式2...> where <条件>例: update <表名> set <字段1,字段2...>=<表达式1,表达式2...> where <条件>6、BROWSE作用:主要用于打开浏览窗口,查阅表文件并同时进行修改。
VFP常用编程命令及常用函数常用编程命令及常用函数注:在语法中如用方括号“[]”括起来的词句,表示可以不用。
常用命令假设(if...endif) 循环(dowhile...enddo)分支(do case...endcase)赋值(store...to) 调用表单(do form) 调用子程序(do)返回调用程序(return) 启动事件处理(readevents)清除事件处理(clearevents)开关命令执行状态(set talkon/off)结束程序(cancel)常用函数数值转换字符(str()) 字符转换数值(val()) 取系统日期(date())取年份(year()) 取月份(month()) 取天日(day())取整(int()) 四舍五入(round()) 删除标记(delete())记录号(recno()) 记录数(reccount()) 找到记录(found())表结尾(eof()) 表开头(bof()) 消除后续空格(trim())消除前导空格(ltrim())假设语句根据一逻辑表达式的值,有条件的执行一组命令。
语法:IF 逻辑表达式 [THEN]程序组1[ELSE程序组2]ENDIF参数:逻辑表达式代表一逻辑值,如果这逻辑值为真,系统执行程序组1,否则不执行程序组1,如果有else及程序组2的话,则执行程序组2,如没有则什么也不执行,直接执行endif后面的语句。
备注:在if...endif之间还可以有if...endif,即该命令是可以嵌套的。
then可以有也可以没有,对程序没有影响。
else及程序组2可以有也可以没有,但如果有的话,在逻辑表达式的值为假时,程序组2将被执行。
if 与endif必须配对使用,即有一个 if 必须有一个endif,否则程序会出错。
举例:例1:假如分数字段的值大于等于90,则让等级字段的值为“优”,并显示该记录。
程序如下:if 分数>=90replace 等级 with '优'displayendif例2:在数据库中可以把性别字段设为逻辑型,“真”代表“男”,“假”代表“女”,但显示时不能显示真、假,否则别人看不懂,而应显示男、女,因此我们设一变量xb,根据性别字段的具体值,将xb的值设为男或女,然后在需要的时候显示xb的值即可。
基本操作:1、新建数据库命令:CREATE <文件名>2、打开数据库命令:USE <文件名>3、浏览数据库命令:BROWSE4、查找记录命令:LOCATE 例:Loca all for 性别=’女’Loca all for 工资>160.00 .AND. 工资<180.00常和继续查找命令CONTINUE连用。
FIND 例:find <字符串>/<n>使用前需要先排序。
SEEK 例:seek <表达式>表达式是字符串时,必须用“”引起来。
如seek “卫明”5、增加库记录命令:APPEND &&增加记录命令APPEND BLANK &&增加一条空记录APPEND FROM <文件名> [FOR<表达式>] &&从一个文件复制记录到现行数据库中6、插入记录命令INSERT格式:insert [blank] [before]use <文件名>go 5insert before7、库记录的删除DELETE格式:DELETE [<范围>] [FOR<表达式>] [WHILE<表达式>]功能:给符合条件的库记录加上删除标记。
例:delete all for 性别=’女’PACK格式:PACK功能;把打开的数据库文件中作过删除标记的记录真正删除掉。
ZAP格式:ZAP功能;从打开的数据库文件中删除所有记录8、恢复命令RECALL格式;RECALL [<范围>] [FOR<表达式>] [WHILE<表达式>]功能;恢复打开的数据库文件中带有删除标记的记录9、库记录的修改EDIT格式:EDIT [<范围>] [FIELDS<字段名表>] [FOR<表达式>] [WHILE<表达式>]CHANGE格式:CHANGE [<范围>] [FIELDS<字段名>] [FOR<表达式>] [WHILE<表达式>]BROWSE格式:BROWSE [FIELDS<字段名>] [LOCK<表达式>] [FREEZE<字段名>]10、替换命令REPLACE格式;REPLACE [<范围>] <字段名1> WITH <表达式1> [,<字段名2> WITH<表达式2>…] [FOR<表达式>] [WHILE<表达式>]功能:用来替换打开的数据库文件中指定字段的数据。
•求整函数–int (<数值表达式>) 功能:返回整数部分–Ceiling (<数值表达式>) 功能:返回大于或等于它的最小数–floor (<数值表达式>)功能:返回小于或大于它的最大数•四舍五入函数–round (<数值表达式1>,<数值表达式2>)•求字符串函数–len (<字符表达式>) 功能:返回指定字符表达式值的长度•大小写转换函数–lower (<字符表达式>) 功能:字母转成小写,字符不变–Upper (<字符表达式>)功能:字母转成大写,字符不变•空格字符串生成函数–space(<数值表达式>)功能:返回由指定数目的空格组成的字符串。
•删除前后空格函数–rtrim (<字符表达式>)功能:去掉尾部空格后形成的字符串–Ltrim (<字符表达式>)功能:去掉前导空格后形成的字符串–alltrim (<字符表达式>)功能:去掉前导和尾部空格形成的字符串•求子串函数–left (<字符表达式>,<长度>) 功能:取左边–Right (<字符表达式>,<长度>)功能:取右边–substr (<字符表达式>,<起始位置>,<长度>) 功能:从起始开始取起,作为函数值•日期和时间函数–date () 功能:返回系统当前日期,函数值:日期型–Time () 功能:以hh:mm:ss格式返回当前时间,为字符型–Datetime () 功能:返回当前日期时间,函数值:日期型•求年份、月份、天数函数(返回值:数值型)–year (<日期表达式>|<日期时间表达式>):从指定日期当中返回年份–Month (<日期表达式>|<日期时间表达式>):从指定日期当中返回月份–Day (<日期表达式>|<日期时间表达式>):从指定日期当中返回天数•时、分、秒函数(函数值:数值型)–hour (<日期时间表达式>) 功能:返回小时部分–Minute (<日期时间表达式>)功能:返回分钟部分–Sec (<日期时间表达式>)功能:返回秒数部分•数值转换成字符串–str (<数值表达式>[,<长度>[,<小数位数>]]):将<数值表达式>的值转成字符串,转换时根据需要自动四舍五入。
VF常用命令及其格式1、打开表命令:USE表文件名2、关闭表命令:USE、CLOSE ALL3、记录指针定位命令:GO数值表达式(绝对移动)、SKIP(相对移动)4、替换(修改)记录命令:REPLACE字段1WITH表达式1.,字段2WITH表达式2…..[范围][FOR﹤条件﹥]5、复制表命令:COPY TO新文件名[FOR﹤条件﹥][范围]复制表结构命令:COPY STRU TO新文件名[FIEL﹤字段名表﹥]6、建立索引命令:INDEX ON关键字段TO单索引文件名INDEX ON关键字段TAG索引标识名7、查询命令:(1)条件查询:LOCATE FOR﹤条件﹥继续查找命令:CONTINUE(2)索引查询:FIND字符表达式SEEK表达式继续查找命令:SKIP8、选择工作区命令:SELE工作区号︱别名9、建立表之间的关系命令:SET RELATION TO关联表达式INTO别名10、表的更新命令:UPDATE ON关键字段FROM别名REPLACE字段1 WITH表达式1,字段2 WITH表达式2......[RANDOM]11、交互式输入命令:(1)INPUT[提示信息]TO内存变量(2)ACCEPT[提示信息]TO内存变量12、输出命令:?和??常用命令:1、设置默认路径命令:SET DEFA TO盘符:\路径2、关闭命令:CLOSE TABLE,CLEAR ALL3、记录显示命令:LIST/DISP[范围][FOR﹤条件﹥]4、追加记录命令:(1)表尾追加:APPEND[BLANK](2)表中插入:INSERT[BEFORE][BLANK](3)从其他文件中追加多条记录到当前表:APPEND FROM文件名[FOR﹤条件﹥][FIEL﹤字段名表﹥]5、删除记录命令:DELE[范围][FOR﹤条件﹥]6、彻底删除带标记记录命令:PACK7、取消删除标记命令:RECALL[范围][FOR﹤条件﹥]8、物理删除表中所有记录命令:ZAP9、复制任何类型文件:COPY FILE﹤文件名1﹥TO﹤文件名2﹥10、将单个记录发送到数组:SCATTERTO﹤数组名﹥[FIEL﹤字段名表﹥]11、将数组中的值发送到当前记录命令:GATHER FROM数组名12、将表中多条记录传送到数组命令:COPY TO ARRAY数组名13、将二维数组中的值传送到表中:APPEND FROM ARRAY数组名14、表的排序命令:SORTON﹤字段1﹥/A︱/D,字段2/A︱/Dto新表文件名15、打开索引文件命令:SET INDEX TO索引文件名表16、设置主控索引命令:SET ORDER TO单索引文件名︱TAG索引标识17、更新索引文件命令:REINDEX18、关闭索引文件:SETINDEXTO、CLOSEINDEX、CLOSEALL、CLEARALL、USE 19、删除索引标识命令吗:DELE TAG索引标识名删除单索引文件命令:DELE FILE单索引文件名20、表的浏览命令:BROWSE21、记录的过滤命令:SET FILTER TO条件22、字段的过滤命令:SET FIELDSS TO字段表名23、表之间的连接命令:JOIN WITH别名TO新表文件名FOR条件24、设置一对多关系命令:SET SKIP TO别名25、数据库相关命令:打开:OPEN DATA数据库名新建:CREAT DATA数据库名修改:MODI DATE数据库名关闭:CLOSE DATA、CLOSE DATA ALL、CLOSE ALL、CLEAR ALL设置当前数据库命令:SET DATA TO数据库名26、程序相关命令:建立/修改程序:MODI COMMAND程序文件名运行程序:DO程序文件名27、内存变量/数组赋值命令:=、STORE28、交互式输入命令:@行,列SAY表达式GET变量29、文本输入命令:TETX﹤输出显示内容﹥ENDTEXT30、终止程序执行命令:CANCEL、QUIT、RETURN31、清除主屏幕命令:CLEAR32、系统设置命令:(1)设置精确比较命令:SET EXACT ON/OFF(2)设置删除标记命令:SET DELE ON/OFF。
一、数据库的建立、打开、关闭和删除 (1)二、数据表和视图的建立、打开、关闭和删除 (2)三、数据表和表结构的编辑、修改 (2)四、数据表中数据操作(查询、插入、删除和修改等) (3)五、文件管理(文件和文件夹的复制、创建和删除) (5)六、数据的复制与传送 (5)七、排序与索引 (6)命令结构FoxPro的命令结构一般由命令动词、语句体和注释几部分构成。
如:LIST [范围] [[FIELDS 字段名列表] [FOR 条件][WHILE 条件] [OFF] [TO PRINT]常用子句范围:表示记录的执行范围,可以是下面几项其中之一:ALL 表示全部记录;NEXT n 表示从当前记录开始的以下n条记录;RECORD n 表示第n号记录;REST 表示从当前记录到最后一条记录。
FIELDS 字段名表:用于指定操作的字段,多个字段时用逗号分隔。
FOR条件:对满足条件的记录进行操作。
WHILE 条件:当遇到第一个不满足条件的记录时,停止命令执行。
以下命令中,大写的英文词为关键词,必须原样照写。
“常用子句”指以下几个可选子句:[范围] [FIELDS 字段名表] [FOR 条件] [WHILE 条件]命令中的“列表”,指用“,”分隔的各项。
如“字段名列表”就是将各个字段名用逗号分隔。
部分英文词的意义:Databasename 数据名tablename 数据表名filename 文件名Viewname 视图名arrayname 数组名提示:加下划线的为本课程要求掌握的命令。
一、数据库的建立、打开、关闭和删除建立数据库:CREATE DATABASE [databasename|?]从磁盘中删除数据库:DELETE DATABASE databasename|?打开数据库:OPEN DATABASE [EXCLUSIVE|SHARED][NOUPDATE]打开数据库设计器(允许用户按交互方式编辑当前数据库):MODIFY DATABASE [databasename|?]指定的数据库databasename为当前数据库。
一.常用命令1.CREAT E TAB LE-SQ L创建一个含有指定字段的表。
2.A LTERTABLE-SQL以编程方式修改表的结构。
3.SELE CT激活指定工作区。
4.USE打开一个表及其相关索引文件,或打开一个SQ L视图。
5.CL OSE T ABLES关闭所有打开数据库中的所有表。
6.COPYSTRUC TURE用当前选择的表结构创建一个新的空自由表。
7.C OPY T O用当前选定表的内容创建新文件。
8.RENA ME TA BLE重命名当前数据库中的表。
9.BROWS E打开浏览窗口。
10.A PPEND在表的末尾添加一个或多个新记录。
11.APP END F ROM从一个文件中读入记录,添加到当前表的尾部。
12.GO/GO TO将记录指针移到指定记录上。
13.LOCA TE按顺序搜索表,从而找到满足指定逻辑表达式的第一个记录。
14.SEEK在一个表中搜索首次出现的一个记录。
15.SKI P使记录指针在表中向前或向后移动。
16.CO NTINU E继续执行先前的L OCATE命令。
17.ED IT显示要编辑的字段。
18.DEL ETE给要删除的记录做标记。
19.DELET E-SQL给要删除的记录做标记。
20.PAC K从当前表中永久删除有删除标记的记录。
21.RECAL L恢复所选表中带删除标记的记录。
22.ZAP从表中删除所有记录。
23.INSE RT-SQ L在表尾追加一个包含指定字段值的记录。
24.REPLA CE更新表的记录内容。
25.UPD ATE-S QL以新值更新表中的记录。
26.S ET EX CLUSI VE指定Visua l Fox Pro在网络上是以独占方式,还是以共享方式打开表文件。
VF常用命令2007-09-16 19:42!命令功能:执行外部操作命令程序语法:RUN[/N [K> MS-DOSCommand|ProgramName 或者 ![/N [K>MS-DOSCommand|ProgramName$操作符功能:如果一个字符型表达式包含在另一个字符型表达式中返回真值(.T.),否则返回假值(.F.)语法:cSearchFor$cScarchIn(如果在cSearchIn中找到了cSearchFor则返回真)%操作符功能:返回一个数值型表达式除以另一个数值型表达式所得的余数。
语法:被除数%除数&操作符功能:执行宏替换语法:& VarName(内存变量名或数组元素名)?|??命令功能:计算机表达式的值,并输出计算结果。
???命令功能:把结果直接输出到打印机AADD TABLE 命令功能:在当前数据库中添加一个自由表语法:ADD TABLE TableNameALTER TABLE——SQL 命令功能:以编程方式修改表的结构语法:ALTER TABLE TableName1 (表名)ADD|ALTER [COLUMN]FieleName1 (ADD为添加字段名,后为修改字段名。
ADD改为DROP表示删除字段)FieldType[(nFieldSidth[,nPrecision])] (字段的类型、宽度和字段精度)[NULL | NOT NULL] (是否允许字段为空值)[CHECK 1Expression1 [ERROR cMessageText1> (指定了字段的有效性规则)[DEFAULT eExpression1] (指定了字段默认值)[PRIMARY KEY | UNIQUE] (指定了创建主索引标识,索引标识与字段同名)[REFERENCES TableName2 [TAG TagName1> (指定了与之建立永久关系的父表)APPEND 命令功能:在表的末尾添加一个或多个新记录语法:APPEND [BLANK] (添加一个空记录)[IN nWorkArea | cTableAlias] (指定要添加新记录的表所在的工作区|要添加新记录的表的别名)[NOMENU]APPEND FROM 命令功能:从一个文件中读入记录,添加到当前表的尾部。
VF常用命令和程序命令一、主要命令:
1、CREATE
作用:建立一个新的表。
格式:CREATE [<文件>|?](注意,命令字符可取前面四个字符,后面可省略不写,即CREA,下同;中括号表示其中的参数是可选的;|管道符号表示两个参数只能选择一个,不能同时选择,下同。
)
说明:文件指建立以.dbf为扩展名的VFP数据库文件,在命令后面加上一个问号表示系统会弹出对话框,要求用户输入想要建立的表名。
在命令中不加文件名或问号系统也会弹出对话框,要求用户输入想要建立的表名。
2、MODIFY STRUCTURE
作用:显示表文件结构,并允许修改此表的结构。
格式:MODIFY STRUCTURE
说明:只有在用USE命令打开表文件以后,才能显示或修改表文件的结构。
3、APPEND
作用:在当前表的尾部(无论表中有无记录)追加记录(在当前表指当前正使用的表)。
格式:APPEND [BLANK]
说明:在APPEND命令后面加上BLANK参数表示在当前表的尾部添加一条空白记录。
无BLANK参数时,表示在当前表的尾部添加一条记录并要求用户输入相应的字段内容。
4、INSERT
作用:在表文件中间插入一个新记录。
格式:INSERT [BEFORE] [BLANK]
说明:INSERT 在当前记录后插入一记录;
INSERT BEFORE 在当前记录前插入一记录;
INSERT BEFORE BLANK 在当前记录前插入一空记录。
5、BROWSE
作用:主要用于打开浏览窗口,查阅表文件并同时进行修改。
格式:BROWSE
6、USE
作用:打开和关闭表文件。
格式:USE [<文件名>]
USE
说明:前一个命令用来打开<文件名>指定的表文件,该表如有备注型字段,则同时打开相应的备注文件(.fpt文件);后一个命令关闭当前打开的表文件。
7、LIST和DISPLAY
作用:显示表(.dbf)的内容、结构或状态。
格式:LIST|DISPLAY [OFF] [<范围>] [FIELDS] <表达式表> [WHILE <条件>] [FOR <条件>] [TO PRINT|TO FILE <文件>]
LIST|DISPLAY STRUCTURE TO PRINT|TO FILE <文件>]
LIST|DISPLAY STATUS [TO PRINT|TO FILE <文件>]
说明:命令带OFF参数表示不显示记录号,范围指定对哪些记录进行操作,范围包括:RECORD n 第几号记录、NEXT n 当前记录开始的几个记录、REST 自当前记录开始至文件末尾的所有记录、ALL 所有的记录。
不选范围则隐含范围为ALL;FIELDS后跟字段名,字段名与字段名之间用逗号分
隔。
WHILE后跟条件,FOR后面也跟条件,区别是,WHILE后的条件如果满足,便停止查找;FOR
后的条件查找所有满足条件的记录。
TO PRINT和TO FILE <文件>分别表示将显示结果在打印机上打印出来和将显示结果输出到文件。
DISPLAY命令在显示记录满屏后,要求用户按任意键继续显示,并且在
该命令中,如果省略范围仅显示当前记录。
格式中,下面两个命令分别为显示表结构(STRUCTURE)和工作状态(STATUS)。
8、记录的定位
作用:用记录指针(POINTER)定位记录。
格式:GO[TO] RECORD n|TOP|BOTTOM
n
SKIP [+|-]
说明:第一个命令又叫绝对定位,其中,RECORD n定位到n号记录,TOP定位到第1个记录,BOTTOM定位到最后一个记录。
第二个命令定位到第n个记录,n是一个数值。
第三个命令又叫相对定
位,它以当前记录为基准前移(-)或后移(+)n个记录,不选任选项,则默认记录指针后移一个记录。
9、CHANGE和EDIT
作用:显示要编辑或修改的字段。
格式:CHANGE|EDIT [<范围>] [FIELDS <字段名表>] [WHILE <条件>] [FOR <条件>]
10、BROWSE
作用:打开一个"浏览"窗口,供用户浏览或修改记录。
格式:BROWSE [FIELDS <字段名表>]
11、REPLACE
作用:用表达式的值代替命令中与之相对应的字段的内容。
格式:REPLACE [<范围>] <字段1> WITH <表达式1>[,<字段2> WITH <表达式2>] [FOR <条件>] [WHILE<条件>]
12、DELETE、PACK、ZAP和RECALL
作用:分别是给要删除的记录作删除标记、彻底删除、删除所有记录和取消被选中的表记录的删除标志。
格式:DELETE [<范围>] [WHILE<条件>] [FOR <条件>] (特例:DELETE FILE FILENAME.DBF,该命令删除指定的表文件)
PACK
ZAP
RECALL [<范围>] [FOR <条件>] [WHILE<条件>]
13、SORT和INDEX
作用:分别是建立一个其记录以新的物理顺序排列的新表文件和对当前表根据关键字表达式的值从小到大排列,并存入TO后指定的索引文件名的文件或复合索引文件的一个标识中。
格式:SORT TO <文件名> ON <字段名1> [/A] [/C] [/D][,<字段名2> [/A] [/C] [/D]]... [ASCENDING|DESCENDING] [<范围>] [FOR <条件>] [WHILE<条件>] [FIELDS<字段表>]
INDEX ON <关键字表达式> TO <文件名>
INDEX ON <关键字表达式> TAG <标识名> [OF <文件名>] [FOR <条件>]
说明:第1个命令中,/A按字段名升序排序,/D按字段名降序排序,/C忽略大小写,针对字符型
关键字而言,ASCENDING和DESCENDING分别表示升序和降序。
第1个命令建立.dbf表文件,第2个命令
建立.idx单一索引文件,第3个命令建立.cdx复合索引文件(Compound Index)。
14、USE <表文件名> INDEX <索引文件名表>、SET INDEX TO和SET ORDER TO
作用:分别是打开表文件的同时打开索引文件、打开索引文件和改变主索引。
格式:USE <表文件名> INDEX <索引文件名表>
SET INDEX TO [<索引文件名表>]
SET ORDER TO [<索引文件名>](特例:重新索引命令:REINDEX)
15、FIND、SEEK和LOCATE及CONTINUE
作用:前两个命令FIND和SEEK是在一个已经建立了索引文件的表中,定位到关键字中的内容与命
令行中字符串相同的第一个记录。
后一个命令在用USE打开表文件以后,直接查询表中字段内容。
格式:FIND <"字符串">|<字符串>SEEK <表达式>
LOCATE [<范围>] [FOR <条件>] [WHILE<条件>]
CONTINUE
说明:FIND命令与SEEK命令的区别是前者后跟字符串,而后者后跟表达式。
在用LOCATE命令找到
一个匹配记录后,可用CONTINUE命令搜索表的剩余部分来寻找其他匹配的记录。
16、COUNT
作用:统计当前表文件中符合条件的记录数。
格式:COUNT [<范围>] [FOR <条件>] [WHILE<条件>] [TO <内存变量名>]
说明:内存变量名可用除参数外的任意字符。
17、SUM
作用:对当前表中选中记录的全部或指定的数值字段或由指定字段组成的数值表达式累加求和。
格式:SUM [<范围>] [数值<表达式>] [TO <内存变量名表>] [FOR <条件>] [WHILE<条件>]。