vfp常见编程常见类型汇总(全)20200422

合集下载

vfp常用命令格式汇总

vfp常用命令格式汇总

vfp常用命令格式汇总Vfp常用命令格式汇总说明:在下面命令中,[ ]表示可选,<>表示必须输入,但<>本身不用输入,| 表示必须选择一项。

1. 建立数据库【格式】CREA TE DA TABASE [<数据库名>|?]2. 打开数据库【格式】OPEN DA TABASE [<数据库名>|?]3. 关闭数据库【格式】CLOSE DA TABASE|ALL4. 打开表设计器创建表【格式】CREA TE [<表名>|?]5. 修改表结构【格式】MODIFY STRUCTURE6. 显示数据表结构【格式】LIST |DISPLAY STRUCTURE [IN <工作区号>|<表别名>][TO PRINTER [PROMPT]|TO FILES <文件名>] 7. 打开数据表【格式】USE [<表文件名>|?][IN <工作区号>|<工作区别名>] [ALIAS <表别名>]8. 关闭数据表U SE :关闭当前工作区中打开着的数据表。

C LEAR ALL :关闭所有打开着的数据库和数据表,释放所有的内存变量。

C LOSE ALL :关闭所有打开着的数据库和数据表、设计器、项目管理器。

C LOSE DA TABASE :关闭当前数据库和数据表,并选择1区为当前工作区。

C LOSE TABLES :关闭当前数据库中的所有数据表。

Q UIT :在退出VFP的同时关闭所有的数据库和数据表等。

