VFP常用命令及用法.docx

上传人:大张伟 文档编号:11696624 上传时间:2021-08-31 格式:DOCX 页数:31 大小:30.41KB
返回 下载 相关 举报
VFP常用命令及用法.docx_第1页
第1页 / 共31页
VFP常用命令及用法.docx_第2页
第2页 / 共31页
VFP常用命令及用法.docx_第3页
第3页 / 共31页
VFP常用命令及用法.docx_第4页
第4页 / 共31页
VFP常用命令及用法.docx_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《VFP常用命令及用法.docx》由会员分享,可在线阅读,更多相关《VFP常用命令及用法.docx(31页珍藏版)》请在三一文库上搜索。

1、VFP常用命令及用法、实例命令中用到的范围:ALL.:命令对表中所有记录起作用,即执行时从首记录到末记录,最记录指针 停在数据库的末尾。NEXT 命令作用于从当前记录开始到当前记录后 expN券记录为止的范围内的记录,最后记录指针指向作用范围内的最后一条记录处。NEXT 1表示仅作用于当前记录。Record 命令作用于记录号为W记录。TEST命令作用范围从当前记录开始到表的最后一个记录为止命令中的FOR?句只作用于满足条件的记录。一i、基本命令1 .打开和关闭数据表CLOSE ALLUSE 当省略选项时为关闭当前数据关闭所有数据表2 .选择当前工作区SELECT C作区号|数据表名|0功能:选

2、择当前工作区。可以直接选择工作区号,也可通过指定其中已 经打开的数据表别名来指定工作区。SELECT 0是选择当前未使用的最低编号的工作区3 .增加记录APPEND BLANK在当前表的尾部追加一个空白记录INSERT BLANK在当前表的当前记录之后插入一条空白记录INSERT BLANK BEFORE在当前表的当前记录之前插入一条空白记录注意:在表建立索引后,INSERT勺功能与APPENDS同4 .替换字段的值REPLACE他围 WITH , WITH , WITH FOR 功能:计算表达式的值,并填入指定字段,当范围和条件选项省略时只 对当前记录操作。5 .删除记录DELETE范围FO

3、R 条件功能:对记录加删除标记(即逻辑删除),当范围和条件选项省略时只对当前记录操作。RECALL范围FOR 条件功能:对记录去除删除标记(即恢复删除),当范围和条件选项省略时 只对当前记录操作。PACK功能:删除带有删除标记的记录ZAP功能:物理删除当前表所有记录6 .建立索引与选择主控索引INDEX ON交键字表达式 TAG 索引标识符 DESCENDING功能:对当前表按关键字表达式 建立结构复合索引,索引文件名与表 名相同,扩展名默认为CDX DESCENDING项为按关键字降序排列,默认为升 序。SET ORDER TO TA蕨引标识符功能:在结构复合索引文件打开后,指定主控索引标识

4、符。7 .记录指针定位GO BOTTOM | TOP | expN功能:移动记录指针直接指定记录。BOTTOM;指向末记录,TOF%指向 首记录,expN讷指向记录号为expNW记录。SKIP expN功能:按expN的值,从当前位置出发移动记录指针。 当expN为正时向 尾部方向移动expN条记录,当expN为负时向首部方向移动expN条记录,当 expN为1时可以省略。8 .查找LOCATE范围FOR 条件功能:在数据表的指定范围中搜索满足条件的第一个记录。搜索成功, 记录指针指向该记录,并将 FOUND)置为.T.;否则,记录指针指数据表末 尾,并将FOUND)置为.F.。范围缺省为AL

