VFP常见命令按钮组的代码

合集下载

VFP命令、函数及程序语句大全

VFP命令、函数及程序语句大全

VFP命令、函数及程序语句大全VFP命令、函数及程序语句大全一、主要命令:1、CREATE作用:建立一个新的表。

格式:CREATE [<文件>|?](注意,命令字符可取前面四个字符,后面可省略不写,即CREA,下同;中括号表示其中的参数是可选的;|管道符号表示两个参数只能选择一个,不能同时选择,下同。

)说明:文件指建立以.dbf为扩展名的VFP数据库文件,在命令后面加上一个问号表示系统会弹出对话框,要求用户输入想要建立的表名。

在命令中不加文件名或问号系统也会弹出对话框,要求用户输入想要建立的表名。

2、MODIFY STRUCTURE作用:显示表文件结构,并允许修改此表的结构。

格式:MODIFY STRUCTURE说明:只有在用USE命令打开表文件以后,才能显示或修改表文件的结构。

3、APPEND作用:在当前表的尾部(无论表中有无记录)追加记录(在当前表指当前正使用的表)。

格式:APPEND说明:在APPEND命令后面加上BLANK参数表示在当前表的尾部添加一条空白记录。

无BLANK参数时,表示在当前表的尾部添加一条记录并要求用户输入相应的字段内容。

4、INSERT作用:在表文件中间插入一个新记录。

格式:INSERT [BEFORE]说明: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所有的记录。

VFP_代码

VFP_代码

登陆页面Form loadpublic username,userid,bc, errornumber,inname,inpass errornumber=0bc=0m.inpass=space(20)m.inname=space(20)set exact onreturnForm activatesele userusername=alltrim(name)userid=alltrim(english)ln=len(username)li=len(userid)n=1m=1do while .t.s=subs(username,1,n*2)t=subs(userid,li-m+1,2*m)bel1.left=1024-n*50bel1.caption=sbel2.left=10*m bel2.caption=twa=0for k=1 to 10^5wa=inkey()if wa>0exitendifnextif wa>0exitendifn=n+1if n>lnn=1endifm=m+1if m>lim=1endifenddobel1.left=(1024-ln)/3bel1.caption=usernamebel2.left=(1024-li)/4bel2.caption=useridthisform.pageframe2.enabled=.t.thisform.pageframe2.visible=.t.SET BELL TO 'music.wav',1?? CHR(7)SET BELL TOReturn登陆页面下方的日期代码Form initbel3.caption="当前日期为:"+alltrim(str(year(date())))+"年"+alltrim(str(month(date())))+"月"+alltrim(str(day(date())))+"日"+"星期"+alltrim(str(week(date())))登陆按钮Form clickselect messageif alltrim(m.inpass)="zex"RELEASE thisformdo form xsxxglxt.scxretuendifif len(alltrim(m.inname))=0messagebox("请输入用户名",48+0+0,"操作提示")endifif len(alltrim(inpass))=0messagebox("请输入密码",48+0+0,"操作提示")retuendiflocate all for inname=name.and.password=alltrim(inpass) if .not. found()messagebox("密码与操作人员不配",48+0+0,"操作提示") errornumber=errornumber+1if errornumber>2messagebox("非法用户不可使用",48+0+0,"操作提示")quitendifinname=space(20)inpass=space(20)thisform.refreshretuelseRELEASE thisformmessagebox("欢迎"+alltrim(inname)+"同学!")do form xsxxglxt.scx管理员文本框的control source: m.inname密码文本框的control source:m.inpass退出:clickx=messagebox("真的要退出系统吗?",256+32+4,"操作提示!") if x=6RELEASE thisformquitENDIFretu关于时间代码:timerDO caseCASE bc=0bel2.foreColor=RGB(0,0,255)CASE bc==1bel2.foreColor=RGB(0,255,0)CASE bc=2bel2.foreColor=RGB(255,0,0)CASE bc=3bel2.foreColor=RGB(255,255,0)CASE bc=4bel2.foreColor=RGB(205,39,219)ENDCASEbc=bc+1IF bc=5bc=0ENDIFRETURN关于菜单中浏览报表浏览:clickREPORT FORM streport.frx preview Retu标签浏览:clickLABEL FORM student.lbx preview Retu报表日期和页数标签中的照片插件:连编的代码X=SYS(5)+SYS(2003)SET DEFAULT TO &XSET TALK OFFSET ECHO OFFSET SAFE OFFZOOM WINDOWS SCREEN MAX SET STATUS OFFCLOSE ALLSET SYSMENU OFFSET SYSMENU TOSET DATE YMDSET EXACT ONMODIFY WINDOW SCREEN TITLE '高等院校学生管理系统' MODIFY WINDOW SCREEN ICON FILE BOOK.ICODO FORM face1.scxREAD EVENT邮政编码党员。

VFP命令总汇

VFP命令总汇

