首页 > vfp学习辅助

vfp学习辅助

2011-11-04 9页 doc 64KB 9阅读

用户头像

is_465425

暂无简介

举报
vfp学习辅助vfp库、表、数据操作注意事项 vfp库、表、数据操作注意事项 1.在指定的位置,用指定的名字保存文件。 2.类型准确,宽度适宜。 3.能用鼠标选取,不用键盘输入。 4.先选字段,后设有效性规则,规则是个表达式,信息是个字符串。 默认值是字段值,不是表达式,若字段字符型,应加引号。如性别默认值"女",不是性别='女'。 5.经常用到“显示”、“表”菜单。 6.表达式一般三项:左边字段名,千万别加引号;中间一般关系运算符(大于、小于、等于等等);右边是和左边字段类型相同的常量,如果是字符型,一定加引号,如姓名='张三'。如果数值...
vfp学习辅助
vfp库、表、数据操作注意事项 vfp库、表、数据操作注意事项 1.在指定的位置,用指定的名字保存文件。 2.类型准确,宽度适宜。 3.能用鼠标选取,不用键盘输入。 4.先选字段,后设有效性规则,规则是个表达式,信息是个字符串。 默认值是字段值,不是表达式,若字段字符型,应加引号。如性别默认值"女",不是性别='女'。 5.经常用到“显示”、“表”菜单。 6.表达式一般三项:左边字段名,千万别加引号;中间一般关系运算符(大于、小于、等于等等);右边是和左边字段类型相同的常量,如果是字符型,一定加引号,如姓名='张三'。如果数值型,则不加,如成绩>85。 7.标点符号都是英文半角的。 8.逗号隔开多项。 9.打开是打开,显示是显示;查找是查找,显示是显示,动指针是动指针,显示是显示。 10.打开文件时,选位置,选类型。 VFP表达式及交互式命令 1. 命令窗口中一行输入一条命令, 一行一回车 ,命令执行结果在主窗口显示。 2. <> 和!=都是“不等号”,用哪个都可以。 3. ?竖着走,??横着走。 4. x=6 表示将常数6赋值给变量x;而?x=6表示判断x值与6是否相等,结果是逻辑值。 5. input 与 accept都是交互式命令,在程序中使用,可以使程序运行过程中暂停, 主窗口出现光标 ,等待用户输入数据,你不动,它不动。输入数据后按回车键将数据赋值给命令中的相关变量,程序继续向下执行。 input 一般用于输入数值,而accept用于输入字符串 ,accept输入字符串时不需加定界符(引号)。 一条input 或accept只能给一个变量赋值 ,若给多个变量赋值,需使用多条input 或 accept。经典错误:input to x,y,z;input 3 to x。 6. 表达式中参与运算的数据必须类型相同,必要时需转换数据类型。 7. 函数str()是把数值转换成字符串,例如str(x),将变量x转换成10位宽的数字字符串,若不够10位宽,则左边补空格,即x值为6时,转换成字符串"         6"。 8. ltrim()可以删除字符串中左端的所有空格,trim()可以删除字符串中右端的所有空格,函数alltrim()可以删除字符串中左端和右端的所有空格。 程序分支结构 1.分支结构中,两路分支,只能走一支;多路分支,也只能走一支。 2.当一路有事情做,另一路没事做的时候,使用IF单分支。例如三个数排序,三个数对调时次序很重要(X、Y,X、Z,Y、Z)。 3.一条语句做一件事,经典错误:?Y=X^2,应该是两句Y=X^2和?Y。 4.ELSE和IF配对使用,孤零零的占据一行,表示IF条件表达式值为假(否则)。 5. T=X  X=Y  Y=T三行语句可以实现对调变量X和Y的值。想象一下对调两杯不同的饮料,可以借助第三只杯子,变量T就是第三只杯子。 6.IIF(条件表达式,表达式为真时的函数值,表达式为假时的函数值),例如: M=IIF(X>Y,X,Y),可以将X和Y中的大数赋值给变量M。 7. X>Y>Z是错的,X>Y AND Y>Z是对的。 8. DO CASE 中间有空格,ENDCASE中间没有空格。 9.X^(1/3)一定要加括号;SQRT()是平方根函数。 10.错误提示“找不到变量'0'”,意味着这条出错语句中应该使用数字0(零),而不该使用字母O。例如CASE X>O,应该改为CASE X>0。 11.IF和ENDIF成对出现,有一个IF就应该有一个ENDIF。 程序设计(循环结构) 1.DO WHILE - ENDDO、FOR - ENDFOR结构,注意单词间是否有空格。出现在循环条件中的变量是循环变量,DO WHILE - ENDDO之间的、FOR - ENDFOR之间的称为循环体。 2.DO WHILE是当型循环,当循环条件为真,就反复执行循环体语句(一遍一遍反复执行),当条件变为假,到ENDDO后继续执行。遇到ENDDO,回头看条件。 3.DO WHILE结构一般有三要素:循环变量赋初值,循环条件,循环变量增值。例如: I=1     &&赋初值 DO WHILE I<=100  &&循环条件   .........   I=I+1          &&增值 ENDDO 4.累加算法两句话:循环前,累加变量S=0;循环体内,累加语句S=S+T。其中T是累加项,累加到变量S中。 5.FOR结构的循环三要素写在一行上,看起来很精简。例如: FOR I=1 TO 100 STEP 1  ......... ENDFOR 循环变量增值为1时,可以省略,即STEP 1 可以不写。FOR循环可以表示一个闭区间,如上例[1,100]。 流程: I=1(只执行一次) I小于等于100吗?真,则执行循环体,遇到ENDF,回头STEP,给循环变量增值,然后继续判断条件I小于等于100吗?真,则重复红色字区域;假,流程到ENDF后继续。 6.FOR的循环体,不需再增值。 7.累加、累乘时,注意增值语句的位置。如: S=S+X X=X+1 和 X=X+1 S=S+X 不一样。 语句次序很重要。  8.出现死循环,Esc退出程序运行。 9.用FOR循环结构可以表示一个闭区间。循环变量可以表示一个数列。数列相加可以用累加算法。当要求输出结果几个一行时,可用?表示换行。 VF程序设计(LOOP、EXIT) 1.LOOP、EXIT用于循环体内。LOOP回去了,EXIT出去了。LOOP、EXIT应该和IF联用。 2.水仙花数和判断素数都是FOR+IF单分支。 3.判断素数注意循环变量I(可能的因子)的初值和终值([2,N-1]),出循环后判断是否素数。正常出循环就是素数,即IF I>N-1,则是素数,否则I<=N-1,不是素数。 4.数列相加,一项正一项负,可考虑循环前F=-1(1),循环体内F=-F,使累加项乘以F或累加项乘上(-1)^(i+1)或(-1)^i使每一项正负切换。 5.三位数拆分百位BW=INT(N/100);拆分十位:SW=INT((N-BW*100)/10);拆分各位GW=N%10或GW=MOD(N,10)。 6.3+33+333+......。通项式:T=T*10+3。循环前T=0,T代表要累加的每一项。 7.DO WHILE .T. + EXIT组合,循环体内若没有EXIT则死循环。 VF程序设计循环嵌套 1.外层循环一圈,内层循环多圈。遇到内层ENDDO返回内条件,遇到外层ENDDO,返回外条件;遇到内层ENDFOR返回内循环变量增值,遇到外层ENDFOR,返回外循环变量增值。 2.主要两种例题:一种是外循环一圈,内循环固定圈,如5圈;另一种是内循环圈数随外循环变量值的变化而变化,例如若外循环变量是I,则内循环变量的终值为I,或2*I-1。 3.画图形基本算法: (1)两层循环:外层I控制行数,内层J控制输出每行的输出项,如星号(*)。注意外循环只管行。 (2)外循环体中一般三件事:第一件,输出每行前导空格;第二件,输出每行的星号;第三件,换行(?)。第一件事不是必须的,根据题目,有的没有,有的每行多一个空格(SPACE(I)),有的每行少一个空格(SPACE(行数-I))。第二件事每行的星号数可能是常数,也可能是1、2、3变化,也可能是1、3、5变化,则内循环变量的终值为I,或2*I-1。还可以说成外循环体内三件事:换行、前导空格和每行星。 4.将外循环变量的初值和终值掉个个儿,图形翻个个儿。注意STEP -1。 5.STR(I,1)可以将数值变量I转换为1位的数字字符。 VFP循环结构习题及数组 1.编程处理数据表时经常用到DO WHILE NOT EOF()+ SKIP组合。例如: USE 学生     &&打开表,指针指向第一条记录 M=0 DO WHILE NOT EOF() &&只要指针没指向表的结束标记就循环    IF 性别='男'       M=M+1    ENDIF    SKIP                  &&指针向表尾移动一条记录 ENDDO ?M USE 2.两层循环做阶乘和的题目时,要注意F=1应放置在外循环体内,即两个FOR之间,外循环每转一圈,累乘变量F都要重新初始化为1,否则放在外循环前,则越乘越多了。内循环体内累乘的是内循环变量。 3.STR()将数值转换为字符串,即为数字加引号;VAL()将字符串转换为数值,即去掉数字串的引号。STR加引号,VAL去引号。 4.取子串函数:SUBS(源串,子串起始位置,子串字符个数)。例如: ?subs('abcdefg',1,3)运行结果是abc。 ?subs('abcdefg',3,2)运行结果是cd。 5.输出九九表的内循环体:??'  '+str(i,1)+'*'+str(j,1)+'='+str(i*j,2)+'  ' 。加号串起字符串。 6.定义数组:DIME A(10)。数组名为A,A数组有10个元素,每个元素都可以像普通变量一样使用,各个元素为A(1)A(2)A(3)......A(10) 。数组一般使用FOR+A(I)组合,其中I是循环变量,表示数组的所有下标。例如: FOR I=1 TO 10   INPUT TO A(I) ENDFOR 程序运行时给A数组的10个元素输入数据。 注意:A(I)必须用于循环体内。 7.EXIT退出本层循环,即在内循环体内时退出内循环,在外循环体内时退出外循环。 VFP表单设计(一) 1.设计表单分三步:(1)两点生成对象。在表单控件工具栏内单击所需的类按钮,在表单设计器窗口内单击生成对象。(2)设置主要属性。先选定对象,然后在属性窗口设置属性值。(3)为命令按钮编写CLICK事件代码。双击命令按钮,在打开的代码窗口内编码。 2.引用对象要使用其具体属性或方法。例如:THISFORM.TEXT1.VALUE或THISFORM.RELEASE。 3.CAPTION属性是标题属性,值必须是字符型的,必要时利用STR函数进行类型转换。 4.VALUE属性是值属性,默认初值是字符型的,可以利用VAL函数转换成数值型以便进行算术运算。 5.可以将文本框的VALUE值赋给变量,如X=THISFORM.TEXT1.VALUE,这叫取出来;也可以将变量赋给文本框的VALUE属性,如THISFORM.TEXT2.VALUE=F,这叫放进去。取出来时要注意数据类型,你是要处理数呢?还是处理串呢?放进去时类型无所谓。 6.从文本框中取出字符型数据时,要注意尾部的空格,应该S=ALLTRIM(THISFORM.TEXT1.VALUE)去除尾部空格,仅留下你输入的字符串。 7.念熟LABEL1.CAPTION、TEXT1.VALUE。不要用混。 VFP表单设计(二) 1.表单本身是一个容器对象,其中包含许多子对象。表单的主要属性:CAPTION,标题;PICTURE,表单的背景图片;MAXBUTTON、MINBUTTON,表单最大化、最小化按钮是否可用。 2.右击表单设计器窗口空白处,在弹出的快捷菜单中选“生成器”项,打开对话框,选表、选字段、选样式,可以建立数据表的编辑表单。 3.数据表编辑表单中的命令按钮“上一个”的CLICK代码: SKIP -1 THISFORM.REFRESH “下一个”的CLICK代码: SKIP THISFORM.REFRESH 4.选项按钮组(单选按钮)、命令按钮组使用生成器进行标题、按钮布局等设置。 5.右击对象打开生成器。 6.INTERACTIVECHANGE事件:对象的值一变化就自动引发的事件,即值变则事发。例如复选框的值一变化就要执行某个操作,列表框的值一变化就要执行某个操作等等。 7.组合框和列表框必须要设置的一对属性是ROUSOURCETYPE和ROWSOURCE。前者一般设置为1-值,后者由用户自己输入各个列表项的内容,各项之间英文逗号分隔,不需加引号。例如春天,夏天,秋天,冬天 。 VFP表单设计(三) 1.&称作宏替换,是将字符型变量的内容替换出来,如YSF='+',则&YSF就相当于+。 2.计时器控件的INTERVAL属性设置时间间隔,单位是毫秒,1秒=1000毫秒,默认为0,此时计时器未使用。ENABLED属性值是逻辑值,.T.表示可用,.F.表示不可用。双击计时器控件可以编写TIMER事件代码,即每隔INTERVAL时间间隔计算机自动执行TIMER事件代码。 3. 线条LINE把\变成/,修改属性LINESLANT。 4.形状SHAPE的属性CURVATURE设置矩形或椭圆。当属性值为0-99变化时,形状由矩形逐渐变成椭圆。当形状的HEIGHT和WIDTH属性值相等时,就是正方形逐渐变成圆。 5.微调按钮SPINNER的INCREMENT属性表示变化的步长值,SPINNERHIGHVALUE和SPINNERLOWVALUE分别表示能设定的最大值和最小值。 6.页框PAGE的属性PAGECOUNT设置页面的个数,右击|编辑,青色框,逐个单击页面标题选定页面,依次更改CAPTION属性以及向当前页面中添加控件。 7.文本框TEXT的PASSWORDCHAR用于设置占位符,READONLY属性用于设置文本框是否只读。 VFP索引、多表操作 1.表设计器“字段”选项卡中选字段,选索引次序(升或降),“索引”选项卡中可以更改索引名和索引类型。索引名一般默认字段名,不需修改;建立主索引需改索引类型,默认普通索引。 2.建立主索引的关键字段值必须唯一而且不能为空(NULL),主索引只能有一个,自由表不能建立主索引。 3.激活索引,在表浏览状态下,使用菜单“表|属性|索引次序”。 4.在数据库设计器中可以建立两表之间的永久性联系。一个表基于公共字段建立主索引,另一个表基于公共字段建立普通索引,然后单击主索引标识拖动到普通索引标识上连一条线,就建立了两表的一对多联系。双击这条线,可以设置两表的参照完整性。 4.多表操作时,各个表在不同的工作区内打开。常用的工作区可以用1-10表示,或者用A-Z表示,例如SECE 3,SELE C都表示选择3号工作区为当前工作区。SELECT 0,表示选择空闲的最小号工作区作为当前工作区。USE 表名 IN 0,表示在空闲的最小号工作区内打开指定表。 VFP SQL-SELECT(一) SQL-SELECT语句由以下几个短语(关键字)组合而成: 1.SELECT,命令动词。后面跟着查询结果中要出现哪些字段,如SELECT 学号,姓名,性别 表示查询结果中仅有三个字段(列),表中所有字段都要时,可以使用*,例如SELECT * 。 2.FROM 短语,后面列出表名,表示从什么表中进行查询。多表查询时,英文逗号分隔。例如FROM STUDENT,SCORE。 3.WHERE短语,后面给出查询条件,例如WHERE 性别='男' ,若多表查询,还可以表示连接条件,即两表公共字段值相等,例如学生.学号=成绩.学号。 4.ORDER BY 短语,后面给出排序字段,升序使用ASC,降序使用DESC,升序时ASC可以省略不写。例如ORDER BY 成绩 DESC。多个字段用英文逗号隔开,例如ORDER BY 学号,成绩 DESC。TOP N短语要和ORDER BY联用,表示最... 的N个,例如SELECT TOP 3 ...... ORDER BY 成绩 DESC 表示成绩最高的3个人。 5.GROUP BY 短语,后面给出分类字段,表示“每”或“各”的意思,例如GROUP BY 学号,表示每个人;GROUP BY 课程号,表示各门课程。有GROUP BY短语时,SELECT命令后面一般跟着计算函数(一般称作计算字段),SUM() COUNT() AVG() MAX() MIN() ,分别表示累加,计数,平均,最大和最小。AS短语可以给计算字段起一个新名字,例如SELECT COUNT(学号) AS 人数 ... ... GROUP BY 课程号 表示统计各门课程的选课人数,不用AS短语的话,系统自动为新的计算字段起一个名字。 6.INTO 短语,表示查询去向。例如INTO CURSOR LSB,表示查到的记录存放到临时表LSB中,临时表仅保存在内存中,用于暂时存放数据,可以用BROWSE命令查看;INTO DBF NEW_TABLE,表示查到的记录存放到表NEW_TABLE中,这个表存放在磁盘上,但SELECT命令执行后这个表是在内存中的,可以用BROWSE命令查看。默认的查询去向是浏览窗口,即SELECT命令执行后直接就能看到查询结果。 7.多表查询时,公共字段要给出表名前缀。例如STUDENT.学号。 VFP SQL-SELECT(二) 1.查询设计器与SELECT的对应: 联接:WHERE短语中的联接条件,两表公共字段值相等。 筛选:WHERE短语中的查询条件。 排序依据:ORDER BY 短语。 分组依据:GROUP BY 短语。 杂项:DISTICTIVE、TOP N。 查询去向:INTO短语(INTO CURSOR、INTO DBF)。 2.嵌套查询(两表查询):首先在一个表中基于公共字段查找出一个集合;然后在另一个表中查找公共字段值属于或不属于这个集合的记录。例如查找所有没选课的学生,显示学号和姓名。SELE 学号,姓名 FROM STUDENT WHERE 学号 NOT IN (SELE 学号 FROM SCORE) 。 VFP报表、项目管理器和主要文件扩展名 1.报表设计器默认三个基本带区:页标头、细节和页注脚。页标头和页注脚每页打印一次,相当于页眉和页脚,细节带区打印各条记录。可以使用向导或报表设计器建立。用打印预览按钮查看报表效果。预览命令:REPORT FORM 报表文件名 PREVIEW 。 2.项目管理器的“数据”选项卡中包含数据库、自由表和查询;“文档”选项卡中包含表单、报表和标签。 3.扩展名: 表文件: .DBF 数据库: .DBC 项目: .PJX 表单: .SCX 程序: .PRG 查询: .QPR 菜单: .MNX 菜单程序:.MPR 报表: .FRX VFP二级考试要用到的知识 1.SQL-UPDATE:修改表中字段的值。例如UPDATE BOOKS_BAK SET 价格=价格*0.95 这句的意思是修改表BOOKS_BAK中的价格字段的值,每条记录的价格字段值都打95折。大家用时根据题意修改表名和SET后面的表达式即可,注意是给字段进行赋值的表达式啊。 2.SQL-INSERT INTO:在表中插入一条记录。:INSERT INTO 表名 VALUES(字段1值,字段2值,......)。例如INSERT INTO STOCK_BK VALUES("600028",4.36,4.60,5500)注意各字段值的类型。 3.SQL-DELETE:删除表中记录。例如DELETE FROM STOCK_BK WHERE 股票代码='600005' 4.查询某个文本框的值,将查到的记录显示在表格控件中的做法: 首先将表格(GRID1)的RICORDSOURCETYPE属性设置为4-SQL说明,这步很重要。接着设置COLUMNCOUNT的值,记录有几列就设置为几,如查到的记录有两个字段,则设置为2。最后编写按钮的CLICK代码,类似如下格式: THISFORM.GRID1.RECORDSOURCE='SELECT 课程名,成绩 FROM COURSE,SCORE1 WHERE COURSE.课程号=SCORE1.课程号 AND 学号=ALLTRIM (THISFORM.TEXT1.VALUE) INTO CURSOR LSB' 其中字符串里的字段名、表名和查询条 件根据实际题目进行更改,注意ALLTRIM,否则文本框中的字符串后有好多空格。 5.出现在查询条件中的英文字母一定注意大小写,例如课程名称='C语言'和课程名称='c语言'绝对是两码事。 6.建立视图的命令:CREATE VIEW 视图名 AS SELE … 。记得先要打开将要保存视图的数据库。 7.顶层表单的菜单做法: 为顶层表单填加菜单(在表单运行时调用菜单) (1)表单的设置: Showwindows :2—作为顶层表单。 表单Init事件代码:DO <菜单文件名.mpr> WITH THIS[,<菜单别名>]。 如:DO MENU1.MPR WITH THIS ,’AAA’ 其中,’AAA’ 由用户命名。 Destroy事件代码:RELEASE  MENU <菜单文件名或菜单别名> [extended]。 如:RELEASE MENU MENU1 EXTENDED或RELEASE MENU AAA EXTENDED。 (2)菜单的设置: 显示→常规选项→选中顶层表单。 注意:双击表单,然后可以选择INIT或DESTROY事件。
/
本文档为【vfp学习辅助】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索