5、L。CONTINUE功能:查找下一个满足LOCAT命令指定条件的记录,查找成功,将 FOUND(翼为.T.并将指针指向满足条件的记录;否则,记录指针指数据表末尾, 将 FOUNDS为.F.。9 .数据表复制COPY TO文件名 范围FIELDS 字段名表刁FOR 条件功能:把已打开的表内容复制到新的表中。范围 缺省值为ALL。字段名表 规定了新表字段,缺省为全部字段。COPY STRUCTURE TOC件名 FIELDS 字段名表 功能:把当前表的结构复制到新的表中。不复制记录。 字段名表规定 了新表字段,缺省为全部字段。10 .统计COUNT范围FOR 条件TO 内存变量,功能:统计表中满足

6、条件的记录个数,并存入指定的内存变量。 范围, 缺省时为ALLSUM 表达式表范围FOR 条件TO 内存变量表,功能:统计表中全部的或指定数值字段的值的和,并各个和存入指定的内存变量,内存就是的个数求和的数值表达式个数相同。范围缺省时为ALLAVERAGE表达式表范围FOR 条件TO 内存变量表,功能:统计表中全部的或指定数值字段的值的平均,并各个和存入指定的内存变量,内存就是的个数求和的数值表达式个数相同。范围 缺省时为ALL二、函数1 .数学函数ABS(expN)功能:求数值表达式的绝对值。INT(expN)功能:对数值表达式expN取整数部分ROUND(expN, Dec)功能:对数值表

7、达式expN精确到小数点后Dec位。2 .字符函数SUBSTR(expC, expNI, expN2)功能:取字符串expC中从expNI开始的expN2个字符,若expN2省略, 则从expNI开始一直取到最后。TRIM(expC)功能:取掉字符串expC的尾部空格。ALLTRIM(expC)功能:取掉字符串expC首尾的空格。SPACE(expN)功能:产生expN个空格。UPPER(expC)功能:将字符串expC转换成大写。LOWER(expC)功能:将字符串expC转换成大写。expCI $ expC2功能:判断字符串expCI是否在expC2中出现,若出现则值为.T.,否 则为.F

8、.。3 .日期函数DATE()功能:获取系统日期。4 .类型转换VAL(expC)功能:将数字字符值转换成数值,如:VAL(123.45)的值为数值123.45STR(expN ,宽度, 小数位数)功能:将数值转换成字符串,当小数位数省略时不带小数,当宽度和小 数位数都省略时宽度为10不带小数。DTOC(expD)功能:将日期表达式expD转换成字符表达式,格式与系统日期格式一 致。DTOS(expD)功能:将日期表达式expD转换成字符表达式,格式为 YYYYMMDDT4 位为年份中间2位为月份最后2位为日。CTOD(expC)功能:将符合当前系统日期格式的字符串转换成日期值。5 .测试函数

9、FOUND()功能:测试当前的查找(SEEK, LOCATECONTINU够否成功。查找成功 函值为.T.否则为.F.。EOF()功能:测试当前记录指针是否到了数据表的末尾。当在末尾时函数为.T.否则为.F.。RECNO()功能:返回当前记录号我的主程序代码:main.prgDECLARE INTEGER FindWindow IN WIN32API STRING,STRINGLOCAL cTitlecTitle=工资管理系统IF FindWindow(0,cTitle)0=MESSAGEBO就系统已运行,无需重复! ,48,错误信息)QUITENDIFCLEAR SCREENCLEARCLO

10、SE ALLCLEAR ALLSET TALK OFFSET SYSMENU OFF &踱主菜单条不能被访问SET SYSMENU TO&联闭主菜单条SET TALK OFF&联闭对话框SET STEP OFFSET ECHO OFFSET SAFETY OFF &件替换时不确认SET DELETED ON &急藏带删标记的记录SET OPTIMIZE ON &踱用优化技术SET CENTURY ON &蟒月日显示格式为 4位,SET DATE TO ANSI &B期格式为“年-月-日”SET MARK TO -&般置年月日之间的分隔符ON ERROR DO errhand WITHERROR

11、(),MESSAGE(),MESSAGE(1),PROGRAM(),LINENO() &S编译成 exe文件时要使用RELEASE WINDOW!RELEASE WIND聊设必mypath=SYS(5)+SYS(2003)set DEFA TO &mypathset path to &mypathDO form mm &i行密码登录表单 mmREAD EVENTSQUITPROCEDURE errhandPARAMETER merror,MESS,mess1,mprog,mlineno=MESSAGEBO罐误代码:+LTRIM(STR(merror)+, 错误信息:+MESS+ 错误代码串:+

12、mess1+”,错误行号:+LTRIM(STR(mlineno)+, 出错程序名:+mprog + 请退出系统! ! !重新运行! !)QUITRETURN如果不要菜单系统可把主表单作为顶层表单时要创建文件config.fpw内容为:sysmenu=off screen=off然后把该文包含进项目中,就可编译进EXEt件中,不必另外提供退出系统”的按纽见第9点1、 *save to all like 内存变量保存yfd=alltrim(ThisForm.Combo1.value)save to yf&各内存中的“所有”变量存入文件yf.mem中save to yf all like yfd&B

13、内存中所有以yfd匹配的变量存入文件yf.mem中save to yf all like yf*&各内存中所有以yf打头的变量存入文件yf.mem中2、 *restore from restore from nf.mem additive &把内存变量从文件 nf.mem 恢复,选参数additive 项时,不对其它内存变量产生复盖。3、*后台最小化运行RAR.EXERUN /n7 rar a -Y bakfileb*dbf c*dbf& 后台最小化运行RAR.EXE!不等待。4、 *if bof()=messagebox(到最前一个了 !,0,提示)goto top elseskip -1

14、endif5、*if eof()=messagebox(到最后一个了 !,0,提示)goto bottelseskipendif6、 *COPY TO dbk.dbf TYPE XL5数据表复制成xls文件7、 *=messagebox(完成!,0,提示)8、 *hzdx=零壹贰叁肆伍陆柒扒玖拾佰仟万拾佰仟亿拾佰仟 9、 *IF MESSAGEBOX(的退出系统吗? ”,4+32+256,提示尸 6CLOSE DATABASESclear allclose allCLEAR EVENTSthisform.Releasequit*ENDIF10、*表数据更新:*update表名SET字段名1 =

15、表达式,字段名1 =表达式,WHERE 条件11、*从其它表取数据:把已有表的记录成批追加到当前表中append from 文件名for条件1 while 条件2*12、*ThisForm.grdGzk 的 refresh & 表格内运算IF USED(gzk)replace应发合计with等级工资+责任津贴+奖资+干资+书报+单车+燃料+考勤+临职补贴+;地区津贴+城市补贴+节支奖+奖励工资+清饮+ 洗理+电费+报刊+粮差+肉菜+ ;劳保+职务保贴+出纳劳保+保健+医药+家属医药+妇卫+会计补贴+其它replace 扣除合计 with水电+保险+工会+其他REPLACE吉余合计WITH应发合

16、计-扣除合计ENDIF13、 *ThisForm.grdGzk 的 AfterRowColchange & 表格变色Mcurrec=STR(RECN()&获取当前所在记录号THIS.SETALL(dynamicbackcolor,IIF(RECNO()=&Mcurrec.,RGB(145,236,2 52),RGB(255,255,255) & 设置背景色,满足条件为黄色,不满足为黑色THIS.SETALL(dynamicforecolor,IIF(RECNO()=&Mcurrec.,RGB(255,0,0),RGB(0,0,0),column) & 设置前景色,满足条件为红色,不满足为白色T

17、HIS.REFRESH this.SetFocus14、 *release extended aa_x & aa_x 为内存变量,一定要力口上 extended , 才真正释放15、*数据表到文本use cxjgcopy to b type deli with useuse pappend from b type deli with | &*文本到数据表repl all zd with stuff(zd,1,3,) &*对数据表中的字段修改内容REPL all zd WITH STRTRAN(zd,m,)REPL all zd WITH STRTRAN(zd, ,)16、 *if empty(

18、ThisForm.Text1.value)=messagebox(文件名不能为空!,0,提示)ThisForm.Text1.setfocusretuendif17、*数据表记录转成文本行,使用低级函数fwrite(),fclose().use pgoto topwait wind 正在转入数据文件到软盘,请等候 nowaitat 22,43scanza=alltrim(zd) & 去掉表p.dbf字段“zd”内容的前后空格if fwrite(eff,za+chr(13)+chr(10)=0 &chr(13)为回车,chr(10)为换行 重点=messagebox(磁盘已经损坏失效!请换盘!重试

19、!,0,提示)elseendifendscan=fclose(eff)wait clear=messagebox(数据成功转入软盘,文件名为:-(&cpath_n)-! ,0,提示)endif.18、 *public _Totalpage_Totalpage=0report form dy1 noconsole_Totalpage=_pageno&导总页数REPORT FORM dy1 to printer prompt noconsole&dy1打印表单DOFORMpform &RPFORM!最大化且防止其它窗口遮挡表单的表单REPORT FORM dy8 PREVIEW WINDOW RP

20、FORM &dy8RPFORM.RELEASE()19、*备份数据、软盘写保护及损坏检测IF MESSAGEBOX(的备份本月数据吗? restore from nf.mem additive 量的文件(4位如2004)restore from yf.mem additive量的文件(2位如06)*文件压缩CLOSE DATABASES m_af=nfd+yfd m_bf=m_af+.rar IF FILE(&m_bf)ERASE &m_bfENDIFRUN/n7 rar a -Y &m_bf p.dbf r*dbf tmp.dbf”,4+32+256,提示尸 6&nf.MEM保存年份内存变&

21、yf.MEM保存月份内存变b*dbf c*dbf g*dbf j*dbf *mem请稍等NOWAIT AT 20,30WAIT WINDOW!在压缩文件,cOK=.F.nSj_m1=MINUTE(DATETIME()nSj_1=nSj_m1*60+SEC(DATETIME()nSj_2=nSj_1DO WHILE .T.IF FILE(&m_bf)&口果存在文件xxx.rar 且文件大于100字节,则压缩成功。=ADIR(m_aa1,m_bf )IF m_aa12100cOK=.T.EXITENDIFENDIFnSj_m2=MINUTE(DATETIME()IF nSj_m2180&如果3分钟

22、后不成功则退出cOK=.F.EXITENDIFENDDOIF !cOKWAIT CLEARENDIFMESSAGEBOX(件压缩失败!请检查。”,16 ,错误信息) RETURN*rar文件IF MESSAGEBOX(插入磁盘,按“确定”继续,退出按“取消”,1+32,请选择)=1close databasewait wind 正在检测 A:软盘.nowait at 20,30 X=Adir(Myml,a:nul) IF X#0备份时间.txt)if ef0wait clear=messagebox(磁盘写保护!或已经损坏失效!,0,提示)elseif fwrite(ef,备份数据文件的时间是

23、:+dtoc(date()=0=messagebox(磁盘已经损坏失效!请换盘!重试! ,0,提示)elseendif=fclose(ef)wait wind 正在备份数据文件到软盘,请等候”nowait at 20,30copy file &m_bf to a:wait clear=messagebox(数据备份完成!,0,提示)ERASE &m_bfendifELSEwait clear=messagebox(磁盘没有准备好!,0,提示)retuENDIfelseretu endifelseENDIF20、 *public如果有重复调用代码时应在主程序“ main.prg ”定义全局变量2

24、1、*导出xls文件SELE old_tmpcpath_name=GETFILE(xls,文件名,保存)&螳点IF !EMPTY(cpath_name)if file(&cpath_name)=messagebox(文件已存在!请重输新名,0,提示)elseCOPY TO &cpath_name TYPE XL5&t 点=messagebox(成功导出为文件-(&cpath_name)-!,0,提示)endifelse)=messagebox(文件名不能为空!,0,retu endif22、 *if nKeyCode=13&密码文本框text的KeyPress方法上使“确定”执行mandl.c

25、lickendif23、 * 表单“释放对象时发生”事件的方法释放内存变量release extended aa_x & aa_x 为内存变量,一定要力口上 extended ,才真正释放*24、用SQL-SCLEC直询生成临时表是不能修改的。25、数据排序if used(gz)select gzelseuse gz in 0select gzendifps_tm=ThisForm.Combo2.valueif ThisForm.Optiongroup2.value=1 & 升序sort to ps_tmp on &ps_tm /A&$ ps_tm 的值的字段按升序重排elsesort to

26、ps_tmp on &ps_tm /D &腋 ps_tm 的值的字段按降序重排endifselect gzzapappend from ps_tmperase ps_tmp.dbf=messagebox(重新排序完成!要恢复原来请按编号升序排序!,0,提示)26、向表格添加新记录将表格的AllowAddNew属性设置为“ T”用户选择最后一记录按下 DOWARROW键时就添加了新记录;或将 AllowAddNew属性设置为“ F”使用APPEND BLANK或 INSERTS27、表格列中加入控件在“属性”窗口的“对象”框中为控件选择列如:选择第二列“Column2,再选择要加入的控件单击该列

27、,(注:复选框的“ Caption= )并设该列(Column2) 的 “Sparse=.F.”该列(Column2)的“数据”的“ CurrentControl ”选择为刚加入的控件名称即 可。28、移去表格中的控件在“属性”窗口 “对象”中选择要移去的控件,激活“表单设计器(单击表单设计器上 兰横条)”按DELETE1即可.29、SQL查询满足条件的记录生成dbf数据表文件SELECT * FROM fhz WHERE SUBS T,1,11)=m_JGM+012 AND组号=m_zuhAND 类型=1 ORDER BY 号 INTO TABLE prtmp 30、设置打印机IF PRINTSTATUS(尸.T.=SYS(1037)ELSE?CHR(7)MESSAGEBO消在Windows控制面板下安装打印机!!,48, 提示信息)RETURNENDIF

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1