VF中的命令格式说明.doc_第1页
VF中的命令格式说明.doc_第2页
VF中的命令格式说明.doc_第3页
VF中的命令格式说明.doc_第4页
VF中的命令格式说明.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

补充:VF中的命令格式说明:(1)、VF中命令可以只写前四个字母或四个字母以上 例如命令replace,可以写成repl repla replac 字母不区分大小写。(2)、如果命令带有参数,则命令和参数间、参数与参数间要加空格(3)、命令格式说明:表示必选项目 表示可选项 | 表示二选一 例如:P58 copy stru to 命令(4)、注意:所有的字符都要使用半角字符(5)、命令和参数、参数和参数之间需要用空格隔开 例如:P48【例4-5】(6)、一般来讲,参数和参数之间的顺序可以相互交换 例如:P48【例4-5】(7)、命令执行时必须回车(8)命令换行:每条命令最多不能超过8192个字符(包括括号)。若屏幕一行不能显示,可用分号“;”换行。换行时仍然需要回车。注意:命令工作方式中常见的错误(1)命令动词写错(2)格式不符合要求标点符号不对(一定要用英文状态的标点)缺少必需的空格或添加了不该有的空格数据类型不一致,要注意字符型、日期型、逻辑型数据的书写格式(3)打不开所需要的文件:没有正确输入盘符和路径或文件名输入错误重要提示:VFP中的符号应该都是半角符号(即英文标点符号)! 这个是对的 这个是错的 第四章 表的建立和操作4.1建立数据表文件一、表结构的建立1、命令方式命令格式:(1)CREAT TABLE ( (长度), ()例如:CREAT TABLE 选课表(学号 C(8),课程号 C(4),成绩 N(3)(2)create |?例如:create xsda2、菜单方式文件菜单-新建- 表-新件文件注意: 希望大家能有好的保存习惯设置默认目录方法: 1、工具=选项=文件位置=默认目录2、set default to 完整路径如:set defa to e:vf 二、数据的输入1、立即输入(1)、备注型数据的输入方法:光标定位“memo”处,双击鼠标。输入、编辑结束后,点击编辑窗口的“关闭”按钮,VFP会自动将修改后的数据保存)返回到数据输入的正常状态;按+或Esc键则清除当前输入的信息,返回到数据输入的正常状态。(2)、通用型数据的输入(同上)打开窗口后,通过VFP的“编辑”菜单的“粘贴”或“插入对象”选项来完成 注意:1、数据输入时不要有空格2、关闭就存盘3、如字段名输错、字段宽度或类型设计错、多输或少输了字段名、字段位置调整 可使用:(1)显示菜单-表设计器(2)在命令窗口中输入命令Modify structure(3)如果字段值需要修改,可输入命令browse。或点击显示菜单的“浏览”和“编辑”选项也可以进行操作。(4)如果要添加新的记录输入append。或在“显示”菜单里选择“追加方式”选项 4、备注型:宽度为4。系统默认显示为memo或者Memo(有内容时)通用型:宽度为4。系统默认显示为gen或者是Gen(有内容时)4个字节存放的是地址指针,指向备注文件(文件名和表文件名一样,扩展名为.FPT)对应的内容。重要提示:只要表中有备注或者通用字段(不管是一个或者多个),或者两个同时都有,系统就会自动产生一个与表文件名相同的备注文件,扩展名为FTP 。用于存放备注型和通用型字段的内容4.2表的打开、显示和关闭一、打开表1、打开表(1)命令方式 【格式】USE | ? 【功能】在当前工作区打开一个表文件 注:表文件名如没有加路径则默认打开c:program filesmicrosoft visual studiovfp98下的表文件。在打开表文件的同时同名的备注文件和复合索引文件也同时打开(2)菜单方式单击“文件”菜单中的“打开”选项 (打开时请将“独占”选项选中,否则表不能进行修改)注意:(1)、表建立时就会被打开。(2)、表是否被打开可查看状态栏是否显示有表名。或看“显示”菜单。 在窗口上是不会有任何的显示。想要查看记录可用命令或选择菜单项来完成。二、 关闭表 命令方式【格式 1】USE功能: 关闭当前工作区中正打开的表文件及其索引文件。【格式 2】CLOSE ALL 功能:关闭所有工作区中的所有各类型文件,但不释放内存变量,并选择工作区1为当前工作区 【格式 3】CLOSE 例如:CLOSE DATABASES CLOSE TABLE 关闭打开的所有表文件、索引文件、备注文件、格式文件并选择工作区1为当前工作区。【格式 4】CLEAR ALL功能:关闭所有工作区中的所有表及各类型文件,并释放内存变量。三、表记录的显示1、显示文件记录的两个命令(list和 display)LIST OFF FIELDS FOR/ WHILE TO PRINTER | TO FILE 【功能】:显示当前表文件中指定的记录和字段的内容。【说明】: (1)范围:用于确定执行该命令涉及的记录。有如下几种 all :全部记录 next :从当前记录开始的N条记录 record :第N条记录 rest :当前记录起到最后一条记录为止的所有记录 注意:如没指定范围,则LIST命令默认范围为ALL(即全部记录);DISPLAY默认范围为当前记录。例如:Use 学生登记表DISPLISTGO 2LIST NEXT 3LIST RECORD 4GO 3LIST RESTLIST ALL(2)FIELDS 子句:用于确定需要操作的字段例如: Use 学生登记表List fields 学号,姓名,性别,入校总分Go topList next 3 fields 学号,姓名,出生年月(3)for :为逻辑表达式,用于指定选择记录的条件。在LIST命令中没有指定范围时默认是所有的记录中筛选。例如:Use 学生登记表List for 入校总分570.00 &显示入校总分大于570的记录List for left(姓名,2)=“李” &显示姓李的同学List for substr(姓名,1,2)=“李” and 性别=“男”&显示姓李的男生Go topList rest for year(出生年月)1980 and 性别=女 or 入校总分580 fields 姓名,性别,出生年月,入校总分优先级:for/while 的优先级最高 然后是 范围 ,最后才是list和display (4)while :用于条件筛选,但仅在当前记录符合条件时开始筛选,一旦遇到不满足条件的记录时就停止筛选。例如:Go topList while left(姓名,2)=“魏”Go 2List while 性别=“男”注意:FOR 子句默认范围是全部记录筛选While子句则遇到不满足条件的记录就停止(5) OFF选项:在命令中使用时不显示记录号(6) To printer: 到打印机To file : 这里的文件类型是TXT List和display异同: 1、list默认显示是全部记录,display默认显示是当前记录 2、如有多条记录, LIST以滚动方式输出,DISPLAY以分屏方式输出3、如命令中指定了条件或范围,则两条命令结果相同思考下列命令的显示结果:Use 学生登记表Disp?recno(),eof(),bof()List?recno(),eof(),bof()disp2、浏览窗口显示记录(了解)BROWSE FILESDFORREST【功能】:打开浏览窗口四、记录指针的定位1、记录指针的绝对移动(1)命令方式【格式】GOTO RECORD | top| bottom 【功能】将当前表文件的记录指针定位到指定记录号的记录处。【说明】A、选项代表所要定位记录的记录号,该记录号不能小于1也不能大于记录总数加1。B、TOP选项代表将当前表文件的记录指针定位到第一个记录(首记录)C、BOTTOM选项将当前表文件的记录指针定位到最后一个记录(尾记录)注:相关函数说明:(1)RECNO():显示当前记录号(2)BOF() :begin of file:文件开始,第一条记录的前面,记录号为1 (3)EOF():end of file:文件结束,最后一条记录的后面,记录号为最后一条记录的记录号+1 例如:use 学生登记表?recno() &测试当前记录号,显示为1GO 4 &将记录指针指向第4条记录?Recno() &测试当前记录号,显示为1Go bottom ?Recno() &显示最后一条记录的记录号Go top?recno() &显示首记录的记录号2、记录指针的相对移动【格式】SKIP 【功能】以当前表文件的当前记录位置为基准,记录指针向前或向后移动值到相应的记录位置。 【说明】(1)选项代表相对移动的记录数。若值为正数则向文件尾的(2)方向移动记录指针;若值为负数则向文件头的方向移动记录指针。若缺省,相当于执行SKIP 1,则指针向表尾移动一个记录。 若执行此命令前执行了SET DELETED ON命令,则SKIP命令将不把具有删除标记的记录计算在内。(了解)例如:use 学生登记表?recno() ,bof(),eof() &显示为1 .f. .f.Skip -1 ? recno() ,bof(),eof() &显示为1 .t. .f.Skip 3? recno() ,bof(),eof() &显示为4 .f. .f.Skip? recno() ,bof(),eof() &显示为4 .f. .f.Skip 2? recno() ,bof(),eof() &显示为6 .f. .t.4.3 表的修改与编辑一、修改表结构(1)显示菜单-表设计器(2)在命令窗口中输入命令Modify structure二、修改记录1、全屏编辑CHANGE/EDIT FIELDSFOR/WHILE功能:对指定范围内,符合条件的那些记录的指定字段进行编辑修改。说明:若命令写声EDIT,则是对记录号指定的记录进行修改。可连续修改多个记录,修改完成后,按CTRL+W存盘并结束修改。2、自动替换(重点)(1)命令方式命令:REPLACE FOR/WHILE字段名1 WITH 表达式1ADDITIVE, WITH ADDITIVE功能:在当前表的指定记录中,直接将字段值用指定的表达式值来替换。说明:该命令对内符合的记录用的值来替换的值.若范围和条件等选项都缺省,只对当前记录的有关字段进行替换.ADDITIVE用于备注型字段,表示将表达式值添加到字段的原有内容后,而不是取代原有内容.例1:给表学生.dbf增加一个字段年龄并且自动替换:先modi comm , 插入年龄字段 N(3)replace all 年龄 with year(date()-year(出生年月)例2: 如果一张表有语文、数学、外语和总分四个字段,而前三个字段数据已经填写现在请自动填写总分字段,并且把男同学的总分增加10%repl all 总分with 语文+数学+外语repl all 总分 with 总分*1.1 for 性别=男例3:将入校总分字段全部清空repl all 入校总分 with 0例4: 将第5条记录的姓名字段改为 李四repl reco 5 姓名 with “李四”或者:go 5repl 姓名 with “李四”三、增加记录1、追加记录(1)菜单方式方法:“显示”菜单-“追加方式”选项(2)命令方式APPEND BLANK功能:在当前表的表尾追加新记录。说明:使用BLANK是在表尾追加一条空白记录如要要追加多条记录,则需选择“显示”菜单中的“追加方式”命令。其他命令方式的和“追加新记录”只能追加一条记录2、插入新记录INSERT BLANKBEFORE功能:在当前打开表文件中的当前记录指针位置处插入新记录。说明:使用BEFORE子句能在当前记录之前插入新记录,缺省该子句则在当前记录之后插入新记录。(2)使用BLANK子句立即插入一条空白记录,缺省该子句则出现记录编辑窗口,等待用户输入记录。例如:insert:在当前记录后插入新记录insert before:在当前记录前插入新记录insert blank:在当前记录后插入空白记录insert blank before :在当前记录前插入空白记录 3、INSERT-SQL命令INSERT INTO 表名(字段名1,字段名2,) VALUES (表达式1,表达式2,)功能:在表尾追加一条新记录,并将数据存入该记录中。说明:表不必事先打开,字段与表达式的类型必须相同。若字段名全部缺省,就须按表结构字段顺序填写VALUES子句的所有表达式。例如:INSERT INTO 学生登记表(学号,姓名,性别,入学成绩) VALUE(“00204”,”张三”,“男“,582.00)4、数据表内容的批量增加APPEND FROM命令命令:APPEND FROM FIELDSFOR TYPEDELIMITEDWITH|WITH BALNK|WITH TAB| XLS|SDF功能:在当前表尾追加一批记录,这些记录来自于另一个文件。说明:源文件的类型可以是表,也可以是系统数据格式、定界格式等文本文件,或EXCEL文件。源文件默认类型是表,如是其他类型文件,需用TYPE子句。执行此命令时源文件不需要打开。例如:APPEND FROM WENJIAN.TXT TYPE DELIMITED WITH “,”&将文件名为WENJIAN,用“,”作为定界符的文本文件中的所有记录追加到当前表中。四、删除记录1、记录逻辑删除命令命令:DELETEFOR WHILE功能:对当前表在指定范围内满足条件的记录打上删除标记。说明:若可选项都缺省,只删除当前记录DELETE命令只是将指定的记录打上标记,并不是彻底的从表中删除记录。打上标记的记录可以恢复2、记录物理删除命令命令:PACK功能:从物理上彻底删除打上了删除标记的记录。说明:删除的记录不可以恢复3、记录恢复命令命令:RECALL FORWHILE功能:对当前表在指定范围内满足条件的记录去掉删除标记。若可选项都缺省则只恢复当前记录。4、记录清除命令命令:ZAP功能:从物理上删除当前表中的所有记录注:ZAP只是将表中的记录全部删除了,但是表结构仍然存在。dele:逻辑删除 recall:恢复删除 pack:在dele的基础上物理删除zap:与上面三条命令无关,直接清除表中所有数据,保留表结构。delete 范围 for/while 删除指定的记录(加删除标记)recall 范围 for/while 恢复删除指定的记录(去掉删除标记)pack和zap没有参数!例如:Use 学生Go 2Insert blankDele next 3ListRecall allList补充:SET DELETED ON | OFF指定是否处理标有删除标记的记录,以及其他命令是否可以操作它们。 SET DELETED On: 使用范围子句处理记录(包括在相关表中的记录)的命令忽略标有删除标记的记录。 SET DELETED OFF: (默认值)使用范围子句处理记录(包括在相关表中的记录)的命令可以访问标有删除标记的记录。例如:use xsda set dele on list set dele off list4.4表的过滤表的过滤(了解)(1)记录的过滤命令:SET FILTER TO 功能:从当前表中过滤出符合指定条件的记录,随后的操作仅限于这些记录。说明:缺省条件时表示取消所设置的过滤器。例如:SET FILTER TO 性别=“女”LIST SET FILTER TO &取消过滤 LIST(2)字段过滤命令:SET FIELDS TO |ALL功能:为当前表设置字段过滤器 说明:其中是需要访问的字段名称列表,个字段之间用“,”隔开。ALL选项表示所有字段都在字段名表中。命令SET FIELDS ON|OFF决定字段名表是否有效。当设置字段过滤器时,SET FIELDS 自动置ON表示只能访问字段名表指定的字段。SET FIELDS OFF表示取消字段过滤器,恢复原来状态。例如:SET FIELDS TO 学号,姓名,性别LISTSET FIELDS ONLIST SET FIELDS OFF &取消字段过滤 LIST4.5数据的复制一、表的复制1、复制任何类型的文件命令:COPY FILE TO 功能:把文件1做个副本得到文件2注:若对表文件进行复制,该表必须处于关闭状态。(2)文件名1和文件名2中可使用通配符“*”和“?”。但文件1和文件2中的通配符位置必须相同。(3)文件1如果不写明路径则在当前目录下找,复制后的文件2如果标明路径则也保存在当前目录下。例如:copy FILE 学生.* TO A:学生.*&将当前目录里的所有以学生为主文件名的文件拷贝到A盘的根目录下copy file xsda.dbf to xixi.dbfcopy file xsda.fpt to xixi.fpt 2、复制表文件COPY TO FIELDS FOR/WHILETYPEXLS|SDF|DELIMITEDWITH|WITH BALNK|WITH TAB功能:将当前表中选定的部分记录和部分字段复制成一个新表或其他类型的文件。注:若表中含有备注型字段,则在复制扩展名为.DBF文件的同时自动复制扩展名为.FPT的备注文件。(2)若不含TYPE子句,默认文件的类型是表;若要得到EXCEL文件,TYPE子句中必须取XLS;若要得到文本文件(.TXT),则TYPE子句中必须取SDF(无定界符)或DELIMEITED。例如:use 学生copy to 学生 for 性别=”男” fields 学号,姓名,入学成绩 COPY TO 学生表 NEXT 5 FIELDS 学号,姓名,入校总分 FOR 性别=“男” ; AND ! 三好生 TYPE DELIMITED WITH “,”3、复制表结构COPY STRUCTURE TO FIELDS功能:把当前表的结构复制到指定的新文件中。注:只复制当前表的结构,不复制其中的数据。(2)若使用FIELDS选项,则新表的结构只包含其指明的字段,同时也决定了这些字段在新表中的排列次序。(3)如有备注型和通用型字段则同时生成一个同名备注文件。use 学生copy stru to hengcopy stru to hi fields 学号,性别,姓名,简历 二、数组和表之间的数据交换1、将表中记录传送到数组或内存变量命令:SCATTER FIELDSMEMOTO BLANK|MEMVAR BLANK功能:将当前记录的字段值按顺序依次送如数组元素中,或依次送如一组内存变量。说明:若选择FIELDS子句,则只传送字段名表中的字段值,否则将传送所有字段值(备注型和通用型字段除外)。若要传送备注型字段值,还需要使用MEMO项。scatter 用法一:将当前记录的值赋给内存变量格式:scatter fields 字段名表 MEMVER 例如:use 学生go 3dispscatter fields 学号,姓名,入学成绩 memvar?m.学号,m.姓名,m.入学成绩scatter 用法二:将当前记录的值赋给数组变量格式:重点掌握 scatter fields 字段名表 to 数组变量名例如:use xsdago 3scatter fields 学号,姓名,入学成绩,简历 to kk memolist memo like kk 例如:use xsda go 3 dime ks(3) scatter to ks list memo like ks思考:KS的单元有几个?备注型字段的值传到了数组ks中吗?通用型字段呢? 6 NO NO结论:1、scatter to 数组变量名时,数组可以不先定义。数组的下标大小由字段个数确定2、如果定义了数组,如果字段个数超过了数组下标,则会下标会自动扩展下标说明:dime arr(4) 4就是下标3、通用型不能赋给数组,备注型可以,但是必须要加参数memo例如:scatter to yuio memo (yuio的单元就变成7个了)2、将数组或内存变量的数据传送到记录命令:GATHER FROM |MEMVARFIELDSMEMO功能:将数组或内存变量的数据依次传送到当前记录,以替换相应字段值。说明:修改记录前应确定记录指针位置若使用FIELDS子句,仅中的字段才会被数组元素替代.缺省MEMO子句时将忽略备注型字段.内存变量值将传送给与它同名的字段,若某字段无通明的内存变量,则不对该字段进行数据替换。若数组元素多于

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论