收藏 分销(赏)

VFP常用命令及用法.doc

上传人:快乐****生活 文档编号:2667240 上传时间:2024-06-04 格式:DOC 页数:24 大小:46.54KB
下载 相关 举报
VFP常用命令及用法.doc_第1页
第1页 / 共24页
VFP常用命令及用法.doc_第2页
第2页 / 共24页
VFP常用命令及用法.doc_第3页
第3页 / 共24页
VFP常用命令及用法.doc_第4页
第4页 / 共24页
VFP常用命令及用法.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

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

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

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

4、G 索引标识符功能:在结构复合索引文件打开后,指定主控索引标识符。7. 记录指针定位GO BOTTOM | TOP | 为指向记录号为expN的记录。SKIP expN功能:按expN的值,从当前位置出发移动记录指针。当expN为正时向尾部方向移动expN条记录,当expN为负时向首部方向移动expN条记录,当expN为1时可以省略.8。 查找LOCATE 范围 FOR 条件功能:在数据表的指定范围中搜索满足条件的第一个记录。搜索成功,记录指针指向该记录,并将FOUND()置为.T。;否则,记录指针指数据表末尾,并将FOUND()置为。F.。范围缺省为ALL.CONTINUE功能:查找下一个满

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

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

7、C, expN1, expN2)功能:取字符串expC中从expN1开始的expN2个字符,若expN2省略,则从expN1开始一直取到最后。TRIM(expC)功能:取掉字符串expC的尾部空格.ALLTRIM(expC)功能:取掉字符串expC首尾的空格。SPACE(expN)功能:产生expN个空格.UPPER(expC)功能:将字符串expC转换成大写。LOWER(expC)功能:将字符串expC转换成大写。expC1 $ expC2功能:判断字符串expC1是否在expC2中出现,若出现则值为.T.,否则为.F。3. 日期函数DATE()功能:获取系统日期。4. 类型转换VAL(ex

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

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

10、SMENU 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&日期格式为“年月-日”SET MARK TO ”设置年月日之间的分隔符ON ERROR DO errhand WITH ERROR(),MESSAGE(),MESSAGE(1),PROGRAM(),LINENO(

11、)&在编译成exe文件时要使用RELEASE WINDOW 常用RELEASE WINDOW 表单设计器mypath=SYS(5)+SYS(2003)set DEFA TO mypathset path to mypathDO form mm &运行密码登录表单mmREAD EVENTSQUITPROCEDURE errhandPARAMETER merror,MESS,mess1,mprog,mlineno=MESSAGEBOX(错误代码:+LTRIM(STR(merror))+, 错误信息:”+MESS+错误代码串:+mess1+”, 错误行号:”+LTRIM(STR(mlineno))+

12、”, 出错程序名:”+mprog +请退出系统!!重新运行!”)QUITRETURN如果不要菜单系统可把主表单作为顶层表单时要创建文件config.fpw内容为:sysmenu=offscreen=off然后把该文包含进项目中,就可编译进EXE文件中,不必另外提供退出系统”的按纽见第9点1、*-*save to restore from nf.mem additive &把内存变量从文件 nf.mem 恢复,选参数 additive 项时,不对其它内存变量产生复盖。3、*-后台最小化运行RAR.EXERUN /n7 rar a-Y bakfileb.dbf c.dbf.在后台最小化运行RAR。

13、EXE且不等待。4、*-*if bof()=messagebox(到最前一个了!,0,提 示)goto topelseskip 1endif5、*-*if eof()=messagebox(到最后一个了!,0,提 示)goto bottelseskip endif6、*-COPY TO dbk.dbf TYPE XL5 数据表复制成xls文件7、*-=messagebox(完成!,0,提 示)8、*-*hzdx=”零壹贰叁肆伍陆柒扒玖拾佰仟万拾佰仟亿拾佰仟9、*-IF MESSAGEBOX(”真的退出系统吗?”,4+32+256,”提示)= 6CLOSE DATABASESclear allc

14、lose allCLEAR EVENTSthisform。Release quitENDIF 10、*-*表数据更新:update 表名 SET 字段名1 =表达式,字段名1 =表达式,.。WHERE 条件11、*-*从其它表取数据:把已有表的记录成批追加到当前表中append from 文件名 for条件1 while 条件2 12、-*ThisForm。grdGzk 的refresh &表格内运算IF USED(”gzk”)replace 应发合计with 等级工资+责任津贴+奖资+干资+书报+单车+燃料+考勤+临职补贴+;地区津贴+城市补贴+节支奖+奖励工资+清饮+洗理+电费+报刊+粮差

15、+肉菜+;劳保+职务保贴+出纳劳保+保健+医药+家属医药+妇卫+会计补贴+其它replace 扣除合计with 水电+保险+工会+其他REPLACE 结余合计WITH 应发合计-扣除合计ENDIF13、*-*ThisForm。grdGzk 的AfterRowColchange &表格变色Mcurrec=STR(RECN()& 获取当前所在记录号THIS。SETALL(”dynamicbackcolor”,IIF(RECNO()=Mcurrec。,RGB(145,236,252),RGB(255,255,255)) & 设置背景色,满足条件为黄色,不满足为黑色THIS.SETALL(dynami

16、cforecolor”,IIF(RECNO()=&Mcurrec。,RGB(255,0,0),RGB(0,0,0)),”column) 设置前景色,满足条件为红色,不满足为白色THIS.REFRESHthis。SetFocus14、-*release extendedaa_x& aa_x为内存变量,一定要加上extended,才真正释放15、*-*数据表到文本use cxjgcopy to b type deli with ”useuse pappend from b type deli with &*文本到数据表repl all zdwith stuff(zd,1,3,”) &*对数据表中的

17、字段修改内容REPL all zd WITH STRTRAN(zd,m,,)REPL all zd WITH STRTRAN(zd, ,)16、*-*if empty(ThisForm.Text1.value)=messagebox(文件名不能为空!,0,提 示)ThisForm.Text1.setfocusretuendif 17、*-*数据表记录转成文本行,使用低级函数fwrite(),fclose().。.use pgoto topwait wind ”正在转入数据文件到软盘,请等候。.。. ” nowait at 22,43scanza=alltrim(zd) &去掉表p。dbf字段“

18、zd”内容的前后空格if fwrite(eff,za+chr(13)+chr(10)=0 &chr(13)为回车,chr(10)为换行 -重点=messagebox(磁盘已经损坏失效!请换盘!重试!,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 prin

19、ter prompt noconsole& dy1打印表单DO FORM rpform &RPFORM 是最大化且防止其它窗口遮挡表单的表单REPORT FORM dy8 PREVIEW WINDOW RPFORM &dy8RPFORM.RELEASE()19、*-*备份数据、软盘写保护及损坏检测IF MESSAGEBOX(”真的备份本月数据吗?,4+32+256,提示”)= 6restore from nf.mem additive&nf.MEM保存年份内存变量的文件(4位如2004)restore from yf。mem additive&yf。MEM保存月份内存变量的文件(2位如06)*

20、文件压缩CLOSE DATABASESm_af=nfd+yfdm_bf=m_af+.rarIF FILE(”&m_bf)ERASE m_bfENDIFRUN /n7 rar aY &m_bfb.dbf c.dbf g。dbf j*.dbf *.mem p。dbf r.dbf tmp。dbfWAIT WINDOW ”正在压缩文件,请稍等” NOWAIT AT 20,30cOK=。F.nSj_m1=MINUTE(DATETIME())nSj_1=nSj_m160+SEC(DATETIME())nSj_2=nSj_1DO WHILE .T.IF FILE(”&m_bf”)如果存在文件xxx。rar

21、且文件大于100字节,则压缩成功.=ADIR(m_aa1,m_bf )IF m_aa12100cOK=.T。EXITENDIFENDIFnSj_m2=MINUTE(DATETIME())IF nSj_m2nSj_m2nSj_2=nSj_m2*60+3600+SEC(DATETIME()ELSEnSj_2=nSj_m260+SEC(DATETIME())ENDIFIF nSj_2-nSj_1180& 如果3分钟后不成功则退出cOK=.F。EXITENDIFENDDOWAIT CLEARIF !cOKMESSAGEBOX(”文件压缩失败!请检查。,16 ,错误信息)RETURNENDIF*复件ra

22、r文件IF MESSAGEBOX(请插入磁盘,按“确定”继续,退出按“取消”,1+32,”请选择”) = 1close databasewait wind 正在检测 A:软盘 nowait at 20,30X=Adir(Myml,a:nul)IF X0ef=fcreate(a:备份时间。txt)if ef0wait clear=messagebox(磁盘写保护!或已经损坏失效!,0,提 示)elseif fwrite(ef,备份数据文件的时间是:+dtoc(date()))=0=messagebox(磁盘已经损坏失效!请换盘!重试!,0,提 示)elseendif=fclose(ef)wait

23、 wind 正在备份数据文件到软盘,请等候。.。” nowait at 20,30copy file &m_bfto a:wait clear=messagebox(数据备份完成!,0,提 示)ERASE m_bfendifELSEwait clear=messagebox(磁盘没有准备好!,0,提 示)retuENDIf elseretuendifelseENDIF 20、-*public如果有重复调用代码时应在主程序“main。prg”定义全局变量21、*-*导出xls文件SELE old_tmpcpath_name=GETFILE(xls,文件名,保存)&重点IF !EMPTY(cpat

24、h_name)if file(cpath_name)=messagebox(文件已存在!请重输新名 ,0,提 示)elseCOPY TO cpath_name TYPE XL5&重点=messagebox(成功导出为文件-(&cpath_name)!,0,提 示)endif else=messagebox(文件名不能为空! ,0,提 示)retuendif22、-*if nKeyCode=13&在密码文本框text的KeyPress方法上使“确定”执行mand1。clickendif23、-*表单“释放对象时发生事件的方法释放内存变量release extendedaa_x aa_x为内存变量

25、,一定要加上extended,才真正释放*-*24、用SQL-SCLECT 查询生成临时表是不能修改的。25、数据排序if used(gz)select gzelse use gz in 0select gzendifps_tm=ThisForm。Combo2.valueifThisForm.Optiongroup2.value=1 升序sort to ps_tmp on ps_tm /A&按ps_tm的值的字段按升序重排elsesort to ps_tmp on &ps_tm /D&按ps_tm的值的字段按降序重排endifselect gz zapappend from ps_tmpera

26、se ps_tmp。dbf=messagebox(重新排序完成!要恢复原来请按编号升序排序!,0,提 示)26、向表格添加新记录将表格的AllowAddNew属性设置为“T”用户选择最后一记录按下DOWN ARROW键时就添加了新记录;或将AllowAddNew属性设置为“F”使用APPEND BLANK或INSERT添加27、表格列中加入控件在“属性”窗口的“对象”框中为控件选择列如:选择第二列“Column2”,再选择要加入的控件单击该列,(注:复选框的“Caption= ”)并设该列(Column2)的“Sparse=.F。”该列(Column2)的“数据的“CurrentControl

27、选择为刚加入的控件名称即可.28、移去表格中的控件在“属性”窗口“对象”中选择要移去的控件,激活“表单设计器(单击表单设计器上兰横条)”按DELETE键即可。29、SQL查询满足条件的记录生成dbf数据表文件SELECT * FROM fhz WHERE SUBSTR(帐号,1,11)=m_JGM+012 AND 组号=m_zuh AND 类型=1 ORDER BY 帐号 INTO TABLE prtmp30、设置打印机IF PRINTSTATUS()=。T.=SYS(1037)ELSE??CHR(7)MESSAGEBOX(”请在 Windows 控制面板下安装打印机!!,48,”提示信息”)RETURNENDIF

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服