Vf基础操作代码
做VF系统常用到的代码
一、时钟代码。
1.添加计时器控件time1time1的interva为1000,enabled为T form1的load事件public ss,mm,hh,x,y,x2,y2,x3,y3,x4,y4 store 0 to ss,mm,hhform1的init事件x=thisform.Width/2y=thisform.Height/2thisform.fillcolor=rgb(128,128,255) thisform.Circle(100,x,y)for i=1 to 12x1=x+100*cos(i*3.14159/6)y1=y+100*sin(i*3.14159/6)thisform.fillcolor=rgb(255,188,255)thisform.Circle(5,x1,y1)nexttime1的time事件thisform.forecolor=rgb(128,128,255)x2=x+90*cos((ss-15)*3.14159/30)y2=y+90*sin((ss-15)*3.14159/30) thisform.line(x,y,x2,y2)ss=mod(ss+1,60)x2=x+90*cos((ss-15)*3.14159/30)y2=y+90*sin((ss-15)*3.14159/30) thisform.forecolor=rgb(255,0,0) thisform.line(x,y,x2,y2)if ss=0thisform.forecolor=rgb(128,128,255)y3=y+70*sin((mm-15)*3.14159/30)thisform.line(x,y,x3,y3)mm=mod(mm+1,60)thisform.forecolor=rgb(128,128,255)x4=x+60*cos((hh-3)*3.14159/6)y4=y+60*sin((hh-3)*3.14159/6)thisform.line(x,y,x4,y4)hh=hh+1/60x3=x+70*cos((mm-15)*3.14159/30)if hh>=12hh=0endifendifx3=x+70*cos((mm-15)*3.14159/30)y3=y+70*sin((mm-15)*3.14159/30)thisform.forecolor=rgb(0,255,0)thisform.line(x,y,x3,y3)x4=x+60*cos((hh-3)*3.14159/6)y4=y+60*sin((hh-3)*3.14159/6)thisform.forecolor=rgb(0,0,0)thisform.line(x,y,x4,y4)二、同心圆。
VF 常用命令
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字段有效性规则。
vfp最常用代码
登陆界面确认:if ER.value=alltrim(用户表.用户名).and.thisform.PASSWORD.value=alltrim(用户表.密码)do form 主界面.scxrelease thisformelse=messagebox("对不起,用户名或密码错误!",0+56+0,"用户名+密码错误")ER.value=""thisform.PASSWORD.value=""ER.setfocusendif退出:RELEASE THISFORM主程序代码set fweek to 1set mark to '.'set separator to','set point to '.'set talk offset safety offpublic xtbtxtbt="学生信息管理系统"_screen.caption =xtbt_screen.picture="Home.jpg"do form 系统主页release window 常用read events修改密码中确认修改LOCAL jjjj=0for i=1 to 3s="text"+alltrim(str(i))d="label"+alltrim(str(i))if empty(thisform.&s..value)messagebox(thisform.&d..caption+"不能为空",64,"系统提示")thisform.&s..setfocusELSEIF s="text3"jj=1ENDIFENDIFENDFORIF jj=1select 用户表GO toplocate for alltrim(thisform.text1.value)=alltrim(用户名)if found()if alltrim(thisform.text2.value)=alltrim(thisform.text3.value)replace 密码with ALLTRIM(thisform.text2.Value)MESSAGEBOX("密码修改成功",64,"系统提示")thisform.text1.Value=""thisform.text2.Value=""thisform.text3.Value=""thisform.text1.SetFocusELSEMESSAGEBOX("两次输入密码不一致,请重新输入",48,"系统提示")thisform.text2.Value=""thisform.text3.Value=""thisform.text2.SetFocusENDIFELSEMESSAGEBOX("用户名"+ALLTRIM(thisform.text1.Value)+"不存在,请确认重新输入",48,"系统提示")thisform.text1.setfocusthisform.text1.SelStart=0thisform.text1.SelLength=LEN(ALLTRIM(thisform.text1.Value))thisform.text2.Value=""thisform.text3.Value=""ENDIFENDIF返回do form 功能选项.scxrelease thisform运动的时间代码bel1.Caption = TtoC(datetime())数据维护首记录go topthisform.refresh上一个skip-1if bof()messagebox("hehe,已到文件头",48)endifthisform.refresh下一个skip+1if eof()messagebox("hehe,已到文件尾",48)endifthisform.refresh未记录go bottomthisform.refresh增加append blankgo bottomthisform.refresh删除if messagebox("确实要删除吗?",1,"提示!")=1 deletepackendifthisform.refresh关闭release thisform预订信息查询locate all for bo1.value=预定表.客户中文名thisform.text1.value=预定表.预订名称thisform.text2.value=预定表.性别thisform.text3.value=预定表.住客籍贯thisform.text4.value=预定表.预定时间thisform.text5.value=预定表.房间类型thisform.text6.value=预定表.入住时间thisform.text7.value=预定表.离开时间thisform.text8.value=预定表.预订数量thisform.text9.value=预定表.住客总人数thisform.text10.value=预定表.确认方式thisform.text11.value=预定表.预付方式thisform.text12.value=预定信息表.预付款thisform.text13.value=预定信息表.应付款thisform.text14.value=预定信息表.差额thisform.text15.value=预定表.联系方式房间信息查询locate all for bo1.value=房间信息表.房间号thisform.text1.value=房间信息表.房间号thisform.text2.value=房间信息表.房间类型thisform.text3.value=房间信息表.单价你要做什么入住do form 登记表单.scxrelease thisform预定do form 预定表单.scxrelease thisform退出do form 主界面.scxrelease thisformtime1i=int(rand()*255)j=int(rand()*255)k=int(rand()*255)bel1.forecolor=rgb(i,j,k)2if bel1.left+bel1.width>432 thisform.timer2.enabled=.f.thisform.timer3.enabled=.t.elsebel1.left=bel1.left+2 endif3if bel1.left<12thisform.timer3.enabled=.f.thisform.timer2.enabled=.t.elsebel1.left=bel1.left-2 endifi=int(rand()*255)j=int(rand()*255)k=int(rand()*255)bel1.forecolor=rgb(i,j,k)bel17.forecolor=rgb(i,j,k) bel18.forecolor=rgb(i,j,k) bel19.forecolor=rgb(i,j,k) bel20.forecolor=rgb(i,j,k) bel21.forecolor=rgb(i,j,k)i=int(rand()*255)j=int(rand()*255)k=int(rand()*255)bel1.forecolor=rgb(i,j,k)用两个时间控制一个字bel2.forecolor=rgb(255,0,0)bel2.forecolor=rgb(0,0,255)向下移动i=i+1if bel1. left+100>860bel1. left=100bel1 .top=100elsebel1. left=thisform .label1 .left+20 bel1.top=bel1.top+20endifif alltrim (thisform.text1.value)=="张三"if thisform.text2.value="123456"bel4.caption="欢迎使用该系统"elsebel4.caption="用户名或密码有误" endifendif放大字体bel2.fontsize=bel2.fontsize+2 变红bel2.forecolor=RGB(255,0,0)注册locate all for alltrim(Mima.Yhm)=alltrim(thisform.text1.text) close allquit。
2、VF基本命令及SQL语句
视图的定义
Create view <视图名> as <查询语句>
视图的删除 Drop view <视图名>
SQL的数据查询功能 嵌套查询
格式:Select 目标列1,目标列2,…… from 表名1 where 字段名; In(select 字段名 from 表名2 where 筛选条件……) 等价于格式: Select 目标列1,目标列2,…… from 表名1 where exists; (select * from 表名2 where 联接条件) SQL的数据查询功能 分组与计算查询 格式:Select <目标列>… from <表名或视图名>… ; [where <筛选条件>] [ order by <排序列> [ASC | DESC] ; [group by <分组列> [having <分组条件>] ]
3.设置当前索引: Set order to [<数值表达式>] 注:0关闭索引,1第一个索引 Set order to [<单索引文件名>] 选择表所在工作区: select <工作区号>|<别名> 功能:从工作区中选择一个作为当前工作区。 说明:Select 0为 选择编号最小且没有使用的工作区为当前工 作区。 (即空闲的最小号工作区)
数据库操作相关命令 表结构的操作相关命令 表记录的操作相关命令基 本 命ຫໍສະໝຸດ 令表记录指针移动的相关命令
索引文件操作相关命令
物理排序 关联的建立: (临时联系)
数据库操作相关命令
建立数据库:create database [Database Name|?] 打开数据库:open database [Filename|?] [exclusive | shared] 修改数据库:modify database [DatabaseName |?] 删除数据库:delete database DatabaseName |? [DeleteTables][Recycle] 关闭数据库:close database
计算机二级VF常用命令
计算机二级VF常用命令SQL--数据操作SELECT --从数据库表中检索数据行和列INSERT --向数据库表添加新数据行DELETE --从数据库表中删除数据行UPDATE --更新数据库表中的数据--数据定义CREATE TABLE --创建一个数据库表DROP TABLE --从数据库中删除表ALTER TABLE --修改数据库表结构CREATE VIEW --创建一个视图DROP VIEW --从数据库中删除视图CREATE INDEX --为数据库表创建一个索引DROP INDEX --从数据库中删除索引Vf命令大全DIR 或DIRECTORY 列出指定磁盘上的文件目录DISPLAY 显示一个打开的库文件的记录和字段DISPLAY FILES 查阅磁盘上的文件DISPLAY HISTORY 查阅执行过的命令DISPLAY MEMORY 分页显示当前的内存变量DISPLAY STATUS 显示系统状态和系统参数DISPLAY STRUCTURE 显示当前书库文件的结构DO 执行FoxBase程序DO CASE 程序中多重判断开始的标志DO WHILE 程序中一个循环开始的标志EDIT 编辑数据库字段的内容EJECT 使打印机换页的命令,将PROW()函数和PCOL()函数值置为0 ELSE 在IF...ENDIF结构中提供另一个条件选择路线ENDCASE 终止多重判断ENDDO 程序中一个循环体结束的标志ENDIF 判断体IF...ENDIF结构结束标志ERASE 从目录中删除指定文件EXIT 在循环体内执行退出循环的命令FIND 将记录指针移动到第一个含有与给定字符串一致的索引关键字的记录上FLUSH 清除所有的磁盘存取缓冲区GATHER FROM 将数组元素的值赋予数据库的当前记录中GO/GOTO 将记录指针移动到指定的记录号HELP 激活帮助菜单,解释FoxBASE+的命令IF 在IF...ENDIF结构中指定判断条件INDEX 根据指定的关键词生成索引文件INPUT 接受键盘键入的一个表达式并赋予指定的内存变量INSERT 在指定的位置插入一个记录JOIN 从两个数据库文件中把指定的记录和字段组合成另一个库文件KEYBOARD 将字符串填入键盘缓冲区LABEL FROM 用指定的标签格式文件打印标签LIST 列出数据库文件的记录和字段LIST FILES 列出磁盘当前目录下的文件LIST HISTORY 列出执行过的命令LIST MEMORY 列出当前内存变量及其值LIST STATUS 列出当前系统状态和系统参数LIST STRUCTURE 列出当前使用的数据库的库结构LOAD 将汇编语言程序从磁盘上调入内存LOCATE 将记录指针移动到对给定条件为真的记录上LOOP 跳过循环体内LOOP与ENDDO之间的所有语句,返回到循环体首行MENU TO 激活一组@...PROMPT命令定义的菜单MODIFY COMMAND 进入FoxBASE+系统的字处理状态,并编辑一个ASCII码文本文件(如果指定文件名以.PRG为后缀,则编辑一个FoxBASE+命令文件)MODIFY FILE 编辑一个一般的ASCII码文本文件MODIFY LABEL 建立并编辑一个标签(.LBL)文件MODIFY REPORT 建立并编辑一个报表格式文件(.FRM)文件MODIFY STRUCTURE 修改当前使用的库文件结构NOTE/* 在命令文件(程序)中插入以行注释(本行不被执行)ON 根据指定条件转移程序执行OTHERWISE 在多重判断(DO CASE)中指定除给定条件外的其它情况PACK 彻底删除加有删除标记的记录PARAMETERS 指定子过程接受主过程传递来的参数所存放的内存变量PRIVATE 定义内存变量的属性为局部性质PROCEDURE 一个子过程开始的标志PUBLIC 定义内存变量为全局性质QUIT 关闭所有文件并退出FoxBASE+READ 激活GET语句,并正是接受在GET语句中输入的数据RECALL 恢复用DELETE加上删除标记的记录REINDEX 重新建立正在使用的原有索引文件RELEASE 清楚当前内存变量和汇编语言子程序RENAME 修改文件名REPLACE 用指定的数据替换数据库字段中原有的内容REPORT FORM 显示数据报表RESTORE FROM 从内存变量文件(.MEM)中恢复内存变量RESTORE SCREEN 装载原来存储过的屏幕映象RESUME 使暂停的程序从暂停的断点继续执行RETRY 从当前执行的子程序返回调用程序,并从原调用行重新执行RETURN 结束子程序,返回调用程序RUN/!在FoxBASE+中执行一个操作系统程序SAVE TO 把当前内存变量及其值存入指定的磁盘文件(.MEM)SAVE SCREEN 将当前屏幕显示内容存储在指定的内存变量中SCATTER 将当前数据库文件中的数据移到指定的数组中SEEK 将记录指针移到第一个含有与指定表达式相符的索引关键字的记录SELECT 选择一个工作区SET 设置FoxBASE+控制参数SET ALTERNATE ON/OFF 设置传送/不传送输出到一个文件中SET ALTERNATE TO 建立一个存放输出的文件SET BELL ON/OFF 设置输入数据时响铃/不响铃SET CARRY ON/OFF 设置最后一个记录复制/不复制到添加的记录中SET CENTURY ON/OFF 设置日期型变量要/不要世纪前缀SET CLEAR ON/OFF 设置屏幕信息能/不能被清除SET COLOR ON/OFF 设置彩色/单色显示SET COLOR TO 设置屏幕显示色彩SET CONFIRM ON/OFF 设置在全屏幕编辑方式中,要求/不要求自动跳到下一个字段SET CONSOLE ON/OFF 设置将输出传送/不传送到屏幕SET DATE 设置日期表达式的格式SET DEBUG ON/OFF 设置传送/不传送ECHO的输出到打印机上SET DECIMALS TO 设置计算结果需要显示的小数位数SET DEFAULT TO 设置默认的驱动器SET DELETED ON/OFF 设置隐藏/显示有删除标记的记录SET DELIMITER TO 为全屏幕显示字段和变量设置定界符SET DELIMITER ON/OFF 选择可选的定界符SET DEVICE TO SCREEN/PRINT 将@...SAY命令的结果传送到屏幕/打印机SET DOHISTORY ON/OFF 设置存/不存命令文件中的命令到历史记录中SET ECHO ON/OFF 命令行回送到屏幕或打印机SET ESCAPE ON/OFF 允许ESCAPE退出/继续命令文件的执行SET EXACT ON/OFF 在字符串的比较中,要求/不要求准确一致SET EXACLUSIVE ON/OFF 设置数据库文件的共享SET FIELDS ON/OFF 设置当前打开的数据库中部分/全部字段为可用SET FIELDS TO 指定打开的数据库中可被访问的字段SET FILTER TO 在操作中将数据库中所有不满足给定条件的记录排除SET FIXED ON/OFF 固定/不固定显示的小数位数SET FORMAT TO 打开指定的格式文件SET FUNCTION 设置F1-F9功能键值SET HEADING ON/OFF 设置LIST或DISPLAY时,显示/不显示字段名SET HELP ON/OFF 确定在出现错误时,是否给用户提示SET HISTORY ON/OFF 决定是/否把命令存储起来以便重新调用SET HISTORY TO 决定显示历史命令的数目SET INDEX TO 打开指定的索引文件SET INTENSITY ON/OFF 对全屏幕操作实行/不实行反转显示SET MARGIN TO 设置打印机左页边SET MEMOWIDTH TO 定义备注型字段输出宽度和REPORT命令隐含宽度SET MENU ON/OFF 确定在全屏幕操作中是否显示菜单SET MESSAGE TO 定义菜单中屏幕底行显示的字符串SET ODOMETER TO 改变TALK命令响应间隔时间SET ORDER TO 指定索引文件列表中的索引文件SET PATH TO 为文件检索指定路径SET PRINT ON/OFF 传送/不传送输出数据到打印机SET PRINTER TO 把打印的数据输送到另一种设备或一个文件中SET PROCEDURE TO 打开指定的过程文件SET RELATION TO 根据一个关键字表达式连接两个数据库文件SET SAFETY ON/OFF 设置保护,在重写文件时提示用户确认SET SCOREBORAD ON/OFF 设置是/否在屏幕的第0行上显示FoxBASE+的状态信息SET STATUS ON/OFF 控制是/否显示状态行SET STEP ON/OFF 每当执行完一条命令后,暂停/不暂停程序的执行SET TALK ON/OFF 是否将命令执行的结果传送到屏幕上SET TYPEAHEAD TO 设置键盘缓冲区的大小SET UNIQUE ON/OFF 在索引文件中出现相同关键字的第一个/所有记录SKIP 以当前记录指针为准,前后移动指针SORT TO 根据数据库文件的一个字段或多个字段产生一个排序的哭文件STORE 赋值语句SUM 计算并显示数据库记录的一个表达式在某范围内的和SUSPEND 暂停(挂起)程序的执行TEXT...ENDTEXT 在屏幕上当前光标位置显示...的文本数据块TOTAL TO 对预先已排序的文件产生一个具有总计的摘要文件TYPE 显示ASCII码文件的内容UNLOCK 解除当前库文件对记录和文件的加锁操作UPDATE 允许对一个数据库进行成批修改USE 带文件名的USE命令打开这个数据库文件。
vf基本命令
??????????????ENDIF[注释]
10.选择分支结构:IF<条件>
??????????????<语句序列1>
??????????????ELSE
??????????????<语句序列2>
??????????????ENDIF[注释]
11.多分支结构:DOCASE
15.?????右截取函数:RIGHT(<.字符串表达式>,<长度>)
16.?????字符串长度函数:LEN(<字符串表达式>)
17.?????字符重复函数:REPLICATE(<字符串表达式>,<数值表达式>)
18.?????字符串替换函数:STUFF(<字符串表达式1>,<起始位置>,<长度>,<字符串表达式2>)
4.程序文件的建立:MODIFYCOMMAND[<程序文件名>]
5.程序文件的运行:DO<程序文件名>
6.中断程序的运行:CANCEL
7.结束程序的运行:RETURN[TOMASTER]
8.显示文本内容:TEXT
???????????????<文本内容>
???????????????ENDTEXT
9.单分支结构:IF<条件>
??GHANGE[范围][FIELDS<字段名清单>][FOR|WHILE<条件>]
??REPLACE[范围]<字段名1>WITH<表达式1>。。。。[FOR|WHILE<条件>]
vf整理代码一
VF 编程常用代码与实例在Visual Foxpro编程中通过VF日历控件,VF日期插件,VF日期控件实现日期输入一、首先建立一个表单,并在表单上选择文本框控件text1二、在表单上插入表单控件:ActiveX 控件(oleControl)---插入控件---日历控件8.0---确定,即可调出日历控件.三、双击表单空白处写各过程运行代码Init属性代码中填写其日历控件隐藏代码:thisform.olecontrol1.visible=.f.Click属性设置,表示单击表单时任一地方隐藏VF日历控件代码thisform.olecontrol1.visible=.f.四、双击VF日历控件,填写其各运行代码设置vf日历控件olecontrol1的After Update过程代码,表示将选择某一日期的日期值赋予文本框thisfomr.text1thisform.text1.value=ttod(this._value)设置日历控件单击Click过程代码,表示选择日期后隐藏控件thisform.olecontrol1.visible=.f.设置VF日期控件Init过程代码:表示打开VF日历控件后取当前年份this.year=year(date())通过以上方法在Visual Foxpro编程中通过VF日历控件或VF日期插件实现日期的点选输入Select语句部分1、SQL:structure query language2、定义:是结构化查询语言,是关系数据库的标准语言,是一种高度非过程化的语言,是数据库后台操作语言,具有非常强大的查询功能,查询时它的核心。
3、基本构成:select 查询什么 from 从哪来 where 查询条件4、三大功能:l 数据查询①.格式:select 字段名/表名/* from 表1 inner join 表2 on 表1主关键字=表2主关键字 where 筛选条件[group by (按……分组)having(限定分组条件)order by(按……排序)②.函数③.值域查询: between…and…④.空值查询:is null⑤.模糊查询:$ (后包前) *(%) ?likel 操作功能①.插入 insert into 表名 value②. 更新 update 表名 set 字段=表达式 where 条件③.删除 delete from 表名 where 条件l 定义功能①.表的定义 creat ***②. 删除表drop table表名删除视图 drop view③.表结构的修改⑴.添加字段:alter table 表名add 字段名类型(长度)⑵.删除字段:alter table 表名 drop 字段名⑶.修改字段:alter table 表名 alter 字段名新类型(长度)⑷.重新命名字段:alter table 表名 rename 旧字段名 to 新字段名⑸.建立有效性规则:alter table 表名(数据库表)alter 字段 set check 字段条件⑹.删除有效性规则:alter table 表名alter 字段 drop check⑺.建立默认值:alter table 表名 alter 字段 set default 条件⑻.删除默认值:alter table 表名 alter 字段 drop default⑼.建立唯一索引:alter table 表名add unique 字段 tag索引名⑽.删除唯一索引:alter table 表名drop unique tag 索引名⑾.建立主索引:alter table 表名add primary key字段 tag索引名⑿.删除主索引:alter table 表名drop primary key字段 tag索引名⒀.建立普通索引:alter table 表名add foreign key字段 tag索引名⒁.删除普通索引:alter table 表名drop foreign key tag索引名5、SQL的六种去向:⑴.将查询结果保存到永久表:into table/dbf 表名⑵.将查询结果保存到临时表:into cursor表名⑶.将查询结果保存到数组:into array 数组名⑷.将查询结果保存到文本文件:to file 文本文件名⑸.将查询结果预览显示:to preview⑹.将查询结果打印:to printer6、约束规则:7、量词查询:some any all (any、some是同义词) * some、any 只有子查询中有一行能使结果为真,则结果为真* all 子查询中所有记录都使结果为真,则结果为真。
VF常用命令和程序命令(背诵)
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作用:主要用于打开浏览窗口,查阅表文件并同时进行修改。
格式:BROWSE6、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 所有的记录。
VF基础知识
VF基础知识第一节课 VF 入门以及(自由表)表格的基本操作一、新建表(.dbf)1.菜单-文件-新建-表2.常用工具栏-新建-表3.命令 create [表名]默认目录的设置:菜单-工具-选项-文件位置-默认目录-双击-选择默认目录-找到驱动器-选择盘符二表格中的字段类型字段类型英文简称宽度定界符字符型 C 可改动 ' ' 或 " " 或[ ] "123"数值型 N 可改动无 123日期型 D 8 {^yyyy-mm-dd} {^1989-02-16}逻辑型 L 1 .T. 或 .F.日期时间型 T 8 {^yyyy-mm-dd [hh[:mm[:ss]]]|[p|a]} 整型 I 4 备注型 M 4 备注型的文件中.ftp通用型 G 41.打开表(1)菜单-文件-打开-选择文件类型中的表(2)常用工具栏-打开(3)命令 use <表名> use f:\董双双\学生信息表要在独占方式下(4)数据工作期窗口-打开2.关闭(当前表)(1)命令 use(2)数据工作期窗口-关闭3.进入当前表的表设计器(1)菜单-显示-表设计器(2)命令 modify structure4.浏览当前表的信息(1)数据工作期窗口-浏览(2)菜单-显示-浏览(3)命令 browse5.修改表中的记录(1)直接修改(2)插入 insert [blank][before] (当前记录之前)(3)追加 append [blank](4)replace 字段名 with 被修改的记录 [for 条件][范围]只能修改当前记录(没有限定范围的前提下)6.删除表中的记录(逻辑删除和物理删除)(1)逻辑删除不会真正删除表中的记录,可以恢复命令 delete [for 条件][范围]恢复 recall [for 条件][范围](2)物理删除会真正把表中打上逻辑删除标记记录删掉,不可恢复命令 pack(3)清空表中的记录 zap (物理删除不可恢复)第二课自由表的基本操作及数据库一自由表的简单命令1.显示表中的记录到VF屏幕上(1) list [for 条件][[fields] 字段][范围]默认显示表中所有的记录(滚屏显示)(2) display [for 条件][[fields] 字段][范围]默认只显示当前一条记录的信息(分屏显示)2.对表中的记录查询定位(1) 绝对定位 go 或 goto [n][top|bottom](2) 相对定位 skip [n](3) 在当前表中查找符合条件的记录,指针直接指向符合条件的第一条记录locate for 条件[continue] 若查找下一条符合条件的记录,用continue 连用二数据库 (.dbc)1.新建(1)文件-新建-数据库(2)常用工具栏-新建-数据库(3)命令-create database [数据库名称]2.进入当前数据库设计器(1)显示-数据库设计器(2)命令-modify database3.关闭当前数据库close database4.打开数据库(1)菜单-文件-打开-文件类型-数据库名(2)open database 数据库名5.将打开的数据库设置为当前数据库(1)鼠标直接点(2)命令 set database to 数据库名6.添加自由表到当前数据库(1)鼠标操作(2)命令 add table 自由表名7.从当前数据库移去表(1)鼠标操作(2)命令 remove table 表名8.从当前数据库删除表(第四章的SQL语句)(1)鼠标操作(2)命令 drop table 表名9.删除数据库(被删除的数据库不能已经打开,必须关闭)delete database 数据库名10.在数据库中新建表(1)文件-新建(2)常用工具栏(3)简单命令 create(4)用数据库设计器的工具栏或在数据库中右单击或数据库的菜单下的子菜单(5)用(第四章)SQL语句(重点)create table 表名(字段名1 类型(宽度)[,字段名2 类型(宽度)..]) create table 学生(姓名 C(8),性别 C(2),出生日期 D,成绩 N(6,2))三、字段有效性(数据完整性中的域完整性)规则:是一个逻辑表达式信息:是一句话相当于字符串,要加字符型的定界符默认值:是跟本身字段类型匹配的记录,要加相应的定界符四、项目管理器(.pjx)第三课索引的建立应用及数据完整性一索引1.分类:简单索引和复合索引2.索引的作用:提高查询速度(但同时会降低更新速度)VF 中的索引是:指针构成的文件,这些指针逻辑上按照索引关键字进行排序,就叫做逻辑上的排序二简单索引(.idx)index on 索引关键字(字段名) to 索引文件名[.idx]例如:index on 工资 to gz打开索引文件set index to 索引文件名例如:set index to gz注意:简单索引一个索引只能建立一个索引项只能按照升序排序,不能按降序三复合索引(.cdx)1.分类:结构复合索引和非结构复合索引2.非结构复合索引index on 索引关键字(字段名) tag 索引名of 索引文件名[.cdx]; [asce|desc]例如:index on 工资 tag 工资d of aa descindex on 地址 tag 地址a of aa打开索引文件set index to 索引文件名例如:set index to aa指定某个索引起作用set order to 索引标识例如:set order to 工资a或地址a3.结构复合索引(1)可以用命令建立index on 索引关键字(字段名) tag 索引名 [asce|desc]指定某个索引起作用set order to 索引标识(2)也可以用表设计器直接做(考试)注意:结构复合索引的文件直接放到当前表格中,随着表格的打开而打开关闭而关闭,一个表中可以有多个结构复合索引表设计器的复合索引类型:类型个数是否有重复值建立方式主索引一个不允许有重复值或空值表设计器候选索引多个不允许有重复值或空值命令candidate 或设计器唯一索引多个允许有重复值或空值命令 unique 或设计器普通索引多个允许有重复值或空值命令或设计器4.删除索引(1)在表设计器中直接删除(2)命令 delete tag 索引名(索引标识) 或 delete tag all四数据完整性1.分类:实体完整性域完整性参照完整性2.实体完整性:就是指表中的主索引和候选索引所代表的记录的唯一性就理解为实体完整性3.域完整性:字段的有效性(规则信息默认值)4.参照完整性:(1)在数据库的表格之间设置永久性连接从同一个数据库的一个表的主索引的公共字段索引名拖向另一个表的公共字段的普通索引名就建立了两个表格之间的永久性连接(2)设置参照完整性首先把所有打开的表格都关闭,选择菜单-“数据库”-清理,然后在数据库空白地方单击鼠标右键选择编辑参照完整性五、工作区 1-32767工作区号最多有32767个,最小的工作区号是1选择工作区用命令 select(1)select 表格名称(2)select 工作区号(3)select A-J 代表1-10号use 表名 in 工作区号use 表名 in 0 :打开一个表放到没有使用的最小的工作区中select 0 :代表选中了没有使用的最小的工作区号六临时性连接(又叫指针的连动)1.用数据工作期窗口建立2.用命令建立例如:use 表1 in 1 order 公共字段索引名use 表2 in 2 order 公共字段索引名select 1 (父表)set relation to 公共字段索引名 into 表2 (子表)七使用索引快速定位 (用seek查找的记录所在的字段必须是当前索引)seek例如: seek "张三"seek "E1"八排序sort to 新表名 on 关键字(字段名) [/a|/d|/c]第四课常量和变量一常量1.固定不变的量称之为常量显示常量变量表达式和函数在屏幕上先换行再输出在屏幕上不换行直接输出2.分类:字符型货币型数值型日期型日期时间型逻辑型(1)字符型C例如:"张三 " "aabb" "1234" "" '' [](2)货币型 Y定界符:$ 例如:$24.6 $79 默认四位小数(3)数值型 N无定界符例如:123.456 70(4)日期型 D定界符 {^yyyy-mm-dd} 例如:{^1989-10-24} 影响日期格式的命令set mark to "分隔符" 设置分隔符set date to ymd或mdy或dmy 设置显示格式set century on 或 off 设置显示4位还是2位年份默认2位set strictdate to 0或1或2 设置是否使用严格日期格式set century to 世纪值 rollover 年份参照值例如: set century to 19 rollover 50日期格式分为严格日期格式和传统日期格式严格日期格式:{^yyyy-mm-dd}传统日期格式:{mm/dd/yy}或{dd/mm/yy}或{yy/mm/dd} (5)日期时间型 T定界符 {^yyyy-mm-dd,[hh[:mm[:ss]]|[a|p]]}(6)逻辑型 L 定界符 .. 例如:.T. .y. .N. .f.二变量能随时变化的1.分类字段变量和内存变量内存变量的数据类型:字符型数值型货币型日期型日期时间型逻辑型(1)简单的内存变量的赋值> 内存变量名=表达式> store 表达式 to 内存变量名表注:"="一行命令只能用一个赋值,而store 可以把一个值赋给多个变量若在当前表中存在一个同名的字段变量,字段变量优先执行,如果想显示内存变量在内存变量名前加:m.内存变量名例如:m.职工号或m->职工号(2)数组 (array) 类型简称 A分类:一维数组和二维数组定义: dimension 数组名(下标上限[,下标上限2])declare 数组名(下标上限[,下标上限2])例如: dimension aa(10) aa(1)-aa(10)dimension bb(2,5) bb(1,1)-bb(2,5)显示内存变量:list memory [like 通配符] 例如:list memory like aa?display memory [like 通配符]注意:通配符"*"代表任意多个字符,"?"代表任意一个字符清除内存变量(1) clear memory(2) release 内存变量名表(3) release all(4) release all [like 通配符]|[except 通配符]将表中的数据与数组中的数据进行交换(1)将表的当前记录复制到数组中scatter to 数组名(2)将数组的数据复制到当前表的当前记录gather from 数组名第五课表达式和函数一、表达式表达式是由常量变量和函数通过特定的运算符连接起来的式子分类: 数值表达式字符表达式日期时间表达式关系表达式逻辑表达式1.数值表达式运算符:() **|^ * / % + -例如:被除数%除数2.字符表达式运算符:+ - 连接字符串3.日期时间表达式运算符:+ -4.关系表达式运算符:< 、> 、<>|#|!=、<=、>=、 =、==、$字符型的比较:空格<a<z<a<z<汉字的拼音< bdsfid="301" p=""></a<z<a<z<汉字的拼音<>运算符"="受命令 set exact off|on 命令的影响,当设置处于off 状态时,指"="右侧的字符是否原样出现在在左侧字符的左边,如果出现就为.t.,否则.f.,当设置处于on 状态时,叫等长比较,指"="左右的两个字长度如果不相等,先在较短的末尾添加空格,直到两侧字符的长度相等再一个一个字符比较$ 子串包含字符串1$字符串2如果左侧字符串出现在右侧字符串的任意位置就返回.T.,否则 .F.5.逻辑表达式运算符: 逻辑非 not 或! 取右侧值的相反结果逻辑与 and 真真才为真逻辑或 or 假假才为假算术运算符>字符串运算符和日期时间运算符>关系运算符>逻辑运算符二、函数格式:函数名( )分类:数值函数字符处理函数日期类函数数据类型转换函数测试函数1.数值函数(1)abs(数值表达式) 求绝对值(2)sign(数值表达式) 求符号(3)sqrt(数值表达式) 求平方根(4)pi() 求圆周率(5)int(数值表达式) 取数值表达式的整数部分(6)ceiling(数值表达式)返回大于或等于数值表达式的最小整数(7)floor(数值表达式) 返回小于或等于数值表达式的最大整数(8)round(数值表达式1,数值表达式2) 四舍五入(9)mod(数值表达式1,数值表达式2) 求余数(10)max(数值表达式1,数值表达式2,数值表达式3)取最大值(11)min(数值表达式1,数值表达式2,数值表达式3)取最小值2.字符函数(1)len(字符表达式) 求字符串长度(2)lower(字符表达式)大写转为小写(3)upper(字符表达式)小写转为大写(4)space(数值表达式) 返回空格(5)trim(字符表达式)删除字符末尾的空格(6)ltrim(字符表达式) 删除字符左侧的空格(7)alltrim(字符表达式) 删除字符左侧和右侧的空格(中间的不删)第六课函数一、字符函数(8)left(字符表达式,长度) 取子串函数(9)right(字符表达式,长度)(10)substr(字符表达式,起始位置[,长度])(11)occurs(字符表达式1,字符表达式2) 返回第一个字符在第二个字符中出现的次数 ,返回数值型(12)at(字符表达式1,字符表达式2[,数值表达式])(区分大小写)求字符1在字符2中第几次出现的位置(13)atc(字符表达式1,字符表达式2[,数值表达式])(不区分大小写)(14)stuff(字符表达式1,起始位置,长度,字符表达式2) 子串替换函数 stuff("abcdef",2,3,"ttttt")(15)chrtran(字符表达式1,字符表达式2,字符表达式3) 字符替换函数(16)like(字符表达式1,字符表达式2) 字符串匹配函数左侧字符表达式1可以出现通配符 ?和 *二、日期和时间函数(1)date() 返回日期型 D(2)time() 返回字符型 C(3)datetime() 返回日期时间型 T(4)year(日期表达式或者日期时间表达式) 返回数值型 N(5)month(日期表达式或者日期时间表达式)(6)day(日期表达式或者日期时间表达式)(7)hour(日期时间表达式)(8)minute(日期时间表达式)(9)sec(日期时间表达式)三、数据类型转换函数(1)str(数值表达式[,长度[,小数位数]]) 数值->字符(2)val(字符表达式) 字符->数值(3)ctod(字符表达式) 字符->日期(4)ctot(字符表达式) 字符->日期时间(5)dtoc(日期表达式或日期时间表达式[,1]) 日期->字符(6)ttoc(日期时间表达式[,1]) 日期时间->字符(7)&字符型变量四、测试函数(1)between(表达式1,表达式2,表达式3)(2)isnull(表达式)(3)empty(表达式) 测试是否是空值(4)vartype(表达式[,逻辑表达式]) 测试数据类型返回英文简称(5)eof([工作区号或表别名]) 表中最后一条的后面(末尾)(6)bof([工作区号或表别名]) 表中第一条记录的前面(首位置)(7)recno([工作区号或表别名]) 返回当前表中的当前记录的记录号(8)reccount([工作区号或表别名]) 返回当前表中的记录条数(9)iif(逻辑表达式,表达式1,表达式2)(10)deleted([工作区号或表别名])第七课程序设计基础一、程序文件的建立与执行1.新建 (.prg)(1)文件-新建-程序(或常用工具栏上的新建)(2)命令 modify command [程序文件名]2.程序是需要建立完毕后保存并运行的文件运行方法:(1)菜单程序-运行(2)常用工具栏上的“叹号”或 ctrl+E(3)命令 do 程序文件名[.prg]3.程序中的注释语句* 和 note 打开头或者用 && 在程序的任意位置都可以是注释语句二、简单的输入输出命令1.输入命令input [字符表达式] to 内存变量默认只能输入数值型的数据,如果要输入其他类型,要加相应的定界符2.输入命令accept [字符表达式] to 内存变量只能输入字符类型的数据,不能加定界符3.输出命令wait [字符表达式] [window][timeout 秒数 ]三、程序的基本结构程序的结构分为:顺序结构选择结构和循环结构1.顺序结构正常情况下程序中的命令语句都是一句一句顺序执行的2.选择结构(1)条件语句 iif(条件,表达式1,表达式2)函数if 条件语句序列1[else语句序列2]endif(2)分支语句do casecase 条件1 2*x-1 x<0语句序列1 3*x+4 3>x>=0case 条件2 y= x+1 5>x>=3语句序列2 7*x+2 x>=5case 条件n语句序列n[otherwise语句序列]endcase3.循环结构一定要有使"条件"趋向于结束的语句存在否则死循环(1)do while 条件语句序列(循环体)enddo第八课多模块程序设计程序循环结构(2)for 变量=初值 to 终止值 [step 步长]语句序列(循环体)endfor(3)scan [for 条件][while 条件]语句序列(循环体)endscan注意:此循环结构只能在当前表中做操作,不能脱离表格在三种循环结构中都能用exit强制退出循环体和loop 返回条件一、模块的定义procedure 或 function 过程名命令序列[return [表达式]]endproc 或 endfunc二、模块的调用格式:1.do 过程名2.过程名()三、参数传递接收参数的命令parameters 形式参数1,形参2....lparameters 形式参数1,形参2....调用格式1.do 过程名 with 实际参数1,实参2....2.过程名(实际参数1,实参2....) 函数调用格式set udfparms to value 按值传递set udfparms to reference 按引用传递函数调用格式受命令的影响,按值传递形参变实参不变按引用传递形参变实参也变,"do "的调用格式不受影响,形参变实参都变四、程序中变量的作用范围1.程序中的变量分为三种:全局变量(公共变量),私有变量,局部变量2.全局变量public 变量名3.局部变量local 变量名4.私有变量除了用public 和local 定义的变量,直接使用的都叫私有变量5.private 变量名作用是隐藏同名的变量,使其暂时不起作用第九课关系数据库标准语言SQL一、SQL的核心内容叫查询 "select"二、查询语句基本格式 (不用打开表就可以操作)1.简单查询select 字段名... from 表名 [where 条件].....在 select 后查询 from 后表格的所有的字段用 "*"distinct 去掉查询结果的重复值 ,一个select 命令只能用一个2.简单连接查询select 字段名.. from 表1,表2... where 表1.公共字段=;表2.公共字段 [and 其他条件]3.嵌套查询最多分两层(外层和内层)select 字段 from 表1 where 公共字段 in|not in;(select 公共字段 from 表2 [where 条件])4.几种特殊的运算符(1)between ..and ..例如:工资 between 1220 and 1250(2)like可以出现通配符"%"代表任意字符 "_"代表一个字符5.排序短语order by 字段1 [asc|desc][,字段2 [asc|desc]...] select -from- where- order by放在整个查询语句的末尾或 where 条件之后,对查询结果进行排序6.简单计算查询count() 统计计数sum() 求和值avg() 求平均max() 求最大值min() 求最小值这5个函数都是用在select 后的字段上或having 的条件里,不能直接出现在 where 条件里7.分组与计算查询 "每个,每..."短语 group by 字段名 [having 分组条件]位置:select -from-where-group by [having] order by8.利用空值查询is null 或 is not null9.别名(1)字段别名除了排序 order by 之外一般都不能用select 字段或表达式 as 新字段名 from ....select 字段或表达式空格新字段名 from ....(2)表别名表的别名是整句命令都必须使用表的新名select -from 表1 as 新表名select -from 表1 空格新表名第十课 SQL 语句一、查询1.使用量词和谓词查询量词: any some all(了解)谓词: exists 和 not exists (可以实现和嵌套相同的功能)select字段 from 表1 where exists|not exists(select *; from 表2 where 表1.公共字段=表2.公共字段)[and 条件]select 字段 from 表1 where 公共字段 in|not in;(select 公共字段 from 表2 [where 条件])2.超链接格式(考上机题的改错)(了解)[inner] join 内连接left join 左连接right join 右连接full join 全连接join ...on 短语连用3.集合的并运算(了解)union4.查询去向(1)只显示前几条记录top n[percent] 必须和 order by 连用(2)将查询结果给数组into array 数组名select-from -[where][group by][order b]. into array 数组(3)将查询结果给永久表into table 表名或 into dbf 表名(4)将查询结果给临时表into cursor 表名(5)将查询结果给文本文件to file 文件名(6)将查询结果给打印机to printer二、操作功能1.插入记录(插入到指定表的末尾)insert into 表名 values(表中各记录的值)insert into 表名(字段名...) values(各字段的记录值) insert into表名 from array 数组名(数组中的值必须和表中的记录类型吻合) 2.更新记录(修改表中的记录)replace 字段 with "值" for 条件update 表名 set 字段名=值 [where 条件]3.逻辑删除delete from 表名 [where 条件]4.表结构的修改(了解)(表设计器中的内容)alter table 表名 ......例如:alter table 仓库 add 工资 N(4)alter table 仓库 drop 工资alter table 仓库 alter 面积 N(3)alter table 仓库 rename 面积 to mjalter table 仓库 add 工资 I check (工资>=0) ;error "工资的值必须大于等于零" default 0alter table 仓库 add unique 仓库号 tag 仓库号候选索引index on 表达式 tag 索引名 candidate 候选索引第十一课查询设计器与视图一、查询设计器(.qpr)1.新建(1)菜单-文件-新建-查询(或常用工具栏)(2)命令 create query [查询文件名]2.新建完查询之后一定要保存并运行运行方法:(1)在查询设计器打开的情况下用常用工具栏上的"!"(2)程序菜单-运行(3)命令 do 查询文件名.qpr3.查询设计器中各选项卡与 select 语句的对应(1)字段选项卡-select(2)联接选项卡-join on(3)筛选选项卡-where(4)排序依据-order by(5)分组依据-group by(6)杂项- distinct 和 * top n(7)查询去向-into table |cursor |to file|to printer查询设计器可以实现与select 语句相同的功能,但是做不了嵌套二、视图(相当于表)1.新建(1)文件-新建-视图(或常用工具栏)(2)用SQL 语句 create view 视图名 as select -from -where..... 2.视图必须依附于数据库存在,在建立视图的时候必须有一个当前数据库视图不占内存空间,随着数据库的打开而打开,关闭而关闭3.视图建立完毕后必须保存,并且自动保存到当前数据库中,并且不用运行选择题:视图比查询多了个“更新条件”少了个“查询去向”4.删除视图(1)在数据库中直接删除(2)命令 drop view 视图名第十二课表单设计与应用一、表单新建(.scx)1.文件-新建-表单(或常用工具栏)2.命令 create form [表单文件名]二、表单设计完成后要保存并运行运行方法:1.常用工具栏-"!"2.命令 do form 表单文件名三、表单设计器工具的使用四、对象属性访问及对象方法调用的基本格式对象引用.对象属性例如:thisform.caption="你好" 在command1的click 写对象引用.对象方法例如:thisform.release五、常用事件方法1.事件load init destroy unload error gotfocusclick dblclick rightclick interactivechange2.方法release refresh show hide setfocus六、常用控件对象的使用1.标签(label1) <- name 名称属性: caption :标题,指定标签中的文本内容alignment:指定标题文本在控件中显示的对齐方式2.命令按钮(command1)属性: default:该属性设为.t. 称为:"确认"cancel:该属性设为.t. 称为:"取消"enabled:指定对象能不能用visible:指定对象可不可见第十三课命令组文本框编辑框复选框选项组一、命令按钮组(commandgroup1)(了解)常用属性:1.buttoncount 指定命令按钮的个数2.buttons 用于存取命令组中各按钮的数组例如: /doc/d7*******.html,mandgroup1.buttons(1). caption="第一个"/doc/d7*******.html,mand1.caption="第一个"3.value 指定命令组当前的状态默认数值型,可以改成字符型二、文本框(text1)1.value 返回文本框的当前内容或赋值给文本框值,默认字符型2.passwordchar 指定文本框控件内是显示用户输入的字符还是占位符3.inputmask 指定在一个文本框中如何输入和显示数据X:代表任意一位字符#:代表任意的0-9数字,正负号和空格9:代表任意的0-9数字新建属性和方法程序在表单设计器设计的同时,选择菜单"表单"-新建属性和新建方法程序三、编辑框(edit1)(了解)1.allowtabs :指定编辑框能否使用tab键2.hideselection :当编辑框失去焦点时编辑框中选定的文本是否仍为选定状态3.readonly:指定是否只读4.scrollbars :是否具有垂直滚动条5.selstart:返回用户在编辑框中所选文本的起始点位置或插入位置6.sellength:返回用户在编辑框中所选文本的长度7.seltext:返回用户在编辑框中选定的文本内容四、复选框(check1)1.caption 指定显示在复选框右边的文字标题2.value 指定复选框的当前状态数值型: 1 代表选中 0 代表未选中逻辑型: .t. 代表选中 .f.代表未选中五、选项组(optiongroup1)1.buttoncount :指定选项按钮组中按钮的个数2.buttons : 用于存取选项组中各按钮的数组例如: thisform.optiongroup1.buttons(2).caption="第一个"thisform.optiongroup1.option1.caption="第一个"3.value 指定选项组当前的状态默认数值型,可以改成字符型第十四课列表框组合框表格一、列表框(list1)属性:1.rowsource 数据源2.rowsourcetype 数据源的类型 0-93.list :用以存取列表框中数据条目的字符串数组thisform.list1.list(1)4.listcount:指明列表框中数据条目的数目thisform.list1.listcount5.columncount:指定列表框的列数6.value:返回列表框中被选中的条目7.selected:指定列表框内某个条目是否处于选定状态if thisform.list1.selected(1)=.t.endif8.multiselect :指定用户能否在列表框内进行多重选定二、组合框(combo1)1.style:选择组合框的类型0-下拉组合框 :可以选择也可以输入值2-下拉列表框 :只能选择不能输入新值组合框的相关属性与列表框相同,但是组合框没有多选属性:multiselect,而且组合框要显示内容也必须修改 rowsource 和 rowsourcetype 0-9十种三、表格(grid1)1.recordsource 数据源2.recordsourcetype 数据源的类型 0-4 五种类型3.columncount: 表格的列数4.linkmaster :显示表的父表名称5.childorder:建立一对多关联的子表的索引名第十五课页框计时器微调控件类表单向导一、页框(pageframe1)1.pagecount: 指明一个页框对象所包含的页的个数2.pages:是用于存取页框中某个页对象的数组thisform.pageframe1.page1.caption="你好"thisform.pageframe1.pages(1).caption=""3.tabs:指定页框中是否显示页面标签栏4.tabstretch:若标题文本太长是否显示多重行5.activepage:返回页框中当前活动页的页号或使页框的指定页成为活动页二、计时器(timer1)1.interval :每间隔多少毫秒执行一次计时器timer1的timer事件三、微调控件(spinner1)1.spinnerhighvalue:最大值2.spinnerlowvalue:最小值3.value:默认值4.increment:增量四、类(.vcx)(了解)1.新建(1)文件-新建-类(或常用工具栏)(2)create class2.打开五、用表单向导新建表单分为:表单向导和一对多表单向导 13 1430 29第十六课菜单一、菜单(.mnx)1.新建(1)文件-新建-菜单(或常用工具栏)(2)命令 create menu [菜单名]2.分类:条形菜单和弹出式菜单。
Vf基础操作代码
Vf的基础操作命令Ctrl+F4 隐藏命令窗口Ctrl+F2 显示命令窗口dir 显示当前目录下表的信息clear 清除主屏幕quit 直接退出vf系统create database{DatabaseName | ?} 建立数据库:其中参数DatabaseName给出了要建立的数据库名称,如果不指定数据库名称或使用问号都会弹出对话框请用户输入数据库名称。
Open database{fileName | ?} 打开数据库fileName:要打开的数据库名(默认的数据库文件扩展名.dbf),如果不指定数据库名或使用问好“?”,则显示“打开”对话框;exclusive:以独占方式打开数据库(等价于在“打开”对话框中选择复选框“独占”),既不允许其他用户在同一时刻也使用该数据库;shared:以共享方式打开数据库(等价于在“打开”对话框中不选择复选框“独占”),即允许其他用户在同一时刻使用该数据库,默认打开方式由set exclusive命令设置的值确定;noupdate:指定数据库按只读方式打开(等价于“打开”对话框中选择复选框“以只读方式打开”),即不允许对数据库进行修改。
默认的打开方式是读/写方式(即可修改);validate:指定vf检查在数据库中引用的对象是否合法,例如检查数据库中的表和索引是否可用,检查表的字段或索引的标记是否存在等。
注意:这里的noupdate选项实际并不起作用,为了使数据库中的表是只读的,需要在用use命令打开表时使用noupdate;当数据库打开时,包含在数据库中的所有表都可以使用,但是这些表不会自动打开,使用时需要用use命令打开;vf在同一时刻可以打开多个数据库,但在同一时刻只有一个当前数据库,也就是说所有作用于数据库的命令或函数是对当前数据库而言的。
指定当前数据库的命令是:set database to{databaseName} 参数databaseName指定一个已经打开的数据库名称成为当前数据库,如果不指定参数,即输入命令:set database to 此时使得所有打开的数据库都不是当前数据库(注意:所有的数据库都没有关闭,只是都不是当前数据库)。
VF的基本操作
第二章VF的基本操作第一节VF的安装及其界面的简介一VF的安装首先要买一张VF的安装光盘或者去网络上下载安装软件包。
我认为买光盘好一点,一张D版【即盗版】的光盘才几块钱,而质量与正版的没什么差别。
若去下载的话,在如今的网速下,没有几十分钟是下不完的。
然后,把光盘插入光驱,在"我的电脑"里进入光盘,双击『setup』文件,接下来就按电脑提示操作就OK了。
【许多软件安装时需要产品序列号,VF也需要。
请在安装光盘里的txt文件里找到它——就是一大串数字,再把它复制到需要填产品序列号的位置】。
若是软件包,请解压缩后,直接双击『setup』文件。
二界面简介它的界面与WORD的差不多,其实大多数软件的界面都相差无几。
下面介绍VF主界面上的部分菜单。
1、文件菜单与一般的MICROSOFT软件菜单类似,有文件的『新建』、『打开』、『关闭』、『保存』、『另存为』和『还原』等命令。
具有创建新文件,打开文件,存储文件,关闭文件,关闭窗口,打印设置和打印,退出系统操作等功能。
2、编辑菜单编辑菜单包括了编辑文本的所有命令,比如:『撤消』、『重做』、『剪切』、『复制』、『粘贴』等。
3、窗口菜单窗口菜单主要负责管理窗口操作。
4、帮助菜单帮助菜单为学习者提供强大的帮助功能。
第二节进入和退出VF的操作进入VF,即启动VF语言。
启动VF常用的有两种方式:第一种是单击『开始』菜单,选『程序』,再选火狐狸头像的『Foxpro』程序。
第二种是双击桌面上的火狐狸头像的『Foxpro』程序的快捷方式。
退出VF,在命令框输入:quit 然后回车即可。
系统将保存并关闭所有文件然后退出。
第三节文件的打开和保存一打开文件菜单方式:选『文件』→『打开』,在浏览里查找到你要打开的文件(如,数据表,项目,程序等),点『确定』按钮即可。
命令方式:略。
二保存文件菜单方式:选『文件』→『保存』即可。
若是第一次保存,电脑会提醒你输入文件名。
命令方式:略。
vf基本操作知识点
项目、数据库、表、数据完整性基本操作:1、新建项目(1)新建项目的命令是:create project 项目名称执行完这条命令会出现项目管理器窗口。
(2)新建项目的非命令方式:“文件”菜单——“新建”菜单项——“新建”对话框——项目——新建按钮。
2、新建数据库(1)新建数据库的命令是:modify database 数据库名称执行完这条命令会出现数据库设计器。
(2)新建数据库的非命令方式:“文件”菜单——“新建”菜单项——“新建”对话框——数据库——新建按钮。
(3)如果此时已经建立了项目,并且题目要求在项目中新建数据库,方法如下:项目管理器——“数据”选项卡——选中“数据库”——单击“新建”按钮3、打开数据库打开数据库的命令是:open database 数据库名称打开数据库其实根本算不上一个考点,但是所有的试题都会用到它,可不要一时紧张连它也不记得了!!!!!4、添加数据库这里所说的添加数据库一般是指向项目中添加数据库,方法如下:项目管理器——“数据”选项卡——选中“数据库”——单击“添加”按钮5、新建表新建表分为新建数据库表和新建自由表,一般来说,考点在新建数据库表,新建自由表考得几率是很小的。
(1)新建数据库表:鼠标右键单击数据库设计器,在弹出的右键菜单中选择“新建表”即可。
(2)新建自由表:在项目管理器中建立自由表:项目管理器——“数据”选项卡——自由表——单击“新建”按钮不在项目管理器中建立自由表:先关闭当前数据库,然后在命令窗口中输入命令“create”。
6、添加表添加表是指向数据库中添加自由表,方法如下:鼠标右键单击数据库设计器,在弹出的右键菜单中选择“添加表”即可。
7、删除、移出表删除、移出表的操作基本相同:项目管理器——“数据”选项卡——单击要删除或移出的表的名称——单击“移去”按钮,此时弹出一个消息框,询问是要将表移出还是删除,在这里大家一定要慎重,看清楚了再选择,移出表只是把表移出数据库,并不是真的删除表。
VF常用命令及其格式
VF常用命令及其格式1、打开表命令:USE表文件名教材P672、关闭表命令:USE、CLOSE ALL P683、记录指针定位命令:GO数值表达式(绝对移动)、SKIP(相对移动)P69-704、替换(修改)记录命令:REPLACE字段1WITH表达式1,字段2WITH表达式2……[范围][FOR<条件>]P795、复制表命令:COPY TO新文件名[FOR〈条件〉][范围]P84 复制表结构命令:COPY STRU TO新表文件名[FIEL〈字段名表〉]P856、建立索引命令:INDEX ON关键字段TO单索引文件名INDEX ON关键字段TAG索引标识名P897、查询命令:(1)条件查询:LOCATE FOR〈条件〉P93继续查找命令:CONTINUE P93(2)索引查询:FIND字符表达式P94SEEK表达式P95继续查找命令:SKIP P958、选择工作区命令:SELE工作区号|别名P1059、建立表之间的关联命令:SET RELATION TO关联表达式INTO别名P10810、表的更新命令:参考我的课件第三章第五节关于表的更新部分UPDATE ON关键字段FROM别名REPLACE字段1WITH表达式1,字段2WITH表达式2……[RANDOM]11、交互式输入命令:(1)INPUT[提示信息]TO内存变量P139(2)ACCEPT[提示信息]TO内存变量P13913、输出命令:?和??P141常用命令:1、设置默认路径命令:SET DEFA TO盘符:\路径2、关闭表命令:CLOSE TABLE,CLEAR ALL3、记录显示命令:LIST/DISP[范围][FOR〈条件〉]P724、追加记录命令:(1)表尾追加:APPEND[BLANK]P80(2)表中插入:INSERT[BEFORE][BLANK]P81 P81(3)从其他文件中追加多条记录到当前表:APPEND FROM文件名[FOR〈条件〉][FIEL<字段名表>]5、删除记录命令:DELE[范围][FOR<条件>]P826、彻底删除带标记记录命令:PACK7、取消删除标记命令:RECALL[范围][FOR<条件>]P838、物理删除表中所有记录命令:ZAP P849、复制任何类型文件:COPY FILE〈文件名1〉TO〈文件名2〉P8410、将单个记录发送到数组:SCATTER TO〈数组名〉[FIEL〈字段名表〉]P8511、将数组中的值发送到当前记录命令:GATHER FROM数组名P9612、将表中多条记录传送到数组命令:COPY TO ARRAY数组名P8613、将二维数组中的值传送到表中:APPEND FROM ARRAY数组名P8714、表的排序命令:SORT ON〈字段1〉/A|/D,字段2/A|/D to新表文件名P8715、打开索引文件命令:SET INDEX TO索引文件名表P9116、设置主控索引命令:SET ORDER TO单索引文件名|TAG索引标识P9117、更新索引文件命令:REINDEX P9218、关闭索引文件:SET INDEX TO、CLOSE INDEX、CLOSE ALL、CLEAR ALL、USE P9219、删除索引标识命令:DELE TAG索引标识名P92删除单索引文件命令:DELE FILE单索引文件名P9220、表的浏览命令:BROWSE P7321、记录的过滤命令:SET FILTER TO条件P7622、字段的过滤命令:SET FIELDSS TO字段名表P7723、表之间的连接命令:JOIN WITH别名TO新表文件名FOR条件P10724、设置一对多关系命令:SET SKIP TO别名P10925、数据库相关命令:打开:OPEN DATA数据库名P111新建:CREAT DATA数据库名P111修改:MODI DATE数据库名关闭:CLOSE DATA、CLOSE DATA ALL、CLOSE ALL、CLEAR ALL设置当前数据库命令:SET DATA TO数据库名26、程序相关命令:建立/修改程序:MODI COMMAND程序文件名运行程序:DO程序文件名27、内存变量/数组赋值命令:=、STORE P138或P3828、交互式输入命令:@行,列SAY表达式GET变量P13929、文本输出命令:TEXT〈输出显示内容〉ENDTEXT P14330、终止程序执行命令:CANCEL、QUIT、RETURN P14331、清除主屏幕命令:CLEAR P14332、系统设置命令:(1)设置精确比较命令:SET EXACT ON/OFF(2)设置删除标记命令:SET DELE ON/OFF。
VF代码①
VF编程代码一、表单代码(共7个,每套试卷表单设计均以此为例)1、写在自建方法程序中(例:自建方法程序,命名为“mo..”)nrec=recno()do casecase nrec=ntopmand1.enabled=.f.mand2.enabled=.f.mand3.enabled=.t.mand4.enabled=.t.case nrec=nbottommand1.enabled=.t.mand2.enabled=.t.mand3.enabled=.f.mand4.enabled=.f.otherwisemand1.enabled=.t.mand2.enabled=.t.mand3.enabled=.t.mand4.enabled=.t.endcasethisform.refresh2、写在Init Event中public ntop,nbottomgo bottomnbottom=recno()go topntop=recno()thisform.mo..注.:.mo..为自建方法程序名........3、写在逐条命令按钮中。
首条go topthisform.mo4、上一条skip -1if bof()go topendifthisform.mo5、下一条skipif eof()go bottomendifthisform.mo6、末条go bottomthisform.mo7、关闭thisform.release二、程序设计代码1、题目:1到50之间的所有数之积(即s=1*2*3* (50)set talk offclears=1for i=1 to 50s=s*iendfor?'1*2*......*50=',sset talk onreturn运行结果:3.14040932……E+642、题目:0到100之间的所有数之和(即s=1+2+3+ (100)set talk offclearsum=0for i=1 to 100sum=sum+iendfor?'1+2+3+......+100=',sumset talk onreturn运行结果:50503、奇数之和的写法:set talk offclearsum=0for i=1 to 99 step 2sum=sum+iendfor?'1+3+5+......+99=',sumset talk onreturn运行结果:25004、偶数之和的写法:set talk offclearsum=0for i=0 to 100 step 2sum=sum+iendfor?'2+4+6+......+100=',sumset talk onreturn运行结果:2550三、菜单设计器(过程为两行代码、命令为一行)1、use xs.dbfBrowsr 注.:.xs..为表名...2、do my.qpr 注.:.my..为以自己名字命名的文件名............3、set sysmenu to default4、do form my.scx5、do my.prg6、report form my.frx preview四、数据类型。
vf常用命令
VF常用命令和程序命令一、主要命令:1、CREATE作用:建立一个新的表。
格式:CREATE [<文件>|?](注意,命令字符可取前面四个字符,后面可省略不写,即CRE A,下同;中括号表示其中的参数是可选的;|管道符号表示两个参数只能选择一个,不能同时选择,下同。
)说明:文件指建立以.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作用:主要用于打开浏览窗口,查阅表文件并同时进行修改。
格式:BROWSE6、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 STA TUS [TO PRINT|TO FILE <文件>]说明:命令带OFF参数表示不显示记录号,范围指定对哪些记录进行操作,范围包括:RECORD n第几号记录、NEXT n 当前记录开始的几个记录、REST 自当前记录开始至文件末尾的所有记录、ALL所有的记录。
ffmpeg vf 语法
FFmpeg的vf( video(filter)语法是一个非常强大的工具,用于对视频进行各种处理和转换。
以下是一些常见的vf语法示例:
1.调整视频大小:
css复制代码
ffmpeg(-i(input.mp4(-vf("scale=800:600"(output.mp4
上述命令将输入视频调整为宽度为800像素,高度为600像素的大小。
2.裁剪视频:
css复制代码
ffmpeg(-i(input.mp4(-vf("crop=50:50:100:100"(output.mp4
上述命令将视频裁剪为50x50像素的区域,从原视频的(100,100)位置开始。
3.应用滤镜效果:
css复制代码
ffmpeg(-i(input.mp4(-vf("eq=brightness=0.1:contrast=1.1"(output.mp4
上述命令应用了亮度滤镜,增加了0.1的亮度,并应用了对比度滤镜,增加了1.1的对比度。
4.翻转视频:
css复制代码
ffmpeg(-i(input.mp4(-vf("hflip,vflip"(output.mp4
上述命令将水平翻转和垂直翻转应用于输入视频。
这只是vf语法的冰山一角,它还包括许多其他功能和滤镜效果,可以根据需要进行组合和调整。
建议查阅FFmpeg官方文档或相关教程以获取更详细和全面的信息。
VFP常见命令按钮组的代码
常见命令按钮组的代码goto top && 指针跳到第一个记录mand1.enabled=.f.mand2.enabled=.f.mand3.enabled=.t.mand4.enabled=.t. && 根据状况设置各按钮的可用状态thisform.refreshskip -1 && 指针后退一个if bof() && 如果已经是第一个记录messagebox("不好意思,已是第一个记录",48,"信息窗口")mand1.enabled=.f.mand2.enabled=.f.skip && 指针前进一个,使之仍然显示第一个记录elsemand1.enabled=.t.mand2.enabled=.t.endifmand3.enabled=.t.mand4.enabled=.t. && 根据状况设置各按钮的可用状态thisform.refreshskipif eof() && 如果已经是最后一条记录messagebox("不好意思,已是最后一条记录",48,"信息窗口")skip -1 && 记录后退一个,使之仍然显示最后一条记录mand3.enabled=.f.mand4.enabled=.f.elsemand3.enabled=.t.mand4.enabled=.t.endifmand1.enabled=.t.mand2.enabled=.t.thisform.refreshgoto bottommand3.enabled=.f. mand1.enabled=.t. mand2.enabled=.t. thisform.refresha=messagebox("你真的要退出吗?",4+16+0,"对话") if a=6release thisformendif********************* ********************* 首记录go topdfirst.enabled=.f. dlast.enabled=.t. dpre.enabled=.f. dnext.enabled=.t. thisform.refresh末记录go bottomthis.enabled=.f.dfirst.enabled=.t. dpre.enabled=.t. dnext.enabled=.f. thisform.refresh前一条skip -1if bof()this.enabled=.f.dfirst.enabled=.f. dlast.enabled=.t. dnext.enabled=.t. elsethis.enabled=.t.dfirst.enabled=.t. dlast.enabled=.t. dnext.enabled=.t. endifthisform.refresh下一条skip 1if eof()this.enabled=.f.dfirst.enabled=.t. dlast.enabled=.f. dnext.enabled=.t. elsethis.enabled=.t.dfirst.enabled=.t.dlast.enabled=.t. dnext.enabled=.t. endifthisform.refresh增加if len(thisform.编号1.value)=0go bottomdelepackwait window "编号不能为空" timeout 1 endifappendthisform.refresh删除if messagebox("确实要删除本记录么?",1+64+256,"提示")=1 deletepackskip -1thisform.refreshendif。
VFP:【第一条】、【上一条】、【下一条】、【最后一条】命令按钮控件代码
VFP:【第一条】、【上一条】、【下一条】、【最后一条】命令按钮控件代码一、在表单窗口单击右键,选择“代码”,在“过程”下拉列表框中选择“Init”,在下部代码窗口输入以下代码:Public 首记录,末记录GO BOTTOM末记录 = recno()GO TOP首记录 = recno()Thisform.第一条.enabled = .F.Thisform.上一条.enabled = .F.二、在表单中加入四个命令按钮控件,把它们的Caption属性依次改为“第一条”、“上一条”、“下一条”、“最后一条”,Name属性也依次改为“第一条”、“上一条”、“下一条”、“最后一条”,并分别为它们输入Click过程代码。
【第一条】click事件代码IF recno() = 末记录Thisform.下一条.enabled=.t. &&使【下一条】按钮可用Thisform.最后一条.enabled=.t. &&使【最后一条】按钮可用ENDIFGO TOPThisform.第一条.enabled=.f. &&使【第一条】按钮不可用Thisform.上一条.enabled=.f. &&使【上一条】按钮不可用Thisform.refresh【上一条】click事件代码IF recno() = 末记录Thisform.下一条.enabled=.t. &&使【下一条】按钮可用Thisform.最后一条.enabled=.t. &&使【最后一条】按钮可用ENDIFSKIP -1IF recno() = 首记录Thisform.第一条.enabled=.f. &&使【第一条】按钮不可用Thisform.上一条.enabled=.f. &&使【上一条】按钮不可用thisform.refreshmessagebox("已经是第一条纪录!",0,"纪录情况")ENDIFthisform.refresh【下一条】click事件代码IF recno() = 首记录Thisform.第一条.enabled=.t. &&使【第一条】按钮可用Thisform.上一条.enabled=.t. &&使【上一条】按钮可用ENDIFSKIP 1IF recno() = 末记录Thisform.下一条.enabled=.f. &&使【下一条】按钮不可用Thisform.最后一条.enabled=.f. &&使【最后一条】按钮不可用thisform.refreshmessagebox("已经是最后一条纪录!",0,"纪录情况")ENDIFthisform.refresh【最后一条】click事件代码thisform.text1.value = "" &&清除答案输入文本框原有内容IF recno() = 首记录Thisform.第一条.enabled=.t. &&使【第一条】按钮可用Thisform.上一条.enabled=.t. &&使【上一条】按钮可用ENDIFGO BOTTOMThisform.下一条.enabled=.f. &&使【下一条】按钮不可用Thisform.最后一条.enabled=.f. &&使【最后一条】按钮不可用thisform.refresh。
vf命令大全加粗版
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 [FIELDS <字段名表>]6、USE作用:打开和关闭表文件。
格式:USE [<文件名>] USE说明:前一个命令用来打开<文件名>指定的表文件,该表如有备注型字段,则同时打开相应的备注文件(.fpt文件);后一个命令关闭当前打开的表文件。
7、LIST和DISPLAY作用:显示表(.dbf)的内容、结构或状态。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Vf的基础操作命令Ctrl+F4 隐藏命令窗口Ctrl+F2 显示命令窗口dir 显示当前目录下表的信息clear 清除主屏幕quit 直接退出vf系统create database{DatabaseName | ?} 建立数据库:其中参数DatabaseName给出了要建立的数据库名称,如果不指定数据库名称或使用问号都会弹出对话框请用户输入数据库名称。
Open database{fileName | ?} 打开数据库fileName:要打开的数据库名(默认的数据库文件扩展名.dbf),如果不指定数据库名或使用问好“?”,则显示“打开”对话框;exclusive:以独占方式打开数据库(等价于在“打开”对话框中选择复选框“独占”),既不允许其他用户在同一时刻也使用该数据库;shared:以共享方式打开数据库(等价于在“打开”对话框中不选择复选框“独占”),即允许其他用户在同一时刻使用该数据库,默认打开方式由set exclusive命令设置的值确定;noupdate:指定数据库按只读方式打开(等价于“打开”对话框中选择复选框“以只读方式打开”),即不允许对数据库进行修改。
默认的打开方式是读/写方式(即可修改);validate:指定vf检查在数据库中引用的对象是否合法,例如检查数据库中的表和索引是否可用,检查表的字段或索引的标记是否存在等。
注意:这里的noupdate选项实际并不起作用,为了使数据库中的表是只读的,需要在用use命令打开表时使用noupdate;当数据库打开时,包含在数据库中的所有表都可以使用,但是这些表不会自动打开,使用时需要用use命令打开;vf在同一时刻可以打开多个数据库,但在同一时刻只有一个当前数据库,也就是说所有作用于数据库的命令或函数是对当前数据库而言的。
指定当前数据库的命令是:set database to{databaseName} 参数databaseName指定一个已经打开的数据库名称成为当前数据库,如果不指定参数,即输入命令:set database to 此时使得所有打开的数据库都不是当前数据库(注意:所有的数据库都没有关闭,只是都不是当前数据库)。
Modify database {databaseName | ?} 打开数据库设计器:nowait:该参数只在程序中使用(在互交使用的命令窗口中无效),作用是在数据库设计器打开后程序继续执行modify database nowait 之后的语句,如果不使用该参数,在打开数据库设计器后,应用程序会暂停,直到数据库设计器关闭后应用程序才会继续执行;noedit使用该参数只是打开数据库设计器,而禁止对数据库进行修改。
Delete database databaseName 删除数据库:deletetables 选择该参数则会在删除数据库文件的同时从磁盘上删除该数据库所含的表(dbf文件)等;recycle选择该参数则会将删除的数据库文件和表文件等放入Windows的回收站中,如果需要的话,还可以还原他们。
Create 建立新表open database 打开数据库Use tableName 打开表重复使用关闭表tableName表名Modify structure修改当前表结构Browse 浏览器的界面Append或append blank(尾部追加空记录)表的尾部追加记录Insert{before} {blank} 如果不指定before,则在当前记录后插入新纪录,否则在当前记录之前插入一条新纪录。
如果不指定blank,则直接添加记录窗口,并交互输入记录的值,否则在当前记录之后(或之前)插入一条空白记录。
Delete{for [expression]} 逻辑删除如果不用for短语指定逻辑条件,则只逻辑删除当前一条记录;如果用for短语指定了逻辑表达式[expression],则逻辑删除使该逻辑表达式为真的所有记录delete for 年龄=20 delete for 性别=”女”。
Pack 物理删除有删除标记的记录,并且不能再恢复。
Zap 物理删除表中的全部记录(不管是否有标记),该命令只是删除全部记录,并没有删除表,执行完该命令后表结构依然存在。
Edit和change命令均用于交互对当前表的记录进行编辑、修改。
Replace fieldName1 with eexpression1{, fieldname2 witheexpression2}…replace {for eexpression1} 该命令的功能是直接利用表达式eexpression的值替换文字段fieldNamel 的值,从而达到修改记录值的目的,该命令一次可以修改多个字段(eexpression1、eexpression2…)的值,如果不使用for短语,则默认修改的是当前记录;如果使用了for短语,则修改逻辑表达式eexpression1为真的所有记录。
举例;replace all 年龄with 年龄+1List/dirplay{[fields] fieldlist} {for eexpression1} {off}{to printer [prompt] | to file fileName}fieldlist是用逗号隔开的字段名列表,默认显示全部字段;eexpression1是条件表达式,如果使用for短语指定条件,则只显示满足条件的记录;to printer说明将结果输出到打印机,如果还使用了prompt 则在打印机之前出现一个打印设置对话框,可以对打印机进行设置;to file 说明将结果输出到文件,fileNames是文件名。
举例;list for 性别=”男”Go to和go是等价的Go nrecordNumber | top | bottom top是表头bottom是表尾Skip移动命令默认值是1,正数向后移动,负数向前移动。
Locate for eexpression1 locate是按条件定位记录命令。
eexpression1是查询或定位的表达式。
Continue寻找下一处FOXBASE+命令全集一.数据库相关的命令1.退出命令:格式:QUIT功能:退出FOXBASE+系统。
2.建立数据库:格式:CREATE <数据库文件名>功能:建立数据库文件3.显示数据结构:格式:LIST STRUCTURE 或DISPLAY STRUCTURE功能:显示当前库的构。
4.修改数据库结构;格式;MODIFY STRUCTURE 功能:修改数据库结构。
5.打开数据库;格式:USE [数据库文件名[ALIAS<别名>]]6.追加记录:APPEND [BLANK]7.插入记录:INSERT [BEFORE][BLANK]8.从文件追加记录:APPEND FROM <数据库文件名>[FOR<条件>][FIELDS<字段名清单>][范围]9.显示记录:LIST [范围][FOR |WHILE<条件>][FIELDS<字段名清单>][OFF][TO PRINT]DISPLAY [范围][FOR |WHILE<条件>][FIELDS<字段名清单>][OFF][TO PRINT]10.记录指针移动:绝对移动:GO|GOTO <数值表达式> |TOP|BOTTOM相对移动:SKIP[数值表达式]11.修改记录:EDIT [范围][FIELDS<字段名清单>][FOR|WHILE<条件>]GHANGE [范围] [FIELDS<字段名清单>] [FOR|WHILE<条件>]REPLACE [范围]< 字段名1> WITH <表达式1>。
[FOR|WHILE<条件>]BROWSE [FIELDS<字段清单>][LOCK<数值表达式>][FREEZE<字段名>] [NOMENU] [NOAPPEND] [NOMODIFY] [WIDTH<数值表达式>] [NOFOLLOW]12.逻辑删除记录:DELETE [范围][FOR|WHILE< 条件>]13.恢复记录:RECALL[范围][FOR|WHILE< 条件>]14.物理删除:PACK15.全部物理删除:ZAP16.设置删除标记生效或无效:SET DELETE ON |OFF17.记录值送数组:SCATTER TO < 数组名>[FIELDS<字段名清单>]18.数组值送记录:GATHET FROM<数组名>[FIELDS<字段名清单>]19.建立排序文件:SORT ON 字段名1[/A/D/C],字段名2[ /A/D/C]。
TO <数据库文件名>[FOR|WHILE<条件>][FIELDS<字段名清单>][范围]20.建立索引文件:INDEX ON <关键字表达式>TO< 索引文件名> [UNIQUE ]21.索引文件的打开:USE [数据库文件名INDEX<索引文件名清单>]SET INDEX TO [<索引文件名清单>]22.索引文件的关闭:SET INDEX TOCLOSE INDEX23.主索引文件的改变:SET ORDER TO <数值表达式>24.索引文件的重建:REINDEX25.顺序查找:LOCATE FOR< 条件> [范围]配合命令:CONTINUE26.索引查找:FIND 字符串|数字SEEK <表达式>27.过滤筛选记录:SET FILTER TO [<条件>]29.统计记录个数:COUNT[范围] [FOR|WHILE<条件>][TO <内存变量>]30.纵向求和:SUM [范围][表达式清单][FOR|WHILE< 条件>][TO <内存变量清单>]31.纵向求平均值:AVERAGE [范围][表达式清单][FOR|WHILE< 条件>][TO <内存变量清单>]32.分类汇总:TOTAL ON <关键字>TO <汇总库名>[FOR |WHILE<条件>][FIELDS<字段名清单>][范围]33.选择工作区:SELECT <工作区号>|<别名>|<0>34.数据库的关联:SET RELATION TO [<关键字>|<数值表达式>|<RECNO( )> INTO <别名>][ADDITIVE]35.数据库的横向连接:JION WITH<别名> TO <数据库文件名> FOR<条件> [FIELDS<字段名清单>]36.数据库的更新:UPDATE ON <关键字> FROM <别名> REPLACE <字段名1> WITH <表达式1> [,<字段名2> WITH <表达式2>…][RANDOM]37.复制数据库:COPY TO <数据库文件名> [范围] [FOR|WHILE<条件>] [FIELDS<字段名清单>]38.复制数据库结构:COPY STRUCTURE TO <数据库文件名> [FIELDS<字段名清单>]39.生成结构描述文件:COPY TO <数据库文件名> STRUCTURE EXTENDED40.由结构描述文件建立数据库文件结构:CREATE <数据库文件名> FROM <结构描述文件名>41.复制成文本文件:COPY TO <文本文件名> [范围][FOR|WHILE<条件>][FIELDS<字段名清单>][TYPE]<文件类型>标准格式:SDF紧凑格式:DELIMITED [WITH<分隔符>|BLANK]42.将文本文件追加到数据库文件成为记录:APPEND FROM <文本文件名> [TYPE] <文件类型>43.列文件目录:DIR <文件名> [TO PRINT ]44.磁盘文件的复制:COPY FILE <源文件名> TO <目标文件名>45.文件重命名:RENAME <源文件名> TO < 新文件名>46.删除文件:DELETE FILE <文件名>或ERASE <文件名>47.显示文本文件内容:TYPE <文件名> [TO PRINT]48.内存变量的显示:LIST MEMORY [TO PRINT]或DISPLAY MEMORY [TO PRINT]49.内存变量的保存:SAVE TO <内存变量文件名> [ALL LIKE |EXCEPT <内存变量名结构>]50.内存变量的清除:RELEASE <内存变量名清单>|ALL LIK |EXCEPT<内存变量名结构>51.清除全部内存变量:CLEAR MEMORY 或RELEASE ALL 或CLEAR ALL52.内存变量的恢复:RESTORE FROM <内存变量文件名> [ADDITIVE]53.系统状态设置;SET54.功能键的设置:SET FUNCTION <数值表达式> TO <字符串>55.设置屏幕颜色:SET COLOR TO [<颜色1>[/颜色2]][,<颜色3>[/颜色4]][,颜色5] 56.设置当前驱动器:SET DEFAULT TO [<驱动器号>]57.设置可用字段名:SET FIELDS TO [<字段名清单>|ALL]58.可用字段打开关闭:SET FIELDS ON |OFF59.设置会话方式:SET TALK ON |OFF60.运行DOS 命令:!|RUN <DOS命令>61.注释命令:&&[<注释信息>] 或NOTE |*[<注释信息>]62.清屏:CLEAR63.缓冲区数据存盘:FLUSH64.显示系统状态信息:LIST STATUS [TO PRINT] 或DISPLAY STATUS [TO PRINT] 65.帮助命令:HELP [<项目>]二:函数1.绝对值函数:ABS(<数值表达式>)2.自然指数函数:EXP(<数值表达式>)3.自然对数函数:LOG(<数值表达式>)4.取敕函数:INT(<数值表达式>)5.四舍五入函数:ROUND(<数值表达式>)6.平方根函数:SQRT (<数值表达式>)7.取模函数:MOD(<数值表达式1>,<数值表达式2>)8.最大值函数MAX(<数值表达式1>,<数值表达式2>)9.最小值函数:MIN(<数值表达式1>,<数值表达式2>)10.宏替换函数:&<字符型内存变量>[.]11.子串位置函数:AT (<字符串1>,<字符串2>)12.空格函数:SPACE(<<数值表达式>>)13.截取子字符串函数:SUBSTR(<字符串表达式>,<起始位置>[,<长度>])14.左截取函数:LEFT(<字符串表达式>,<长度>)15.右截取函数:RIGHT(<.字符串表达式>,<长度>)16.字符串长度函数:LEN(<字符串表达式>)17.字符重复函数:REPLICATE(<字符串表达式>,<数值表达式>)18.字符串替换函数:STUFF(<字符串表达式1>,<起始位置>,<长度>,<字符串表达式2>)19.字符转换为ASCII码值:ASC(<字符串表达式>)20.ASCII码值转换为字符:CHR(<数值表达式>)21.数值转换为字符串函数:STR (<数值表达式>[,<长度>][,<小数位>])22.字符串转换为数值函数:VAL(<字符串>)23.字符串转换为日期函数:CTOD(<字符串>)24.日期转换为字符串函数:DTOC(<日期>)25.大写字母转换为小写字母函数:LOWER(<字符串>)26.小写字母转换为大写字母函数:UPPER(<字符串>)27.测试数据类型函数:TYPE(”<表达式>”)28.文件存在函数:FILE (”<盘符:文件名>”)29.条件函数:IIF(<条件>,<表达式1>,<表达式2>)30.当前日期函数:DATE()31.当前时间函数:TIME()32.取年函数:YEAR(<日期型数据>)33.取月函数:MONTH(<日期型数据>)34.取日函数:DAY(<日期型数据>)35.接收用户按键函数:INKEY([<数值表达式>])36.全屏幕编辑状态下的用户按键函数:READKEY()37.系统信息返回函数:SYS(<数值表达式>)38.字段个数函数:FCOUNT()39.记录长度函数:RECSIZE()40.记录号函数:RECNO()41.开始位置测试函数:BOF()42.结束位置测试函数:EOF()43.找到找不到记录函数:FOUND()44.工作区号函数:SELECT()45.记录个数函数:RECCOUNT()46.工作区中打开的数据库文件名函数:DBF(<数值表达式>)三.和程序相关的命令:1.给变量赋值:(1)<内存变量名>=<表达式>(2)STORE <表达式> TO <内存变量名清单>(3)INPUT [提示信息] TO <内存变量名>(4)ACCEEP[提示信息] TO <内存变量名>(5)WAIT[提示信息] [TO <内存变量名>](6)@<行,列> [SAY <表达式>] GET <变量>2.变量值的显示:(1)?<表达式清单>(2)??<表达式清单>(3)@<行,列> SAY <表达式>3.数组的定义:DIMENTION 数组名1(<下标1>[,<下标2>]),数组名2(<下标1>[,<下标2>])……4.程序文件的建立:MODIFY COMMAND [<程序文件名>]5.程序文件的运行:DO <程序文件名>6.中断程序的运行:CANCEL7.结束程序的运行:RETURN [TO MASTER]8.显示文本内容:TEXT<文本内容>ENDTEXT9.单分支结构:IF <条件><语句序列>ENDIF[注释]10.选择分支结构:IF <条件><语句序列1>ELSE<语句序列2>ENDIF[注释]11.多分支结构:DO CASECASE<条件1><语句序列1>CASE<条件2><语句序列2>….CASE<条件n><.语句序列n>[OTHERWISE<语句序列n+1>]ENDCASE[注释]12.单循环结构:DO WHILE <条件><语句序列1>[LOOP]<语句序列2>或SCAN [范围][FOR<条件>][WHILE<条件>][EXIT]<循环体>< 语句序列3>ENDSCANENDDO或FOR <循环控制变量>=<.循环初值>TO <循环终值> [STEP<步长>]<循环体>ENDFOR |NEXT13.多重循环结构:DO WHILE <条件1><语句序列1>DO WHILE <条件2><语句序列2>DO WHILE <条件3><语句序列3>ENDDOENDDOENDDO14.子程序的调用:DO <子程序名> [WITH<参数清单>]15.过程文件的建立:MODIFY COMMAND <过程文件名>16.过程文件的一般格式;PROCEDURE < 过程名1><.命令序列1>RETURN….PROCEDURE <过程名n><命令序列n>RETURN17.过程的打开与关闭:SET PROCEDURE TO [过程文件名]18.接收参数语句:PARAMETERS <参数表>19.自定义函数一般格式:[PARAMETERS<参数表>]<语句序列>RETURN <表达式>20.全局变量:PUBLIC <内存变量表>21.隐藏内存变量:PRIVATE <内存变量>|[ALL LIKE|EXCEPT<通配符>]22.清除屏幕:@<行1,列1> [CLEAR ] [TO <行2,列2>][DOUBLE]23.绘制几何图形:@<行1,列1>,<行2,列2> BOX [<字符串>]24.格式化输出:@<行,列> SAY <表达式>25.格式化输入:@<行,列> [SAY <表达式>]GET<变量>[RANGE<数值1>,<数值2>][VALID<条件>] 26.激活语句:READ27.格式化输入输出命令的一般格式:@<行,列> [SAY <表达式>][PICTURE<格式符>][FUNCTION<功能符>][GET<变量>[PICTURE<格式符>][FUNCTION<功能符>][RANGE<数值1>,<数值2>][VALID<条件>]] 28.屏幕格式文件的建立:MODIFY FILE <屏幕格式文件名>29.屏幕格式文件的打开:SET FORMAT TO <屏幕格式文件名>30.屏幕格式文件影响的命令:APPEND,EDIT,CHANGE,INSERT,READ31.格式文件的关闭:SET FORMAT TO 或CLOSE FORMAT 或CLEAR ALLupdate 123 set sr=substr(csrq,1,4)+"-"+substr(csrq,5,2)+"-"+substr(csrq,7,2)use 职工打开表list 浏览内容只读性list for 性别="男" 搜索有条件的属性create 建立表modify structure 打开表设计器browse 打开表编辑窗口append 追加并编辑一条记录go ?delete 删除某条记录+all 全部删除+rest 删除自以下的go ?recall 恢复记录+all 恢复全部有删除标记的+rest 恢复自以下的go ?pack 彻底删除有删除标记的记录+加all 删除全部有删除标记的skip 跳到下一条记录delete 删除delete for 职工号="" 删除特定如空记录locate for 按条件定位;continue 指向下一条记录create database 创建数据库open database 打开数据库VF基本命令1、打开表命令:USE 表文件名2、关闭表命令:USE 、CLOSE ALL3、记录指针定位命令:GO 数值表达式(绝对移动)、SKIP(相对移动)4、替换(修改)记录命令:REPLACE 字段1 WITH 表达式1,字段2 WITH 表达式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 内存变量13、输出命令:?和??常用命令:1、设置默认路径命令:SET DEFA TO 盘符:\路径2、关闭表命令:CLOSE TABLE,CLEAR ALL3、记录显示命令:LIST/DISP [范围][FOR 〈条件〉]4、追加记录命令:(1)表尾追加:APPEND [BLANK](2)表中插入:INSERT [BEFORE] [BLANK]P81 (3)从其他文件中追加多条记录到当前表:APPEND FROM 文件名[FOR 〈条件〉][FIEL <字段名表>]5、删除记录命令:DELE [范围][FOR<条件>]6、彻底删除带标记记录命令:PACK7、取消删除标记命令:RECALL [范围][FOR<条件>]8、物理删除表中所有记录命令:ZAP9、复制任何类型文件:COPY FILE 〈文件名1〉TO 〈文件名2〉10、将单个记录发送到数组:SCATTER TO 〈数组名〉[FIEL〈字段名表〉]11、将数组中的值发送到当前记录命令:GATHER FROM 数组名12、将表中多条记录传送到数组命令:COPY TO ARRAY 数组名13、将二维数组中的值传送到表中:APPEND FROM ARRAY 数组名14、表的排序命令:SORT ON 〈字段1〉/A|/D,字段2/A|/D to 新表文件名15、打开索引文件命令:SET INDEX TO 索引文件名表16、设置主控索引命令:SET ORDER TO 单索引文件名|TAG 索引标识17、更新索引文件命令:REINDEX18、关闭索引文件:SET INDEX TO 、CLOSE INDEX、CLOSE ALL、CLEAR ALL、USE19、删除索引标识命令: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、文本输出命令:TEXT〈输出显示内容〉ENDTEXT30、终止程序执行命令:CANCEL、QUIT、RETURN31、清除主屏幕命令:CLEAR32、系统设置命令:(1)设置精确比较命令:SET EXACT ON/OFF(2)设置删除标记命令:SET DELE ON/OFF。