一、第四章 VFP基本命令1.创建: CREATE表名达式[P 69]2.打开数据库:USE 表名[P 73]3. 追加记录:APPEND [BLANK][P 74]成批追加:APPEND FROM 表名[FIELDS 字段名表][FOR 条件式]4.显示记录:LIST/DISPLAY[范围][字段名表][FOR <条件式>][P 76]5. 修改数据库结构:MODIFY STRUCTURE [P 87]6.记录定位:(1)绝对移动:GO/GOTO n/Top/Bottom [P 81](2)相对移动:SKIP ±n7. 插入记录:INSERT [BEFORE] [BLANK] [P 82]8. 删除记录:(1)作标记:DELETE[范围][FOR 条件式][P 85](2)撤消标记:RECALL[范围][FOR 条件式](3)彻底删除:PACK(4)全部清空:ZAP9.修改记录:[P 82](1)编辑修改:EDIT/CHANGE[范围][FIELDS 字段名表][FOR 条件式](2)浏览修改:BROWSE[FIELDS 字段名表][FOR 条件式]10.替换记录:REPLACE[范围][FOR 条件]字段名1 WITH 表达式1,……11.数据查询:[P 97]顺序查询:LOCATE [范围][FOR 条件式]CONTINUE12. 表文件复制:[P 88](1) 表文件复制:COPY TO 新表名[范围][FIELDS 字段名表][FOR 条件式](2) 表文件结构复制:COPY STRUCTURE TO 新表名[FIELDS 字段名表]13. 建立索引:INDEX ON 索引表达式TAG 索引名[P 95]14. 指定主控索引:SET ORDER索引名[P 96]14.索引查询: FIND 字符串/常数和SEEK 表达式[P 97]15.选择工作区:SELECT区号/别名[P 101]16.建立关联:SET RELATION TO 关键字表达式INTO 区号/别名[P 102][注意:临时关联条件是两个表有相同字段;子表对此字段建立索引,并设为主控索引;父表对此字段建立关联]二、第五章程序设计基础1.命令文件的建立、修改和运行 [P114](1)建立程序:MODIFY COMMAND程序名(2)修改程序:MODIFY COMMAND程序名(3)运行程序:DO程序名2.结束命令: [P116](1)CANCEL(结束当前程序,清除程序中定义的变量,返回到交互方式状态)(2)RETURN(结束当前程序,返回到程序调用处)(3)QUIT (退出VFP )3.交互式输入命令:[P117](1)ACCEPT[提示信息]TO 内存变量(只能输入字符型数据)(2)INPUT[提示信息]TO内存变量(主要输入数值型数据)(3)W AIT[提示信息][TO内存变量](常用于暂停)4.格式化输入、输出命令[P122](1)格式化输出命令:@ 行,列SAY表达式(2)格式化输入、输出命令:@ 行,列[SAY表达式]GET 内存变量/字段READ [ SA VE ]5.顺序结构[P123](1)功能:顺次、逐条地执行程序中的命令。

vfp最常用代码

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。

VFP常用命令和程序命令一

VFP常用命令和程序命令一

VFP常用命令和程序命令一、主要命令: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 所有的记录。

VFP常用的操作命令总结

VFP常用的操作命令总结

VFP常用的操作命令总结VFP常用的操作命令总结<范围>子句4种情况:ALL 操作对象为表中全部数据。

NEXT 操作包括当前记录在内的以下n条记录。

RECORD 只操作第n个数据。

REST 操作从当前到结尾的记录。

①显示表中记录LIST、DISPLAYUSE F:\VFP\st.dbf (路径根据不同情况有不同值)LIST [<范围>] [FIELDS] <字段名列表> [FOR<条件>] [OFF]LIST 学号,姓名, 入学成绩FOR 性别.and. 入学成绩>=480DISPLAY FOR 出生时间<="" p="">(LIST为全部显示命令,DISPLAY仅显示当前记录内容。

若DISPLAY中包含ALL或FOR语句,则等同于LIST)。

②修改记录REPLACEREPLACE [<范围>] <字段名1> WITH <表达式1>[ ,<字段名2> WITH <表达式2>] [ FOR <条件>]REPLACE 入学成绩WITH 入学成绩+10 FOR 所在系="计算机"REPLACE ALL 总分WITH 语文+数学+英语REPLACE 补助WITH 补助*1.5 ,分数WITH 分数+10 FOR 性别='男' .AND. 专业='物探'(如果没有ALL或FOR,只更替当前记录)。

③删除记录DELETEDELETE [<范围>] [FOR <条件>]GO 2DELETE (逻辑删除第2条记录)DELETE ALL (逻辑删除全部记录)DELETE FOR 所在系=”中文”.and. .not. 性别DELETE FOR 入学成绩<=470恢复记录:RECALL RECALL [<范围>] [FOR <条件>] RECALL (只恢复当前一条记录)。

2021年VFP命令大全

2021年VFP命令大全

