VFP6应用程序设计结构.ppt
《VFP6应用程序设计结构.ppt》由会员分享,可在线阅读,更多相关《VFP6应用程序设计结构.ppt(211页珍藏版)》请在课桌文档上搜索。
1、第6章 VFP6应用程序设计结构,数据类型和字段类型,1.字符型(Character)必须用西文方式的单或双引号括起。LOCATE FOR 雇员.职务=总经理学号、书号、电话号码、邮政编码(注意不宜用数值型)2.货币型(Currency)cPrice=$100.356,数据类型和字段类型,3.日期型(Date)birthday=05/20/1980Dblankdate=日期格式受SET DATE、SET MARK、SET CENTURY命令的影响工具/选项/区域4.日期时间型(DateTime)tdatetime=4/17/2000 8:30pmTdateonly=4/17/2000 Ttim
2、eonly=8:30pmTblankdate=:时间格式受SET HOURS、SET SECONDS命令的影响,数据类型和字段类型,5.数值型(Numeric)STORE 3.14159 TO pitemp=100.126.逻辑型(Logical)STORE.T.TO foundFlag=.F.7.通用型(General)用于在表中存储OLE(对象链接与嵌入)对象,常量:其值不发生变化的量(1)常量分为四种类型:数值型(N):直接由数字或+、-、小数点构成。字符型(C):由字符、汉字组成,需加定界符。如沈阳、”沈阳”、沈阳,同一定界符不能嵌套,如:“AB”CD”,但 AB”CD”是合法的。日期
3、型(D):用定界。如00-08-30 或CTOD(“01/08/30”)逻辑型(L):用.定界。如.t.、.f.,.Y.,.N.等说明:请注意C、D、L型常量的定界符。注意区分”2010”为字符型常量,而不是数值型常量。逻辑型常量必须用“.”定界。注意各类型数据的宽度。,常量,常量,编译时常量用#DEFINE预处理命令定义如:#DEFINE OPER“输入的数据非法!”#DEFINE pi 3.1415926不能另作它用,变量:程序运行中,值可能会发生变化的量变量是内存中的一个存储单元的位置变量名是存储位置的符号标识存储位置中存放的数据在程序操作期间通过该名称来读写,变量,变量分类:,字段名变
4、量数据表中已定义的数据项每一个字段可有不同的取值表有一个记录指针,它指向的记录定义为当前记录,字段名变量的现值,就是当前记录中对应字段的值。记录指针是可以移动的,因此,字段名的取值随着指针的移动而改变,所以它是变量内存变量独立于数据库之外的,变量的创建,赋值格式:Store 表达式 to 变量变量=表达式在赋值的同时,完成了变量的创建STORE 3 TO nVar nVar=3,访问变量,如字段变量和内存变量同名:则字段变量具有更高的优先权此时内存变量访问M.内存变量M-内存变量,变量作用域,局部变量:用LOCAL指定局部变量创建它的文件中使用与修改不能在更高层与低层中引用私有变量:子程序中使
5、用用PRIVATE指定私有变量(可以与上层同名)全局变量:用PUBLIC指定全局变量(公共)任何运行的程序都能使用和修改在命令窗口中创建的任何变量或数组被自动赋予全局属性,字段名变量,数据表中已定义的数据项每一个字段可有不同的取值表有一个记录指针,它指向的记录定义为当前记录,字段名变量的现值,就是当前记录中对应字段的值。记录指针是可以移动的,因此,字段名的取值随着指针的移动而改变,所以它是变量,当前记录:记录指针指向的记录*表刚打开,当前记录是第一条记录移动记录指针:GO TOP|BOTTOM|:绝对移动记录指针。SKIP:相对移动记录指针,移动记录指针,说明:注意区别命令GO TOP和GO
6、1,在索引文件打开时,前者把记录指针移到数据库的第一条逻辑记录,而后者为把记录指针移到记录号为1的物理记录上 若库中有记录,执行G0 TOP和GO BOTTOM后,函数BOF()和EOF()的值均为F。使BOF()为真,SKIP-1;使EOF()为真SKIP 若库中无记录,函数BOF()和EOF()的值均为.T.。SKIP命令无任何选项时,表示向下移动一条记录,多用在对数据库中所有记录逐一处理的循环结构中,在程序填空中经常出现。,移动记录指针实例,Go 1Skip 2?编号skipGo bottom?编号Skip 1?编号,内存变量,变量名:是以汉字、字母、数字或下划线组成的字符串,串长最多为
7、10个字符或5个汉字变量名必须以字母或汉字开头,下划线必须嵌在变量名中间,但不能嵌入空格符内存变量分为四种类型:数值型、字符型、逻辑型和日期型变量赋值格式:内存变量=表达式STORE 表达式=内存变量表功能:把表达式的值送到内存变量中例如:A=20 B=100,数组:名字相同、用下标区分的内存变量称为数组主要有以下特点:(1)数组元素的类型,由所赋的值来决定(2)数组变量可以不带下标使用在赋值语句的右边,表示该数组第一个元素在赋值语句的左边,表示该数组所有元素(3)数组和数据表之间可相互转换即数据表中数据可以转换为数组数据数组数据也可以转换为数据表中的数据,1.定义数组,数组名的取法和一般的变
8、量名取法相同定义数组命令:DIMENSION 数组名(,),(命令功能:定义一个或多个内存变量数组。说明:最多可有3600个元素,显示内存时只算一个变量数组下标起始值是1数组元素隐含的逻辑值为“假”*二维数组,可用一维下标来存取。这是由于在内存中,二维数组元素是按行列次序排列它们每个元素都可看作单独一个内存变量使用,,数组实例,DIMENSION b(2,3),?A4?A(2,1)?A6?A(2,3),变量:专用在程序中用DIMENSION建立的数组为专用公用命令窗口下建立的数组为公用在程序中建立公用的数组用PUBLIC命令格式为:PUBLIC数组名(,)例如:DIMENSIOM A(4),B
9、(2,3)建立一维数组A和二维数组B二维数组有六个元素:分别为B(1,1)、B(1,2)、B(1,3)B(2,1)、B(2,2)、B(2,3),数组的赋值,格式:STORE 表达式 TO 数组名 数组名=表达式命令功能:将表达式的值赋给数组变量上述两个命令是完全等价的给数组赋值还可用ACCEPT、INPUT、WAIT语句,数组变量的显示,命令格式:LISTDISPLAY MEMORY命令功能:显示内存变量(数组变量)可以用RELEASE和CLEAR MEMORY命令删除掉已定义的数组(整个数组)可以用SAVE命令同内存变量一起保存到磁盘内存文件(.MEM)中,需要时用RESTORE命令同内存变
10、量一起从磁盘文件中恢复,Iif(),根据逻辑表达式的值,返回两个值中的某一个。语法:IIF(lExpression,eExpression1,eExpression2)参数:lExpression指定要计算的逻辑表达式。eExpression1,eExpression2如果 lExpression 计算结果为“真”(.T.),返回 eExpression1;如果 lExpression 为“假”(.F.),则返回 eExpression2。返回值类型:字符型、数字型、货币型、日期型或日期时间型说明该函数也称作 Immediate IF。它计算一个逻辑表达式的值,然后根据计算结果,返回两个表达式
11、中的一个。如果逻辑表达式的值为“真”(.T.),则 IIF()返回第一个表达式;如果逻辑表达式的值为“假”(.F.),则 IIF()返回第二个表达式。提示对于简单的条件表达式,该函数可以代替 IF.ENDIF 语句。在按条件指定报表和标签表达式中的字段内容时 IIF()特别有用。IIF()函数比等价语句 IF.ENDIF 执行速度快得多。,表达式,表达式:是由常数、变量、函数和运算符组成的一个有物理意义的式子表达式总有一定的运算结果,即有一个值,所以表达式也是一种数据表达式分为(表达式结果):数值表达式字符表达式关系表达式逻辑表达式,表达式的输出命令:,格式:?,功能:计算表达式的值,并在屏幕
12、或打印机上输出例如:?4*6+1034,1.数值表达式,数值表达式:是由算术运算符和数值型常数、变量、函数组成。运算结果为数值型数据。算术运算符为:+-*()优先次序:括号、函数、乘方、乘除和加减,同级运算从左到右依次进行如:362EXP(8)LOG(20)25,2.字符表达式,字符表达式:是由字符运算符和字符型常数(即用定界符括起来的字符串)、变量、函数组成运算结果是字符型数据三种字符串运算:*完全连接运算格式:字符串1字符串2功能:将两个字符串连接为一个字符串。例如:?THIS IS A PENTHIS IS A PEN*完全连接是指两个字符串合并,即包括空格在内的字符串中所有字符相加。,
13、不完全连接运算格式:字符串1字符串2功能:也是将两个字符串连接为一个字符串,但是删去字符串1尾部的空格符例如:?“首都*北京首都:北京*注:串1尾部的空格移到串1后,包含运算,格式:串1串2功能:如串1包含在串2中,表达式的值为真,否则为假例如:ABACBTE结果为假(F)ABABCDE结果为真(T)注:包含运算是字符串的关系运算关系运算返回的是逻辑值,3.关系表达式,关系表达式:是由关系运算符与字符表达式或数值表达式组成结果是一个逻辑值关系成立结果取真(.T.),不成立结果取假(F)关系运算符两边的数据类型要一致,(同类型)关系运算符有6种:=,、#或!=注:字符的比较是ASCII码值的大小
14、空格100?CHCA,4.逻辑表达式,逻辑表达式:是由逻辑常数、变量和函数用逻辑运算符连接而成条件判断满足结果为真(.T.),否则结果为假(.F.)逻辑运算符有三种:.AND 逻辑与(且)(两都成立才为真).OR 逻辑或(只要有一个成立为真).NOT.或!逻辑非*逻辑运算符的优先级别为:.NOT.AND.OR.,运算符的优先顺序,表达式中运算符的优先顺序:由高到低依次为:算术或字符或日期运算关系运算逻辑运算相同优先级的运算按从左到右的顺序计算例如:性别男AND职称副教授?(10+3)5.and.”ab”$”abcde”,表达式例:算术表达式:结果为数值型。如3+2 字符表达式:结果为字符型。如
15、 Good+Morning 或Good-Morning 日期表达式:结果为日期或数值。如DATE()+5、DATE()-5 或DATE()-00-08-20 关系表达式:结果为逻辑型。如”AB”$”ABCD”、”AB”2.AND.NOT.56说明:在日期型表达式中,两个日期表达式相减,结果为数值,表示两日期之间相差的天数,两日期表达式相加,属非法表达式;一个日期表达式与一个数值表达式相加,结果为日期型表达式,表示从当前日期往后数N天;一个日期表达式与一数值表达式相减,表示从当前日期向前数N天。逻辑表达式包含关系表达式,关系表达式中包含算术表达式。注意,关系表达式与逻辑表达式的结果都为逻辑型。,
16、命令格式,由两部分组成命令动词,表示应执行的操作若干个短语,对操作提供某些限制性说明。一般格式如下:命令动词 短语如:copy to aa for 性别=“男”,与表有关的命令,与表有关的命令格式:命令动词 范围 FOR FIELDS 命令中的FOR、FIELDS是关键字,用户不得随意更改。约定:表示可选项,不选用系统的默认值表示必选项:表示对表记录操作的范围ALL 表示全体记录NEXT N 当前记录开始后续共计 N 个记录RECORD N 特指第 N 号记录。REST 从当前记录开始到表尾的所有记录FOR条件 选择操作FIELDS 投影操作,操作释例,Go 3Disp allGo 2Disp
17、 next 2Go 3Disp restGo 3Disp record 5,命令书写的规则,命令以命令动词,与动词短语的顺序无关用空格来分隔各单词短语命令的最长是254个字符,用分行符;分行命令动词和关键字可以缩写为前四个字符如MODIFY STRUCTURE可写为MODI STRU 不分大小写,可以混合使用变量名、字段名和文件名时,应避免与命令动词和关键字同名,以免运行时发生混乱,End,6.2 数据库的操作命令,常用的操作命令包括数据库的建立打开设置关闭删除,1.创建数据库CREATE DATABASE 命令命令格式:CREATE DATABASE 数据库名|?命令功能:用于创建一个数据库
18、,说明:,(1)数据库名已经存在,则提示新的路径或文件名(2)参数“?”或无参数,弹出对话框,位置及名称(3)数据库以.DBC为其扩展名,以.DCT为备注文件,索引文件则以.DCX为扩展名(4)该命令以独占方式创建并打开一个数据库例如:创建一个名为t1.dbc的数据库,并显示有关数据库的信息CREATE DATABASE t1 创建数据库t1CLEAR 清除屏幕DISPLAY DATABASE 显示数据库t1信息,2.打开数据库,用OPEN DATABASE命令打开已经存在的数据库命令格式:OPEN DATABASE 数据库名|?命令功能:打开一个指定的数据库。说明:,6.2 数据库的操作命令
19、,常用的操作命令包括数据库的建立打开设置关闭删除,1.创建数据库CREATE DATABASE 命令命令格式:CREATE DATABASE 数据库名|?命令功能:用于创建一个数据库,说明:,(1)数据库名已经存在,则提示新的路径或文件名(2)参数“?”或无参数,弹出对话框,位置及名称(3)数据库以.DBC为其扩展名,以.DCT为备注文件,索引文件则以.DCX为扩展名例如:创建一个名为t1.dbc的数据库,并显示有关数据库的信息CREATE DATABASE t1 创建数据库t1CLEAR 清除屏幕DISPLAY DATABASE 显示数据库t1信息,2.打开数据库,用OPEN DATABAS
20、E命令打开已经存在的数据库命令格式:OPEN DATABASE 数据库名|?命令功能:打开一个指定的数据库。,3.设置当前数据库,SET DATABASE TO命令命令格式:SET DATABASE TO 数据库名命令功能:设置当前数据库。,说明:,(1)数据库名为当前要打开的数据库名称(2)略名,弹出一个显库对话框例如:OPEN DATABASE t1 库t1.dbcOPEN DATABASE t2 库t2.dbcDISPLAY DATABASE 显示当库t2.dbc的信息SET DATABASE TO t1 置t1为当前库DILPLAY DATABASE 显示当库t1的信息SET DATA
21、BASE TO t2 设t2为当库DISPLAY DATABASE 显库t2.dbc的信息,4.关闭数据库,命令格式:CLOSE DATABASE ALL命令功能:关闭数据库。说明:ALL用于关闭所有打开的数据库如果没有指定此参数,则将关闭当前数据库,5.删除数据库,命令格式:DELETE DATABASE 数据库名|?DELETETABLESRECYCLE命令功能:删除数据库,说明,要删除的数据库文件必须保证处于非使用状态?弹出一个“删除”对话框 DELETE TABLES删除数据库中包含的表和包含这些表的数据库RECYCLE文件放入回收站中,可恢复删除的文件SET SAFETY的值为ON,
22、删文件前会提示用户SET SAFTY设置为OFF,VFP将不做任何提示,表的操作命令,包括:创建表打开一个存在的表将一个自由表加入到 数据库中去从数据库中移去表显示表中信息关闭删除表,1.创建表,命令格式:CREATE 数据库表名命令功能:创建数据库表或自由表,其扩展名为.dbf如有数据库打开,则该表是数据库表,且已加入到该数据库中否则,该表是自由表,例如:新建一个表a1,将它包含到数据库t1中OPEN DATABASE t1 打开数据库t1CREATE TABLE a1 创建表a1.dbf,将其包含到数据库t1中,2.将表加入到数据库中,命令格式:ADD TABLE自由表名|?命令功能:将自
23、由表加到指定数据库中去,说明:,自由表名指定要加入到一个已打开的数据库中的自由表的名称不指定名称或“?”作为参数,弹出对话框表一旦加入到库中,不再是自由可以通过REMOVE TABLE命令将该表从数据库中移出,使之成为新的自由表,库中表的一些规定:,必须是一个有效的.DBF文件不能与数据库中已存在的表重名一个表只能属于一个数据库,不能再成为其他数据库中的表,3.将表从数据库中移出,命令格式:REMOVE TABLE 数据库表名|?DELETERECYCLE命令功能:将数据库中的数据库表移出去使之成为自由表或删除表,说明:,参数?或忽略数据库表名时,对话框参数DELETE 用于指定将表从数据库和
24、磁盘中删除RECYCLE参数,先放回收站中,不立即删,可恢复与表相连的主索引、默认值及有效性规则将被删除 当一个表从数据库中移出时,它将变成一个自由表,例如,建2个表并加入到库t1中,而后执行删除命令OPEN DATABASE t1 打开数据库CREATE c1 创建表c1.dbfCREATE c2 创建表c2.dbfCLEAR 清屏幕DISPLAY DATABASE 显示当前数据库信息REMOVE TABLE c2 移动数据库表c2.dbfCLEAR 清屏幕DISPLAY DATABASE 显示当前数据库信息ADD TABLE c2 将表c2添加到当前库中DELETE DATABASE t1
25、 删除数据库t1,4.显示表的结构,命令格式:LIST STRUCTURE TO PRINTER|TO FILE 文件名命令功能:显示表的结构说明:(1)有TO PRINTER选项时,将屏幕显示的信息输出到打印机(2)有TO FILE 文件名选项时,将屏幕显示的信息输出到指定的文件,5.修改表的结构,命令格式:ALT TABLE 表名命令功能:修改表的结构,6.输入记录,表的结构建立,没有数据,是空表命令格式:APPEND BLANK命令功能:从表的末尾追加记录BLANK,末尾追加一空记录,不出现APPEND输入记录窗口,7.打开表?,命令格式:USE 表名命令功能:打开一个和多个已经存在的表
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VFP6 应用 程序设计 结构

链接地址:https://www.desk33.com/p-245753.html