9. 记录追加【格式】APPEND [BLANK][IN <工作区号>|<表的别名>] APPEND FROM <文件名>|? [FIELDS <字段名表>][FOR <条件表达式>]APPEND GENERAL <通用字段名>FROM <对象的文件名.扩展名>10. 打开数据表【格式】BROWSE [FIELDS <字段名表>][FOR <条件表达式>] [FREEZE <字段名>][LOCK <字段序号>] [NOAPPEND][NODELETE][NOEDIT | NOMODIFY]11. 列表方式显示数据表记录【格式】LIST|DISP [[FIELDS]<字段名表>][<范围>][FOR <条件表达式1>][WHILE <条件表达式>][OFF][TO PRINTER[PROMPT]|TO FILES<文件名>]12. 指针的绝对移动【格式一】GO|GOTO TOP|BOTTOM [IN <工作区号>|<表的别名【格式二】[GO|GOTO]<数值表达式>[IN <工作区号>|<表的别名>]13. 指针的相对移动【格式】SKIP [[+|-]<数值表达式>][IN <工作区号>|<表的别名14. 按条件定位【格式】LOCA TE [<范围>][FOR <条件表达式1>][WHILE <条件表达式2>]15. 修改记录数据【格式】EDIT|CHANGE [FIELDS<字段名表>][<范围>][FOR <条件表达式>]16. 批量修改数据【格式】REPL <字段名1>WITH <表达式1>[ADDITIVE] [,<字段名2>WITH <表达式2>[ADDITIVE]][,…][<范围>][FOR <条件表达式>]17. 逻辑删除记录【格式】DELETE [<范围>][FOR <条件表达式>][WHILE <条件表达式>][IN <工作区号>|<表的别名>]18. 恢复已逻辑删除的记录【格式】RECALL [<范围>][FOR <条件表达式>][WHILE <条件表达式>][IN <工作区号>|<表的别名>]19. 物理删除已作了逻辑删除标记的记录【格式】PACK20. 删除表中所有记录【格式】ZAP [IN <工作区号>|<表的别名>]21. 建立索引【格式】Index on <表达式> tag<索引标识名> [for<条件>] [ascending|descending] [unique|candidate][additive]22. 按索引字段排序【格式】Use <表名> order [tag] <索引标记名> [asce|desc]Set order to [[tag] <索引标识名>] [asce|desc]23. 使用索引快速查找记录打开表,并指定索引顺序;【格式】Seek <表达式>24. 重新建立打开的独立复合索引或单入口索引:【格式】REINDEX 25.从复合索引文件中删除指定的索引。

VFP常用编程命令及常用函数

VFP常用编程命令及常用函数

VFP常用编程命令及常用函数VFP常用编程命令及常用函数常用编程命令及常用函数注:在语法中如用方括号“[]”括起来的词句,表示可以不用。

常用命令假设(if...endif) 循环(dowhile...enddo)分支(docase...endcase)赋值(store...to) 调用表单(do form) 调用子程序(do)返回调用程序(return) 启动事件处理(readevents)清除事件处理(clearevents)开关命令执行状态(set talkon/off)结束程序(cancel)常用函数数值转换字符(str()) 字符转换数值(val()) 取系统日期(date())取年份(year()) 取月份(month()) 取天日(day())取整(int()) 四舍五入(round()) 删除标记(delete())记录号(recno()) 记录数(reccount()) 找到记录(found())表结尾(eof()) 表开头(bof()) 消除后续空格(trim())消除前导空格(ltrim())假设语句根据一逻辑表达式的值,有条件的执行一组命令。

语法:IF 逻辑表达式 [THEN]程序组1[ELSE程序组2]ENDIF参数:逻辑表达式代表一逻辑值,如果这逻辑值为真,系统执行程序组1,否则不执行程序组1,如果有else及程序组2的话,则执行程序组2,如没有则什么也不执行,直接执行endif后面的语句。

备注:在if...endif之间还可以有if...endif,即该命令是可以嵌套的。

then可以有也可以没有,对程序没有影响。

else及程序组2可以有也可以没有,但如果有的话,在逻辑表达式的值为假时,程序组2将被执行。

if 与 endif 必须配对使用,即有一个 if 必须有一个 endif,否则程序会出错。

举例:例1:假如分数字段的值大于等于90,则让等级字段的值为“优”,并显示该记录。

VFP常用命令小结

VFP常用命令小结

VFP常用命令小结第一篇:VFP常用命令小结VFP常用命令小结表中不设合计字段的大体思路如下:(如有合计字段,当然更简单,就用Replace All)Dimension Array Myarray(RECCOUNT())定义一个下标为记录总数的数组 Go Top Do While!Eof()Myarray(RECNO())=字段1+字段2+字段3…… Skip Enddo1、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 作用:打开和关闭表文件。

第二章VFP语言的数据类型

第二章VFP语言的数据类型
用于表示不同精度的数据。
10. 二进制字符型C、二进制备注型M
在各种代码页间保持不变的字符型数据和备注型 数据,用于不同国家的文本数据的处理。
存储数据
大多数程序设计语言允许使用常量、 变量和数组来存储数据,在VFP中,还 可以使用记录和对象。这些常量、变量、 数组、记录和对象称为存储数据的容器。
2.2.1VFP中的命名规则 2.2.1VFP中的命名规则
2. 变量只在应用程序运行时或创建它的工作区中才存在。 用LOCAL 指定的变量为局部变量 用PRIVATE 指定的变量为私有变量 用PUBLIC 指定的变量为全局(公共)变量 在命令窗口中创建的变量被自动赋予全局属性。 3. 变量的访问
变量可以用变量名来访问,但若此时存在同名的字段 变量,则优先访问字段变量。 若特指访问内存变量,需在变量名前加前缀“ M- >”或“M.”符号。
第二章 VFP的数据类型 VFP的数据类型
本章要点
1. 掌握数据库类型和数据存储(常量、变量、 数组、字段、对象)→ 2. 掌握各类型数据运算的操作符→ 3. 掌握常用系统函数的用法→ 4. 掌握NULL值的处理→ 5.*补充自定义函数的概念→
2.1VFP中的数据类型 2.1VFP中的数据类型 数据类型和字段类型
② 字符函数
LEN( )、SPACE( )、AT( ) 、LIKE( ) 、 、 SUBSTR( )、LEFT( )、RIGHT( ) 、 、 LOWER( )、UPPER( )、ALLTRIM( )
例: ? Len(‘abcde’), space(3), at(‘c’, ‘abcdcef’) 5 ‘ ’ 3 ? like('ab*', 'abcdefg') &&第二项是否与第一项相象 .t. ? SUBSTR(“abcdefgh”,2,3),subs(“abcd”,2),left (“abcdefgh”,2) bcd bcd ab

VFP编程题类型总结

VFP编程题类型总结

编程题类型总结(VFP)①求和类:1. 计算S=1!+2!+3!+4!+。

+N! S=0K=1INPUT "N=" TO N FOR i=1 TO N K=K*i S=S+K Endfor ?S2.求 33333217531+⋅⋅⋅⋅⋅⋅++++ SUM=0FOR I=1 TO 21 STEP 2 SUM=SUM+I^3 ENDFOR?”SUM=”,SUM3.有一分数序列,求前20项之和......81358352312++++M=1 N=2SUM=0FOR I=1 TO 20 TERM=N/MSUM=SUM+TERM X=N N=M+N M=XTERM=N/M ENDFOR ?”SUM=”,SUM4.求Sn=a+aa+aaa+aaaa ……,其中,a 是一个数字,a 的个数为n ,a 和n 由键盘输入 INPUT "输入 a 的值:" TO A INPUT "输入项数n:" TO N SN=0 B=AFOR I=1 TO N SN=SN+AA=A*10+BENDFOR?"数列之和为:",SN5. 求e x的台劳级数展开式的前n 项之和(运行时输入x=2.0,n=4))!1(!3!21132-+⋅⋅⋅⋅⋅⋅++++=-n xxxx e n xINPUT “X=” TO X INPUT “N=” TO N SUM=1P=1FOR I=1 TO N-1 P=P*I T=X^I/P SUM=SUM+T ENDFOR?”SUM=”,SUM6.求1*2+3*4+5*6+……21*22 SUM=0FOR I=1 TO 21 STEP 2 SUM=SUM+I*(I+1) ENDFOR?"和为=",SUM (1892) 7.通过键盘输入n ,求下列级数的 和:⋅1-1/2+1/3-1/4+…+1/n INPUT TO N S=0 F=1FOR I=1 TO NS=S+F*(-1)^(I-1)/I ENDFOR ?S8.计算连续自然数之和,并且显示和刚大于1000的最后一个自然数Sn=1+2+3+4+…+N STORE 0 TO S,NDO WHILE S<=1000N=N+1S=S+NENDDO ? N9.求1^2+4^2+7^2+…一直加到超过1000为止,输出和数与项数。

第二章VFP基础知识

第二章VFP基础知识

3 变量使用前必须进行定义:即对变量的名称、类型、宽度、小数 位数等进行描述。 (1)变量名:每个变量都有一个名称,称之为变量名。 变量命名规则: A.变量名由 汉字、字母(A~Z)、数字、下划线组成。 B.不能以数字开头。
C.下划线开头的变量一般作为系统变量,用户一般不要
使用。 例1:以下自定义的变量中合法的是。 A 1X B 年龄1 C A_12B D A&1、 例2:以下是变量的是。
例:执行以下命令的结果是
USE XS GO 3

XS表有如下记录: XH XM XB CSRQ
XM= ’赵芳 ’
? XM && 显示字段变量 ?M->XM
970001 李明
970002 王二 970003 张小丽

男 女
11/12/85
09/10/86 12/11/84
970004 赵芳

10/12/85
5)WAIT
格式:WAIT [提示信息] [TO 变量名]
从键盘接收单个字符数据存入指定的变量中。 如果缺省可选项,则暂停程序执行,等待从 键盘输入任意值后继续执行。
WAIT WINDOWS [提示信息] [TO 变量名] 字段变量的定义:字段变量的定义在表中进行。
5 变量的显示 变量的显示既可以是字段变量也可以是内存变量 (1)? 变量名表/表达式表 ? 变量1,变量2,……表达式1,表达2, …… 在当前显示所在行的下一行的首列的屏幕显示变量的值或表 达式的值。 (2)?? 变量名/表达式 在当前显示所在行、列后的屏幕显示变量的值或表达式的值。 ?? 变量1,变量2,……表达式1,表达式2, …… (3)???变量名/表达式 在打印机输出变量的值或表达式的值。

VFP知识点总结

VFP知识点总结Visual FoxPro(简称VFP)是一种数据库编程语言和集成开发环境,被广泛用于应用程序开发和数据库管理。

下面是关于VFP的主要知识点总结。

1.VFP的数据类型:VFP支持各种数据类型,包括字符型(Character), 数值型(Numeric), 日期型(Date), 逻辑型(Logical)等。

它还支持内置的复合数据类型如数组和对象。

2.VFP的数据操作:VFP提供了丰富的数据操作功能,包括数据的查询(SELECT...FROM...WHERE...等语句),数据的插入(INSERTINTO...VALUES.../INSERTINTO...SELECT...语句),数据的更新(UPDATE...SET...WHERE...语句),数据的删除(DELETEFROM...WHERE...语句)等。

3.VFP的表格和索引:VFP使用表格(Table)来存储数据,可以创建、修改和删除表格。

表格可以包含多个字段,每个字段有相应的数据类型和属性。

VFP还支持索引(Index)的创建,用于提高查询效率。

4.VFP的视图和报表:VFP支持视图(View)的创建和使用,视图是一种虚拟表格,它是由一个或多个实际表格中的数据组成的。

通过视图,可以简化复杂的数据查询操作。

此外,VFP还提供了报表(Report)生成工具,用于创建和打印专业的报表。

5.VFP的编程特性:VFP是一种面向对象的编程语言,支持面向对象的编程范式。

它提供了丰富的编程特性,如变量和常量的定义,条件语句(IF...ELSE...ENDIF),循环语句(DO...LOOP,FOR...ENDFOR),函数和过程的定义等。

此外,VFP还提供了可视化的界面设计工具,方便程序的开发和调试。

6.VFP的数据连接和交互:7.VFP的错误处理和调试:VFP具有良好的错误处理和调试机制,可以捕获和处理运行时错误。

它提供了错误处理语句(TRY...CATCH...FINALLY)、断言语句(ASSERT)和错误日志文件(ERRORLOG)等工具,方便开发者定位和解决问题。

VFP知识点总结

一、有效性规则和参照完整性1.有效性规则先选中要求设置的字段,(1)“规则”:逻辑型表达式即SQL格式表达式。

例:年龄是15-20:年龄>=15 and 年龄<=20(2)“信息”:字符型表达式,直接摘抄加“”(英文状态)(3)“默认值”:看选中的字段是什么类型2.参照完整性(1)判断一方(没有重复字段的表)和多方(有重复字段的表)(2)一方建主索引,多方建普通索引(3)由一方向多方扯一条线(4)清理数据库(数据库—清理数据库,如果遇到“文件正在使用暂不能发布pack命令,”此时close all,再重新以独占方式打开数据库再进行一次清理)(5)右键编辑参照完整性(两个永久性联系须一一设置其参照完整性)二、SQL语句1.格式:格式一:Select [top]字段1/字段2…… from表1,表2…. where连接条件and(or) 筛选条件{group by 某一字段 [haing count(字段)] } order by字段1 asc/desc, 字段2asc/desc…… into table表格式二:Select[top]字段1/字段2…… from表1 join 表2 join表3…. on连接条件(返回来写) where筛选条件 {group by 某一字段 [haing count(字段)] } order by字段1 asc/desc, 字段2 asc/desc…… into table表⑴.“字段1/字段2……”,根据题目要求,搜索什么字段写什么字段,若其中某一字段在表中没有则认定为是起的新名字,在该字段前加as,之后向函数avg(),sum(),max(),min(),count()。

⑵.“group by 某一字段 [haing count(字段)]”为难点。

考虑用不用group by,首先在草稿纸上或脑海生成题目要求的表,选取一个个例填写分析是否用得到group by,按什么分组。

Visualfoxpro命令大全和函数大全文库.docx

Visual foxpro命令大全和函数大全文库.IxtlG生活,就是面对现实微笑,就是越过障碍注视未来;生活,就是用心灵之剪,在人生之路上裁出叶绿的枝头;生活,就是面对困惑或黑暗时,灵魂深处燃起豆大却明亮且微笑的灯展。

17过去与未來,都离自己很遥远,关键是抓住现在,抓住当前。

?在下一行显示表达式串??在当前行显示表达式串•将数据按用户设定的格式显示在屏幕上或在打印机上打印ACCEPT把一个字符串赋给内存变量APPEND给数据库文件追加记录APPEND FROM从其它库文件将记录添加到数据库文件中AVERAGE计算数值表达式的算术平均值BROWSE全屏幕显示和编辑数据库记录CALL运行内存中的二进制文件CANCEL终止程序执行,返回関点提示符CASE在多重选择语句屮,指定一个条件CHANGE对数据库中的指定字段和记录进行编辑CLEAR清洁屏幕,将光标移动到屏幕左上角CLEAR AI丄关闭所冇打开的文件,释放所有内存变最,选择1号T作区CLEAR FIELDS清除用SET FTELDS TO命令建立的字段名表CLEAR GETS从全屏幕READ中释放任何当前GET语句的变量CLEAR MEMORY清除当前所有内存变量CLEAR PROGRAM清除程序缓冲区CLEAR TYPEAHEAD清除键盘缓冲区CLOSE关闭指定类型文件CONTINUE把记录指针指到下一个满足LOCATE命令给定条件的记录,在LOCATE命令后出现。

无LOCATE则出错COPY TO将使用的数据库文件复制另一个库文件或文本文件COPY FILE复制任何类型的文件COPY STRUCTURE EXTENED TO当前库文件的结构作为记录,建立一个新的库文件COPY STRUCTURE TO将正在使用的库文件的结构复制到目的库文件中COUNT计算给定范围内指定记录的个数CREATE定义一个新数据库文件结构并将其登记到冃录中CREATE FROM根据库结构文件建立一个新的库文件CREATE LABEL建立并编辑一个标签格式文件CREATE REPORT建立宾编辑一个报表格式文件DELETE给指定的记录加上删除标记DELETE FILE删除一个未打开的文件DIMENSION定义内存变最数组DTR或DIRECTORY列岀指定磁盘上的文件目录DISPLAY显示一个打开的库文件的记录和字段DISPLAY FILES杏阅磁盘上的文件DISPLAY HISTORY查阅执行过的命令DISPLAY MEMORY分页显示当前的内存变量DISPLAY STATUS显示系统状态和系统参数DISPLAY STRUCTURE显示当前书库文件的结构DO执行FoxBase程序DO CASE程序屮多重判断开始的标志DO WHILE程序中一个循环开始的标志EDIT编辑数据库字段的内容EJECT使打卬机换页的命令,将PROWO函数和PCOLO函数值置为0ELSE在结构小提供另一•个条件选样路线ENDCASE终止多重判断ENDDO程序中一个循环体结束的标志END1F判断体结构结束标志ERASE从目录屮删除指定文件EXIT在循环体内执行退出循环的命令FIND将记录指针移动到第一个含有与给定字符串一致的索引关键字的记录上FLUSH清除所有的磁盘存取缓冲区GATHER FROM将数纽元素的值赋了数据库的当前记录屮GO/GOTO将记录指针移动到指定的记录号HELP激活帮助菜单,解释FoxBASE+的命令TF在结构屮指定判断条件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激活一•组@命令定义的菜单MODIFY COmiAXD进入FoxBASE+系统的字处理状态,并编辑一个ASCII码文本文件(如果指定文件名以.PRG为后缀,则编辑一个FoxBASE+命令文件)MODIFY FILE编辑一个一般的ASCI]码文本文件MODIFY LABEL建立并编辑一个标签(.LBL)文件MODIFY REPORT建立并编辑一个报表格式文件(.FRM)文件MODIFY STRUCTURE修改当前使用的库文件结构NOTE/*在命令文件(程序)屮插入以行注禅(木行不被执行)ON根据指定条件转移程序执行OTHERWISE在多重判断(DO CASE)中指定除给定条件外的其它情况PACK彻底删除加有删除标记的记录PARAMETERS指定子过程接受主过程传递來的参数所存放的内存变量PRIVATE定义内存变量的属性为局部性质PROCEDURE 一个子过程开始的标志PUBLTC定义内存变量为全局性质QUIT关闭所有文件并退出FoxBASE+READ激活GET语句,并正是接受在GET语句中输入的数据RECALL恢复用DELETE加上删除标记的记录REINDEX重新建立止在使用的原有索引文件RELEASE清址当前内存变量和汇编语言子程序RENAME修改文件名REPLACE用指定的数据替换数据库字段屮原有的内容REPORT FORM显示数据报表RESTORE FROM从内存变屋文件(.MEM)屮恢复内存变量RESTORE SCREEN装载原來存储过的屏幕映彖RESUME使暂停的程序从暂停的断点继续执行RETRY从当询执行的子程序返回调用程序,并从原调用行重新执行RETURN结束子程序,返回调用程序RUN/!在F()xBASE+屮执行一个操作系统程序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设置Fl期表达式的格式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/PR1XT将@命令的结果传送到屏幕/打印机SET DOH I STORY ON/OFF设置存/不存命令文件中的命令到历史记录中SET ECHO ON/OFF命令行回送到屏幕或打印机SET ESCAPE ON/OFF允许ESCAPE退出/继续命令文件的执行SET EXACT ON/OFF在字符串的比较中,要求/不要求准确一致SET EXACLUSTVE 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设g LIST或DISPLAY时,显示/不显示字段名SET HELP ON/OFF确定在出现错谋时,是否给用户提示SET HISTORY ON/OFE决定是/否把命令存储起来以便重新调用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行上显示F()xBASE+的状态信息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暂停(挂起)程序的执行在屏幕上当前光标位置显示...的文本数据块TOTAL TO对预先已排序的文件产生一个具有总计的摘耍文件TYPE显示ASCII码文件的内容UNLOCK解除当前库文件对记录和文件的加锁操作UPDATE允许对一个数据库进行成批修改USE带文件名的USE命令打开这个数据库文件。

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

VFP命令、函数及程序语句大全(2)二、常用函数1、数学函数函数用途ABS(<数值表达式>)绝对值,|x|CEILING(<数值表达式>)>=自变量的最小整数EXP(<数值表达式>)对基E的幂,e=2.71828FLOOR(<数值表达式>)<=自变量的最大整数INT(<数值表达式>)取整(舍尾)自变量LOG(<数值表达式>)自变量的自然对数,ln xLOG10(<数值表达式>)自变量的普通对数,lg xMAX(<表达式1>,<表达式2>)两个值的最大值MIN(<表达式1>,<表达式2>)两个值的最小值MOD(<数值表达式1>,<数值表达式2>)求余数RAND([<数值表达式1>])返回伪随机数ROUND(<数值表达式1>,<数值表达式2>)四舍五入第一个自变量SIGN(<数值表达式>)自变量的符号SQRT(<数值表达式>)平方根(正根)2、字符串操作函数函数用途&<内存变量> 用于代替内存变量内容LEN(<字符串表达式>)返回字符串表达式的字符个数SPACE(<数值表达式>)生成空格SUBSTR(<字符串表达式>,<数值表达式n>[,<数值表达式L>])求子字符串,从指定的字符串表达式第n个开始,总长为L的字符串LOWER(<字符串表达式>)将字符串字母转换成小写字母UPPER(<字符串表达式>)将字符串字母转换成大写字母TRIM(<字符串表达式>)删除字符串尾空格ASC(<字符串表达式>)返回字符串表达式最左边的第一个字符的ASCII码CHR(<数值表达式>)将数值表达式转换成字符AT(<字符串表达式1>,<字符串表达式2>[,<数值表达式n>])确定字符串表达式1在字符串表达式2中的位置,n 为字符串表达式第几次出现STR(<数值表达式>[,<数值表达式L>][,<数值表达式n>)将数值转换为字符串,L为数值表达式总长,n为小数位数VAL(<字符串表达式>)将数字字符串转换为数字TYPE(<表达式>)检测表达式值的数据类型LTRIM(<字符串表达式>)删除字符串左部空格RTRIM(<字符串表达式>)删除字符串右部空格LEFT(<字符串表达式>,<数值表达式n>)取字符串左边部分字符,n为返回的字符个数RIGHT(<字符串表达式>,<数值表达式n>)取字符串右边部分字符,n从右边截取字符个数3、表(.dbf)操作函数函数用途BOF([<工作区号或别名>])查表文件开始函数EOF([<工作区号或别名>])表文件结尾测试函数RECNO([<工作区号或别名>])测试当前或指定工作区表的当前记录号DELETED([<工作区号或别名>])记录删除测试函数FILE(<"字符串">)测试文件是否存在函数DBF([<工作区号或别名>])检测表的文件名函数4、日期、时间函数函数用途DATE()查系统当前日期函数TIME([<数值表达式>])查系统当前时间函数YEAR(<日期型表达式>|<日期时间型表达式>)由日期查年函数MONTH(<日期型表达式>|<日期时间型表达式>)从日期查月份函数CMONTH(<日期型表达式>|<日期时间型表达式>)由日期查月份名函数DAY(<日期型表达式>|<日期时间型表达式>)从日期查当月的日函数DOW(<日期型表达式>|<日期时间型表达式>[,<数值表达式>])由日期查星期函数CDOW(<日期型表达式>|<日期时间型表达式>)从日期查星期名函数DTOC(<日期型表达式>|<日期时间型表达式>)日期转换为字符函数CTOD(<字符串表达式>)字符串转换为日期函数CTOT(<字符串表达式>)返回日期时间值函数TTOC(<日期时间型表达式>)返回字符值5、显示、打印位置函数函数用途ROW()判断光标行位置函数COL()判断光标列位置函数INKEY([<数值表达式>])检测用户所击键对应的ASCII码函数,数值表达式以秒为单位等待击键的时间6、其他函数函数用途DISKSPACE()返回默认磁盘驱动器中可用字节数函数OS()检测操作系统名称的函数VERSION()返回VFP版本号的函数VFP命令、函数及程序语句大全(3)三、主要程序语句1、条件判断语句(1)IF <条件><命令语句组>ENDIF说明:如果条件为真,则执行命令语句组中的各语句,否则跳过这些命令语句不执行,而执行ENDIF后的语句。

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

VFP常见编程常见类型汇总1、1-100的累加2、阶乘3、求阶乘和4、条件定位5、用scan语句查询定位6、用scan语句扫描符合条件的记录,并显示出来7、查找男性职工8、新值换旧值9、多位整数各个位数相加10、找100-999之间的“水仙花数”11、判断一个大于3的数是否为素数12、求一个班级每个学生的平均成绩13、计算圆的面积14、将小写字母转换为大写字母15、找出最大数和最小数16、绝对值函数的实现17、绝对值函数实现的另一种方法18、输出成绩等级19、求一名学生的平均成绩20、用数组的方法,计算一个学生的平均成绩21、用do case语句实现符号函数的功能22、用一般选择语句实现符号函数的功能用简单选择语句实现符号函数功能24、打开数据库和数据表25、显示表中指定信息26、询问后再由用户按(Y/N)键执行的程序实现27、根据exact的设置进行字符串匹配比较28、使一个多位正整数逆序排列29、按编号查找并列出一条记录30、验证密码程序:31、编程求税金32、用三角形列出乘法口诀表:33、将变量A、B值互换:34、找出已知三个数的中间数:35、调用子程序:36、用参数传递计算圆的面积:37、我国古代数学家张丘建VFP常见编程实例1、1-100的累加** 求1到100的累加值CLEARs=0i=1DO WHILE i<=100s=s+ii=i+1 &&一定记住先累加后循环ENDDOsRETURN2、阶乘** 求5的阶乘CLEARj=1i=1DO WHILE i<=5j=j*ii=i+1ENDDOjRETURN3、求阶乘和** 求1至5的阶乘和CLEARs=0i=1j=1DO WHILE i<=5j=j*is=s+ji=i+1ENDDOsRETURN4、条件定位** 查询定位记录指针在赵伟上CLEARUSE 学生LOCATE FOR 姓名="赵伟"IF FOUND()DISPLAYELSECANCELENDIFCONTINUE5、用scan语句查询定位** 用scan语句查询定位记录在赵伟上CLEARSCAN FOR 姓名="赵伟"DISPLAYENDSCANRETURN6、用scan语句扫描符合条件的记录,并显示出来** 把年龄小于30岁的人显示出来CLEARSCAN FOR 年龄<30DISPLAYENDSCANRETURN7、查找男性职工** 查找男性职工CLEARLOCATE FOR 性别="男"DO WHILE FOUND()DISPLAYCONTINUEENDDORETURN** 查找男性职工CLEARLOCATE FOR 性别="男"DO WHILE NOT EOF()DISPLAYCONTINUEENDDORETURN** 查找男性职工USE 职员基本信息表LOCATE FOR 性别="男"DO WHILE .t.IF FOUND() thenDISPLAYELSE&&记住最后一个ELSE语句后面不需要条件表达式CANCELENDIFCONTINUEENDDO** 查找男性职工set talk offclearopen database 家庭成员管理.dbcuse stu.dbfscan for not eof()if xb="女"skipelsedisplayskipendifendscanclose databaseuseset talk onreturn8、新值换旧值** 有一对新生的兔子,从第三个月开始,每个月出生一对兔子,请问到第十二个月共出生多少对兔子?clearstore 1 to a,bi=3do while i<=12c=a+ba=bb=ci=i+1enddo"一年共出生兔子:",c9、多位整数各个位数相加** 求多位整数各个位数之和CLEARs=0input "请输入一个多位整数:" to aDO WHILE a<>0s=s+MOD(a,10) &&将a取余正好是个位上的数a=INT(a/10) &&将a除10取整正好是除个位之后的数ENDDO"这个整数的各个位数之和是:",sRETURN10、找100-999之间的“水仙花数”CLEARFOR i=100 TO 999a=INT(i/100)b=INT((i-100*a)/10)c=i-INT(i/10)*10IF i=a^3+b^3+c^3?iENDIFENDFORRETURN11、判断一个大于3的数是否为素数CLEARinput "请输入一个数(>=3):" to sf=0i=2DO WHILE i<=INT(SQRT(s))IF MOD(s,i)<>0i=i+1LOOPELSEf=1EXITENDIFENDDOIF f=0?str(s,3)+"是素数"ELSE f=1&&这个表达式可有可无,为了省事完全省略也可以。

一般最后一个ELSE 语句后面不需要表达式?str(s,3)+"不是素数"ENDIFRETURN12、求一个班级每个学生的平均成绩** 计算一个班级共三十名学生,每位学生5门功课的平均成绩CLEAR && 清屏DIMENSION x(30,5) && 定义一个数组变量,r为学生数,i为功课数r=1 && 给30个学生的计数变量r赋初值1DO WHILE r<=30 && 循环30次,以计算出30个学生的平均成绩s=0 && 为学生一门功课成绩赋初值0i=1 && 为五门功课计数变量赋初值1DO WHILE i<=5 && 为一个学生的五门功课成绩累加5次input "请输入学生的成绩" to x(r,i)s=s+x(r,i) && 成绩累加i=i+1 && 功课累加ENDDO && 返回内循环?"这名学生的平均成绩是:",s/5 && 显示平均成绩r=r+1 && 学生累加ENDDO && 返回外循环13、计算圆的面积* 计算圆的面积程序CLEARinput "请输入半径的值" to rinput "请输入pi的值" to pis=pi*r^2"圆的面积是",sRETURN14、将小写字母转换为大写字母NOTE 请将任意输入的一个小写字母转换成大写字母,也就是upper()函数的程序实现CLEAR && 请屏WAIT "请输入一个小写字母" to x && 交互式输入一个小写字母k=ASC(x) && 将小写字母的ASC码赋值给变量KIF k>=97 AND k<=122 then && 97是小写字母a的ASC码值,122是小写字母z的ASC 码值x,"的大写字母是",CHR(k-32) && 输出大写字母.chr函数是ASC码所对应的字符ELSEWAIT "您输入的不是小写字母" WINDOW TIMEOUT 5cancelENDIFRETURN && 返回到调用程序15、找出最大数和最小数CLEARinput "请输入一个数:" to xSTORE x TO ma,miFOR i=2 TO 10 &&因为已经输入一个数X,所以循环次数只有9次input "请输入一个数:" to xIF ma<x && ma是变量中存的数,x是刚输入的数ma=xENDIFIF mi>xmi=xENDIFENDFOR"最大数是:",ma"最小数是:",miRETURN16、绝对值函数的实现** 绝对值函数的实现CLEARinput "请输入一个数值" to nIF n>=0nELSE-nENDIFCANCEL17、绝对值函数实现的另一种方法** 绝对值函数和另一种实现方法CLEARinput " 请输入一个数值" to nIIF(n>=0,n,-n)CANCEL18、输出成绩等级** 用DO CASE语句实现:CLEARinput "请输入一个成绩" to cjDO caseCASE cj>=90dj="优秀"CASE cj>=80dj="良好"CASE cj>=60dj="合格"OTHERWISEdj="不合格"ENDCASEdjRETURN**用IF语句实现:set talk offclearinput "请输入一个成绩:" to sif s>=90grade="优秀"elseif s>=80grade="良好"elseif s>=60grade="及格"elsegrade="不及格"endifendifendifltrim(str(s))+"分对应的等级是:"+gradeset talk onreturn19、求一名学生的平均成绩** 求一个学生5门功课的平均成绩CLEARs=0i=1DO WHILE i<=5input "请输入各门功课的成绩" to xs=s+xi=i+1ENDDOs/520、用数组的方法,计算一个学生的平均成绩** 用数组保存一个学生五门功课的成绩,然后再计算机其平均成绩CLEARDIMENSION x(5)s=0i=1DO WHILE i<=5input "请输入各门功课的成绩" to x(i)s=s+x(i)i=i+1ENDDOs/5RETURN21、用do case语句实现符号函数的功能** 请输入一个数,当这个数是负数,就返回-1,当这个数是零,就返回零,当这个数是正数,就返回1CLEARinput "请输入一个数" to nDO CASECASE n>0s=1CASE n=0s=0CASE n<0s=-1ENDCASEsRETURN22、用一般选择语句实现符号函数的功能** 符号函数的实现CLEARinput "请输入一个数" to nIF n>0s=1ELSEIF n=0s=0ELSEIF n<0s=-1ENDIFENDIFENDIFs23、用简单选择语句实现符号函数功能** 符号函数的实现CLEARinput "请输入一个数" to nIF n=0s=0ENDIFIF n>0s=1ENDIFIF n<0s=-1ENDIFs24、打开数据库和数据表SET talk offCLEARaccept "请输入数据库名" to xOPEN DATABASE &xaccept "请输入数据表名" to yUSE &yLISTuseSET talk offreturn25、显示表中指定信息SET TALK OFFCLEAROPEN DATABASE 时代超越总公司职员信息数据库USE 职员基本信息表WAIT "请输入待查职工的编号(1-3)" TO nIF V AL(n)<1 .or. V AL(n)>3WAIT "输入无效,结束程序运行!" WINDOW timeout 5 RETURNELSESTORE "0"+n TO aLIST for "职员编号"=aENDIFCLOSE DATABASESSET TALK ONreturn26、询问后再由用户按(Y/N)键执行的程序实现** 求任意一个数的阶乘CLEARDO WHILE .t.input "请输入一个数" to np=1s=0FOR i=1 TO np=p*is=s+pENDFORsWAIT "是否继续计算(Y/N)" TO yn windowIF UPPER(yn)="Y" THENLOOPELSEEXITENDIFENDDORETURN27、根据exact的设置进行字符串匹配比较** exact设置的变化对取值结果的影响SET exact ON && exact为打开状态,字符精确匹配s="in"+SPACE(2)IF s=="in"IF s="in"?"a"ELSE?"b"ENDIFELSEIF s="in"?"c"ELSE?"d"ENDIFENDIFRETURN28、使一个多位正整数逆序排列CLEARinput "请输入一个整数:" to xDO WHILE x>0y=x%10yx=INT(x/10)ENDDORETURN29、按编号查找并列出一条记录set talk offclearaccept "请输入数据库名:家庭成员管理:" to aopen databaseaccept "请输入数据表名:stu:" to buselistwait "请输入一个编号:" to c windows timeout 5if val(c)<=0 or val(c)>4wait "输入的数字不合法,请重新输入一个合法的数字:" to c windows timeout 5 elsestore "0"+c to aaalist for bh=aaaendifclose databaseset talk onreturn30、打开一个数据库,并显示其中的表内容set talk offclearaccept "请输入一个数据库名:家庭成员管理.dbc" to xopen databaseaccept "请输入一个数据表名:stu.dbf" to yuselistuseset talk onreturn30、验证密码程序:set talk offclearaccept "请输入密码:" to aaaif aaa="abc"clearwait "欢迎使用本系统!"elsewait "密码错误,程序将在5秒钟退出!" windows timeout 5 endifset talk onreturn31、编程求税金set talk offclearinput "请输入营业收入:" to pdo casecase p<800r=0case p=<2000r=0.05case p<5000r=0.08case p>=5000r=0.1endcasex=p*r"应纳税金为:" , xset talk onreturn32、用三角形列出乘法口诀表:set talk offclearX=1DO WHILE X<=9Y=1DO WHILE Y<=XS=X*Y?? STR(Y,1)+"*"+STR(X,1)+"="+STR(S,2)+" "Y=Y+1ENDDOX=X+1ENDDOSET TALK ONRETURN33、将变量A、B值互换:a=1b=2a=a+bb=a-ba=a-ba,b34、找出已知三个数的中间数:INPUT "请输入a 的值:" TO aINPUT "请输入b 的值:" TO bINPUT "请输入c 的值:" TO cIF MAX(a,b)<c? MAX(a,b)ELSEIF MIN(a, b)<c? cELSE? MIN(a,b)ENDIFENDIF35、调用子程序:* MAIN.PRGSET TALK OFF”正在执行主程序”DO SUB1SET TALK ONProcedure SUB1”正在执行SUB1”RETURN36、用参数传递计算圆的面积:set talk offclearinput "请输入圆的半径" to rs=0 &&用参数传递计算必须给实际参数赋初值do arer with r,s&&调用子程序,并指定实际参数r,s"圆的面积为:",sset talk onprocedure arer &&被调用的子程序arerparameter x,y &&指定的形式参数x,yy=3.14*x^2returnset talk on37、我国古代数学家张丘建在“算经”里提出一个世界数学史上有名的百鸡问题:鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问鸡翁,母,雏各几何?**依题列出方程:x+y+z=1005x+3y+z/3=100set talk offclearfor x=1 to 100for y=1 to 100z=100-x-yif 5*x+3*y+z/3=100?"鸡翁:"+str(x,3)?"鸡母:"+str(y,3)?"鸡雏:"+str(z,3)endifendforendforset talk onreturn1、变字DO CASECASE THIS.V ALUE=1BEL1.FONTNAME="黑体"CASE THIS.V ALUE=2BEL1.FONTNAME="隶书"ENDCASE2、确定I=I+1IF I<3IF THISFORM.TEXT1.V ALUE="3721"MESSAGEBOX("密码正确,欢迎进入本系统!")THISFORM.RELEASEELSEMESSAGEBOX("密码错误,请重新输入!")THISFORM.TEXT1.V ALUE=""THISFORM.TEXT1.SETFOCUSENDIFELSEMESSAGEBOX("密码错,禁止进入本系统!")THIS.ENABLED=.F.ENDIF3、清除THISFORM.TEXT1.V ALUE=""THISFORM.TEXT1.SETFOCUS4、红色BEL1.FORECOLOR=RGB(255,0,0)绿色BEL1.FORECOLOR=RGB(0,255,0)蓝色BEL1.FORECOLOR=RGB(0,0,255)加关注MAND4.SETFOCUS退出THISFORM.RELEASE日期与时间PUBLIC II=.T.IF I=.T.THISFORM.TEXT1.V ALUE=DA TE()THISFORM.TEXT1.DA TEFORMA T=12THISFORM.TEXT1.DA TEMARK="."I=.F.ELSETHISFORM.TEXT1.V ALUE=TIME()I=.T.ENDIFFORM1 ACTIV ATESET EXACT OFFTHISFORM.TEXT1.SETFOCUSCOMMAND 1 CLICKTHISFORM.EDIT.V ALUE=""XS=ALLTRIM(THISFORM.EDIT.V ALUE)GO TOPK=0SCANIF ZGDA.姓名=XSTHISFORM.EDIT1.V ALUE=THISFORM.EDIT1.V ALUE+zgda.姓名+CHR(13) K=1ENDIFENDSCANIF K=0MESSAGEBOX("职工表中无此姓氏!",0,"查询失败")ENDIFTHISFORM.TEXT1.SETFOCUSRETURNCOMMAND2 CLICKRELEASE THISFORM8.北京欢迎您IF BEL1.TOP<0BEL1.left=233BEL1.TOP=BEL1.TOP-2 ENDIF。

相关文档
最新文档