2021年VFP命令大全VFP命令、函数及程序语句大全(一)欧阳光明(2021.03.07)学过VFP(Microsoft Visual FoxPro)的朋友都知道它是微软公司开发的数据库管理系统。

它经历了从dBASE、FoxBASE、FoxPro直到VFP的发展过程。

本文便以VFP 6.0为例介绍它的命令、函数及程序语句,为学习VFP的朋友提供必要的学习参考,也为已经精通VFP 的朋友提供复习的好机会。

一主要命令: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 作用:主要用于打开浏览窗口,查阅表文件并同时进行修改。

(完整版)VFP中常用命令

(完整版)VFP中常用命令

VFP中常用命令一、数据库的建立、打开、关闭和删除建立数据库:CREATE DATABASE [databasename|?]从磁盘中删除数据库:CREATE DATABASE [databasename|?]ELETE DATABASE databasenameDELETE DATABASE databasename|?打开数据库:OPEN DATABASE [EXCLUSIVE|SHARED][NOUPDATE]打开数据库设计器(允许用户按交互方式编辑当前数据库):MODIFY DATABASE [databasename|?]指定的数据库databasename为当前数据库。

指定当前的数据库:S ET DATABASE TO [databasename]Databasename必须为已经打开的数据库。

如果省略数据库名称databasename,则不指定当前数据库(没有当前数据库)。

关闭数据库:CLOSE DATABASE [ALL]关闭当前数据库,如果带ALL子句,则关闭所有打开的数据库。

二、数据表和视图的建立、打开、关闭和删除建立数据表(SQL命令):CREATE TABLE | DBF tablename (Col_name1 Type1 [NOT NULL/NULL][{,Col_name2 Type2 [NOT NULL/NULL]}...])table_name是所创建的数据表的名字。

Col_name1,Col_name2,...是表中列的名。

Type1, Type2...是相应列的数据类型(VFP的数据类型见表3-9)。

如果说明为NOT NULL,则列中不允许分配空值(这种情况下,列不能包含空值,如果插入空值,将返回错误信息)。

向当前打开的数据库中添加数据表:ADD TABLE tablename|?从当前打开的数据库中删除数据表:REMOVE TABLE tablename|? [DELETE]如果包含DELETE子句,将从磁盘中删除这个表文件,否则,只从数据库中删除,但文件仍保存在磁盘中。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

常见命令按钮组的代码
goto top && 指针跳到第一个记录
mand1.enabled=.f.
mand2.enabled=.f.
mand3.enabled=.t.
mand4.enabled=.t. && 根据状况设置各按钮的可用状态thisform.refresh
skip -1 && 指针后退一个
if bof() && 如果已经是第一个记录
messagebox("不好意思,已是第一个记录",48,"信息窗口")
mand1.enabled=.f.
mand2.enabled=.f.
skip && 指针前进一个,使之仍然显示第一个记录
else
mand1.enabled=.t.
mand2.enabled=.t.
endif
mand3.enabled=.t.
mand4.enabled=.t. && 根据状况设置各按钮的可用状态thisform.refresh
skip
if eof() && 如果已经是最后一条记录
messagebox("不好意思,已是最后一条记录",48,"信息窗口")
skip -1 && 记录后退一个,使之仍然显示最后一条记录mand3.enabled=.f.
mand4.enabled=.f.
else
mand3.enabled=.t.
mand4.enabled=.t.
endif
mand1.enabled=.t.
mand2.enabled=.t.
thisform.refresh
goto bottom
mand3.enabled=.f. mand1.enabled=.t. mand2.enabled=.t. thisform.refresh
a=messagebox("你真的要退出吗?",4+16+0,"对话") if a=6
release thisform
endif
********************* ********************* 首记录
go top
dfirst.enabled=.f. dlast.enabled=.t. dpre.enabled=.f. dnext.enabled=.t. thisform.refresh
末记录
go bottom
this.enabled=.f.
dfirst.enabled=.t. dpre.enabled=.t. dnext.enabled=.f. thisform.refresh
前一条
skip -1
if bof()
this.enabled=.f.
dfirst.enabled=.f. dlast.enabled=.t. dnext.enabled=.t. else
this.enabled=.t.
dfirst.enabled=.t. dlast.enabled=.t. dnext.enabled=.t. endif
thisform.refresh
下一条
skip 1
if eof()
this.enabled=.f.
dfirst.enabled=.t. dlast.enabled=.f. dnext.enabled=.t. else
this.enabled=.t.
dfirst.enabled=.t.
dlast.enabled=.t. dnext.enabled=.t. endif
thisform.refresh
增加
if len(thisform.编号1.value)=0
go bottom
dele
pack
wait window "编号不能为空" timeout 1 endif
append
thisform.refresh
删除
if messagebox("确实要删除本记录么?",1+64+256,"提示")=1 delete
pack
skip -1
thisform.refresh
endif。

相关文档
最新文档