VF中的命令格式说明Word文档格式.docx
- 文档编号:20302954
- 上传时间:2023-01-21
- 格式:DOCX
- 页数:19
- 大小:33.77KB
VF中的命令格式说明Word文档格式.docx
《VF中的命令格式说明Word文档格式.docx》由会员分享,可在线阅读,更多相关《VF中的命令格式说明Word文档格式.docx(19页珍藏版)》请在冰豆网上搜索。
CREATTABLE选课表(学号C(8),课程号C(4),成绩N(3))
(2)create[<
表名>
|?
]
createxsda
2、菜单方式
文件菜单->
新建->
表->
新件文件
希望大家能有好的保存习惯
设置默认目录方法:
1、工具=>
选项=>
文件位置=>
默认目录
2、setdefaultto完整路径
如:
setdefatoe:
\vf
二、数据的输入
1、立即输入
(1)、备注型数据的输入
方法:
光标定位“memo”处,双击鼠标。
输入、编辑结束后,点击编辑窗口的“关闭”按钮,VFP会自动将修改后的数据保存)返回到数据输入的正常状态;
按<
Ctrl>
+<
Q>
或Esc键则清除当前输入的信息,返回到数据输入的正常状态。
(2)、通用型数据的输入(同上)
打开窗口后,通过VFP的“编辑”菜单的“粘贴”或“插入对象”选项来完成
1、数据输入时不要有空格
2、关闭就存盘
3、如字段名输错、字段宽度或类型设计错、多输或少输了字段名、字段位置调整
可使用:
(1)显示菜单->
表设计器
(2)在命令窗口中输入命令
Modifystructure
(3)如果字段值需要修改,可输入命令browse。
或点击显示菜单的“浏览”和“编辑”选项也可以进行操作。
(4)如果要添加新的记录输入append。
或在“显示”菜单里选择“追加方式”选项
4、备注型:
宽度为4。
系统默认显示为memo或者Memo(有内容时)
通用型:
系统默认显示为gen或者是Gen(有内容时)
4个字节存放的是地址指针,指向备注文件(文件名和表文件名一样,扩展名为.FPT)对应的内容。
只要表中有备注或者通用字段(不管是一个或者多个),或者两个同时都有,系统就会自动产生一个与表文件名相同的备注文件,扩展名为FTP。
用于存放备注型和通用型字段的内容
4.2表的打开、显示和关闭
一、打开表
1、打开表
(1)命令方式
【格式】USE<
表文件名>
|?
【功能】在当前工作区打开一个表文件
注:
表文件名如没有加路径则默认打开c:
\programfiles\microsoftvisualstudio\vfp98下的表文件。
在打开表文件的同时同名的备注文件和复合索引文件也同时打开
(2)菜单方式
单击“文件”菜单中的“打开”选项(打开时请将“独占”选项选中,否则表不能进行修改)
(1)、表建立时就会被打开。
(2)、表是否被打开可查看状态栏是否显示有表名。
或看“显示”菜单。
在窗口上是不会有任何的显示。
想要查看记录可用命令或选择菜单项来完成。
二、关闭表
命令方式
【格式1】USE
功能:
关闭当前工作区中正打开的表文件及其索引文件。
【格式2】CLOSEALL
功能:
关闭所有工作区中的所有各类型文件,但不释放内存变量,并选择工作区1为当前工作区
【格式3】CLOSE<
文件类型>
CLOSEDATABASES
CLOSETABLE
关闭打开的所有表文件、索引文件、备注文件、格式文件并选择工作区1为当前工作区。
【格式4】CLEARALL
关闭所有工作区中的所有表及各类型文件,并释放内存变量。
三、表记录的显示
1、显示文件记录的两个命令(list和display)
LIST[OFF][<
范围>
][FIELDS<
字段名表>
][FOR/WHILE<
条件>
][TOPRINTER|TOFILE<
文件名>
【功能】:
显示当前表文件中指定的记录和字段的内容。
【说明】:
(1)范围:
用于确定执行该命令涉及的记录。
有如下几种
all:
全部记录
next<
n>
:
从当前记录开始的N条记录
record<
:
第N条记录
rest:
当前记录起到最后一条记录为止的所有记录
如没指定范围,则LIST命令默认范围为ALL(即全部记录);
DISPLAY默认范围为当前记录。
Use学生登记表
DISP
LIST
GO2
LISTNEXT3
LISTRECORD4
GO3
LISTREST
LISTALL
(2)FIELDS子句:
用于确定需要操作的字段
Use学生登记表
Listfields学号,姓名,性别,入校总分
Gotop
Listnext3fields学号,姓名,出生年月
(3)for<
为逻辑表达式,用于指定选择记录的条件。
在LIST命令中没有指定范围时默认是所有的记录中筛选。
Listfor入校总分>
570.00&
&
显示入校总分大于570的记录
Listforleft(姓名,2)=“李”&
显示姓李的同学
Listforsubstr(姓名,1,2)=“李”and性别=“男”
显示姓李的男生
Listrestforyear(出生年月)>
1980and性别=女or入校总分<
580fields姓名,性别,出生年月,入校总分
优先级:
for/while<
的优先级最高然后是范围,最后才是list和display
(4)while<
表达式>
用于条件筛选,但仅在当前记录符合条件时开始筛选,一旦遇到不满足条件的记录时就停止筛选。
Listwhileleft(姓名,2)=“魏”
Go2
Listwhile性别=“男”
FOR子句默认范围是全部记录筛选
While子句则遇到不满足条件的记录就停止
(5)[OFF]选项:
在命令中使用时不显示记录号
(6)Toprinter:
到打印机
Tofile<
文件>
:
这里的文件类型是TXT
List和display异同:
1、list默认显示是全部记录,display默认显示是当前记录
2、如有多条记录,LIST以滚动方式输出,DISPLAY以分屏方式输出
3、如命令中指定了条件或范围,则两条命令结果相同
思考下列命令的显示结果:
Disp
?
recno(),eof(),bof()
List
disp
2、浏览窗口显示记录(了解)
BROWSE[[FILESD]<
[FOR<
[REST]]
打开浏览窗口
四、记录指针的定位
1、记录指针的绝对移动
【格式】GO[TO][RECORD]<
数值表达式>
|top|bottom
【功能】将当前表文件的记录指针定位到指定记录号的记录处。
【说明】
A、<
选项代表所要定位记录的记录号,该记录号不能小于1也不能大于记录总数加1。
B、TOP选项代表将当前表文件的记录指针定位到第一个记录(首记录)
C、BOTTOM选项将当前表文件的记录指针定位到最后一个记录(尾记录)
相关函数
说明:
(1)RECNO():
显示当前记录号
(2)BOF():
beginoffile:
文件开始,第一条记录的前面,记录号为1
(3)
EOF():
endoffile:
文件结束,最后一条记录的后面,记录号为最后一条记录的记录号+1
use学生登记表
recno()&
测试当前记录号,显示为1
GO4&
将记录指针指向第4条记录
Recno()&
Gobottom
显示最后一条记录的记录号
recno()&
显示首记录的记录号
2、记录指针的相对移动
【格式】SKIP[<
]
【功能】以当前表文件的当前记录位置为基准,记录指针向前或向后移动<
值到相应的记录位置。
(1)<
选项代表相对移动的记录数。
若<
值为正数则向文件尾的
(2)方向移动记录指针;
值为负数则向文件头的方向移动记录指针。
若缺省,相当于执行SKIP1,则指针向表尾移动一个记录。
⑶若执行此命令前执行了SETDELETEDON命令,则SKIP命令将不把具有删除标记的记录计算在内。
(了解)
recno(),bof(),eof()&
显示为1.f..f.
Skip-1
recno(),bof(),eof()&
显示为1.t..f.
Skip3
recno(),bof(),eof()&
显示为4.f..f.
Skip
Skip2
显示为6.f..t.
4.3表的修改与编辑
一、修改表结构
二、修改记录
1、全屏编辑
CHANGE/EDIT[<
][FIELDS<
][FOR<
]/[WHILE<
对指定范围内,符合条件的那些记录的指定字段进行编辑修改。
①若命令写声EDIT<
记录号>
则是对记录号指定的记录进行修改。
②可连续修改多个记录,修改完成后,按CTRL+W存盘并结束修改。
2、自动替换(重点)
命令:
REPLACE[<
〈字段名1〉WITH〈表达式1〉[ADDITIVE][,<
WITH<
表达式2>
[ADDITIVE]]
功能:
在当前表的指定记录中,直接将字段值用指定的表达式值来替换。
①该命令对<
内符合<
的记录用<
表达式I>
的值来替换<
字段I>
的值.
②若范围和条件等选项都缺省,只对当前记录的有关字段进行替换.
③ADDITIVE用于备注型字段,表示将表达式值添加到字段的原有内容后,而不是取代原有内容.
例1:
给表学生.dbf增加一个字段年龄并且自动替换:
先modicomm,插入年龄字段N(3)
replaceall年龄withyear(date())-year(出生年月)
例2:
如果一张表有语文、数学、外语和总分四个字段,而前三个字段数据已经填写
现在请自动填写总分字段,并且把男同学的总分增加10%
replall总分with语文+数学+外语
replall总分with总分*1.1for性别=’男’
例3:
将入校总分字段全部清空
replall入校总分with0
例4:
将第5条记录的姓名字段改为李四
replreco5姓名with“李四”
或者:
go5
repl姓名with“李四”
三、增加记录
1、追加记录
(1)菜单方式
“显示”菜单->
“追加方式”选项
(2)命令方式
APPEND[BLANK]
在当前表的表尾追加新记录。
①使用BLANK是在表尾追加一条空白记录
②如要要追加多条记录,则需选择“显示”菜单中的“追加方式”命令。
其他命令方式的和“追加新记录”只能追加一条记录
2、插入新记录
INSERT[BLANK][BEFORE]
在当前打开表文件中的当前记录指针位置处插入新记录。
⑴使用BEFORE子句能在当前记录之前插入新记录,缺省该子句则在当前记录之后插入新记录。
(2)使用BLANK子句立即插入一条空白记录,缺省该子句则出现记录编辑窗口,等待用户输入记录。
例如:
insert:
在当前记录后插入新记录
insertbefore:
在当前记录前插入新记录
insertblank:
在当前记录后插入空白记录
insertblankbefore:
在当前记录前插入空白记录
3、INSERT-SQL命令
INSERTINTO表名[(字段名1[,字段名2,……])VALUES(表达式1[,表达式2,……])
在表尾追加一条新记录,并将数据存入该记录中。
①表不必事先打开,字段与表达式的类型必须相同。
②若字段名全部缺省,就须按表结构字段顺序填写VALUES子句的所有表达式。
INSERTINTO学生登记表(学号,姓名,性别,入学成绩)VALUE(“00204”,”张三”,“男“,582.00)
4、数据表内容的批量增加
APPENDFROM命令
APPENDFROM<
[FIELDS<
][FOR<
[[TYPE][DELIMITED[WITH<
定界符>
|WITHBALNK|WITHTAB]|XLS|SDF]]
在当前表尾追加一批记录,这些记录来自于另一个文件。
①源文件的类型可以是表,也可以是系统数据格式、定界格式等文本文件,或EXCEL文件。
②源文件默认类型是表,如是其他类型文件,需用TYPE子句。
③执行此命令时源文件不需要打开。
APPENDFROMWENJIAN.TXTTYPEDELIMITEDWITH“,”
将文件名为WENJIAN,用“,”作为定界符的文本文件中的所有记录追加到当前表中。
四、删除记录
1、记录逻辑删除命令
DELETE[<
][WHILE<
对当前表在指定范围内满足条件的记录打上删除标记。
⑴若可选项都缺省,只删除当前记录
⑵DELETE命令只是将指定的记录打上标记,并不是彻底的从表中删除记录。
打上标记的记录可以恢复
2、记录物理删除命令
PACK
从物理上彻底删除打上了删除标记的记录。
删除的记录不可以恢复
3、记录恢复命令
RECALL[<
对当前表在指定范围内满足条件的记录去掉删除标记。
若可选项都缺省则只恢复当前记录。
4、记录清除命令
ZAP
从物理上删除当前表中的所有记录
ZAP只是将表中的记录全部删除了,但是表结构仍然存在。
dele:
逻辑删除
recall:
恢复删除
pack:
在dele的基础上物理删除
zap:
与上面三条命令无关,直接清除表中所有数据,保留表结构。
delete[范围][for/while<
]删除指定的记录(加删除标记)
recall[范围][for/while<
]恢复删除指定的记录(去掉删除标记)
pack和zap没有参数!
!
Use学生
Insertblank
Delenext3
Recallall
SETDELETEDON|OFF
指定是否处理标有删除标记的记录,以及其他命令是否可以操作它们。
SETDELETEDOn:
使用范围子句处理记录(包括在相关表中的记录)的命令忽略标有删除标记的记录。
SETDELETEDOFF:
(默认值)
使用范围子句处理记录(包括在相关表中的记录)的命令可以访问标有删除标记的记录。
usexsda
setdeleon
list
setdeleoff
4.4表的过滤
表的过滤(了解)
(1)记录的过滤
SETFILTERTO[<
从当前表中过滤出符合指定条件的记录,随后的操作仅限于这些记录。
缺省条件时表示取消所设置的过滤器。
SETFILTERTO性别=“女”
LIST
SETFILTERTO&
取消过滤
LIST
(2)字段过滤
SETFIELDSTO[<
|ALL]
为当前表设置字段过滤器
说明:
①其中<
是需要访问的字段名称列表,个字段之间用“,”隔开。
ALL选项表示所有字段都在字段名表中。
②命令SETFIELDSON|OFF决定字段名表是否有效。
当设置字段过滤器时,SETFIELDS自动置ON表示只能访问字段名表指定的字段。
SETFIELDSOFF表示取消字段过滤器,恢复原来状态。
SETFIELDSTO学号,姓名,性别
LIST
SETFIELDSON
SETFIELDSOFF&
取消字段过滤
4.5数据的复制
一、表的复制
1、复制任何类型的文件
COPYFILE<
文件名1>
TO<
文件名2>
把文件1做个副本得到文件2
⑴若对表文件进行复制,该表必须处于关闭状态。
(2)文件名1和文件名2中可使用通配符“*”和“?
”。
但文件1和文件2中的通配符位置必须相同。
(3)文件1如果不写明路径则在当前目录下找,复制后的文件2如果标明路径则也保存在当前目录下。
copyFILE学生.*TOA:
\学生.*
&
将当前目录里的所有以学生为主文件名的文件拷贝到A盘的根目录下
copyfilexsda.dbftoxixi.dbf
copyfilexsda.fpttoxixi.fpt
2、复制表文件
COPYTO<
[<
][FIELDS<
][[TYPE][XLS|SDF|DELIMITED[WITH<
|WITHBALNK|WITHTAB]]]
将当前表中选定的部分记录和部分字段复制成一个新表或其他类型的文件。
⑴若表中含有备注型字段,则在复制扩展名为.DBF文件的同时自动复制扩展名为.FPT的备注文件。
(2)若不含TYPE子句,默认文件的类型是表;
若要得到EXCEL文件,TYPE子句中必须取XLS;
若要得到文本文件(.TXT),则TYPE子句中必须取SDF(无定界符)或DELIMEITED。
use学生
copyto学生for性别=”男”fields学号,姓名,入学成绩
COPYTO学生表NEXT5FIELDS学号,姓名,入校总分FOR性别=“男”;
AND!
三好生TYPEDELIMITEDWITH“,”
3、复制表结构
COPYSTRUCTURETO<
[FIELDS]<
把当前表的结构复制到<
指定的新文件中。
⑴只复制当前表的结构,不复制其中的数据。
(2)若使用FIELDS选项,则新表的结构只包含其指明的字段,同时也决定了这些字段在新表中的排列次序。
(3)如有备注型和通用型字段则同时生成一个同名备注文件。
copystrutoheng
copystrutohifields学号,性别,姓名,简历
二、数组和表之间的数据交换
1、将表中记录传送到数组或内存变量
SCATTER[FIELDS<
][MEMO]TO<
数组名>
[BLANK]|MEMVAR[BLANK]
将当前记录的字段值按<
顺序依次送如数组元素中,或依次送如一组内存变量。
①若选择FIELDS子句,则只传送字段名表中的字段值,否则将传送所有字段值(备注型和通用型字段除外)。
若要传送备注型字段值,还需要使用MEMO项。
scatter用法一:
将当前记录的值赋给内存变量
格式:
scatter[fields字段名表]MEMVER
go3
scatterfields学号,姓名,入学成绩memvar
m.学号,m.姓名,m.入学成绩
scatter用法二:
将当前记录的值赋给数组变量
重点掌握scatter[fields字段名表]to数组变量名
scatterfields学号,姓名,入学成绩,简历tokkmemo
listmemolikekk
dimeks(3)
scattertoks
listmemolikeks
思考:
KS的单元有几个?
备注型字段的值传到了数组ks中吗?
通用型字段呢?
6NONO
结论:
1、scatterto数组变量名时,数组可以不先定义。
数组的下标大小由字段个数确定
2、如果定义了数组,如果字段个数超过了数组下标,则会下标会自动扩展
下标说明:
dimearr(4)4就是下标
3、通用型不能赋给数组,备注型可以,但是必须要加参数memo
scattertoyuiomemo(yuio的单元就变成7个了)
2、将数组或内存变量的数据传送到记录
GATHERFROM<
|MEMVAR[FIELDS<
][MEMO]
将数组或内存变量的数据依次传送到当前记录,以替换相应字段值。
①修改记录前应确定记录指针位置
②若使用FIELDS子句,仅<
中的字段才会被数组元素替代.缺省MEMO子句时将忽略备注型字段.
③内存变量值将传送给与它同名的字段,若某字段无通明的内存变量,则不对该字段进行数据替换。
④若数组元素多于字段数,则多余的数组元素不传送
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VF 中的 命令 格式 说明