VisualFoxPro程序设计教程.ppt
《VisualFoxPro程序设计教程.ppt》由会员分享,可在线阅读,更多相关《VisualFoxPro程序设计教程.ppt(41页珍藏版)》请在装配图网上搜索。
VisualFoxPro程序设计教程,CH3VisualFoxPro基础知识,于晓yux2007年3月,目录,3.1数据类型3.2常量、变量与函数3.3运算符与表达式3.4VFP的命令格式3.5常用函数3.6常用VFP设置命令,1.字符型(Character)由英文字母、数字、标点符号、空格、中文字符和其他可打印符号组成.长度:常量,内存变量255B;字段变量254B.2.数值型(Numeric)由数字(09),正负号(+,-),小数点(.)组成,用于表示数值的大小.(取值范围见P.52)长度:内存中为8B;字段变量中20位.3.货币型(CurrencY)专用表示货币的数值型数据,需加货币前缀符“$”;长度:8B.(取值范围见P.52)4.日期型(Date)由年,月,日组成的数据.长度:8B;取值范围:0001-01-019999-12-31.,3.1数据类型,3.1数据类型,5.日期时间型(DateTime)由年,月,日加时,分,秒组成的数据.长度:8B;时间取值范围:00:00:00am11:59:59pm6.逻辑型(Logical)有逻辑真值.T.和逻辑假值.F.;长度:1B.7.备注型(Memo)仅用于数据表的字符型数据.表中长度:4B;实际内容存在与表文件同名,扩展名.fpt的备注文件中,长度取决于计算机系统存储空间大小.8.通用型(General)仅用于数据表中,可存储如图片,图像,声音,电子表格等OLE对象和多媒体数据.表中长度:4B,实际内容保存在备注文件中.,9.整型(Integer)仅用于数据表中存储无小数的整数值,长度:4B.10.浮点型(Float)仅用于数据表中以浮点格式存储的数据.长度和取值范围:与N型相同.11.双精度型(Double)仅用于数据表中存储高精度浮点数的数据.固定长度:8B.(取值范围见P.53)12.二进制字符型(CharacterBinary)仅用于在数据表中存储不需要系统代码页维护的字符数据.13.二进制备注型(MemoBinary)仅用于在数据表中存储不需系统代码页维护的备注型数据.,3.1数据类型,一、常量在程序运行或操作过程中其数据值不变的量.1.字符型常量(C)由字母,数字,标点符号,空格,中文字符和其他可打印符号组成,用定界符(,“”,)界定的字符串;定界符必须成对匹配,位于字符串两端.长度255个ASCII码字符.2.数值型常量(N)由数字,正负号,小数点组成.分日常计数法,科学计数法,如:-2.34E12表示2.341012.3.货币型常量(Y)用于货币,带前缀符号“$”的数值,小数位4位.,3.2常量、变量与函数,一、常量(续)4.日期型常量(D)由年,月,日组成,用界定.有多种显示格式和分隔符.默认美国格式:mm/dd/yy表示月/日/年.严格日期格式:yyyy-mm-dd,首字符,年4位.5.日期时间型常量(T)由日期和时间组成,一般格式:,严格格式:yyyy-mm-dd,hh:mm:ssam|pmhh,mm,ss表示时,分,秒;am,pm表示上,下午.6.逻辑型常量(L)仅有逻辑真值(.t.T.y.Y.)和逻辑假值(.f.F.n.N.);定界符.号不可缺少.,3.2常量、变量与函数(续一),3.2常量、变量与函数(续二),二、变量变量是存储数据的基本单位.变量中的数据(变量值)在程序运行或操作过程中可以改变.VFP中变量分两大类:字段变量,内存变量.1.字段变量依赖于数据表文件存在,永久性的多值变量.定义数据表结构时设定;每个字段名是一个字段变量;支持13种数据类型.使用与操作等将在第四章详细介绍.2.内存变量分类:简单变量;数组变量;系统变量.特点:独立存在,可任意定义、使用,单值变量.数据类型:取决于所存数据的类型,与常量相同,支持C,N,Y,D,T,L六种类型.变量命名:由字母,数字,下划线,中文字符组成,长度254个字符.优先级:字段变量高于内存变量;若同名,则需加前缀符:M.|M-,二、变量2.内存变量(续)简单变量:特点:每个存储单元对应一个变量名,建立与赋值同步;赋新值代替旧值.赋值命令:StoreTo功能说明:将表达式的值存储到指定名的变量中;格式可同时给多个简单变量(用“,”分隔)赋值;格式只给一个简单变量赋值.,3.2常量、变量与函数(续三),二、变量2.内存变量(续)数组变量:特点:若干个存储单元共有一个变量名;用下标区分各存储单元(数组元素|下标变量),各元素所存数据及其类型可以相同也可以不同;数组必须先定义,再赋值使用.数组定义:Dimension(M1,N1),(M2,N2)Declare(M1,N1),(M2,N2)功能说明:格式与格式功能相同,定义一至若干个一维或二维数组;M,N为一维/二维数组的下标上限值,下限值默认1,二维数组的元素个数为MN;定义后数组元素默认赋初值为逻辑假值.F.;同一数组各元素的数据类型可以不相同.,3.2常量、变量与函数(续四),3.2常量、变量与函数(续五),二、变量2.内存变量(续)访问数组变量(数组元素寻址):下标法:每个数组元素对应一个(或两个)确切的下标值,如:A(3);B(2,4).序号法:按数组元素排列顺序,只用一个下标值(序号).序号=mN-N+n例:DimensionX(3,4)则X(2,3)可用X(24-4+3)=X(7)表示.数组变量赋值:数组赋值:数组中各元素中的数据值相同格式1:StoreTo格式2:数组元素赋值:数组中各元素的数据值可不相同格式1:StoreTo格式2:同一运行环境中,数组变量与简单变量不能同名.,二、变量2.内存变量(续)系统变量:变量名以“_”为首字符,由VFP系统在启动时自动定义,其中保存着系统运行环境参数.应通过系统设置命令或操作修改,而不要随意地直接改变它们.,3.2常量、变量与函数(续六),二、变量2.内存变量(续)4.常用内存变量操作显示内存变量ListMemoryLikeToPrint|ToFileDisplayMemoryLikeToPrint|ToFile功能说明:显示当前内存变量的名称,作用域,类型,值等信息.Like子句设置显示符合条件的变量,通配符为*|?;To子句设置将信息同时打印输出或保存到指定文件;格式连续显示,格式分屏显示.,3.2常量、变量与函数(续七),二、变量2.内存变量(续)4.常用内存变量操作清除内存变量ClearMemoryReleaseReleaseAllExtendedReleaseAllLike|Except功能说明:清除内存变量,释放它们所占用的内存空间;格式清除所有内存变量,格式清除指定内存变量;在命令窗口中格式与格式功能相同,在程序中需要可选项以清除公共内存变量;格式中,Like清除与通配符匹配的内存变量,Except清除与通配符不匹配的内存变量;数组变量清除以数组为单位,命令中不能出现数组元素.,3.2常量、变量与函数(续八),二、变量2.内存变量(续)4.常用内存变量操作保存内存变量SaveToAllLike|AllExcept功能说明:将当前全部/部分内存变量保存到指定内存变量文件(默认扩展名.mem)中;无可选项,保存全部,有可选项,保存指定的.,3.2常量、变量与函数(续九),二、变量2.内存变量(续)4.常用内存变量操作恢复内存变量RestoreFromAdditive功能说明:将指定内存文件中保存的内存变量恢复到内存中;无可选项,先清除当前内存变量再恢复;可选项,保留当前变量,文件中的变量追加到内存中;若追加的变量与当前变量同名,当前变量被替换.,3.2常量、变量与函数(续十),三、函数系统提供的实现某种运算,或完成某项操作的一段程序.函数通过函数名()进行调用,通常还需要一至若干个参数,得到的运算结果称函数值.函数只能用于表达式中,其函数值参与表达式的运算.,3.2常量、变量与函数(续十一),运算符:构建表达式,实现某种运算功能的符号.分类:算术,字符,日期时间,关系,逻辑运算符.表达式:用运算符,圆括号将常量,变量,函数等按一定规则连接起来构成的有意义的式子.优先级:数值字符和日期时间关系逻辑;优先级相同则按自左向右的顺序,可用括号改变顺序.一、算术运算符和数值表达式1.算术运算符:构建数值表达式,运算对象为数值型和货币型数据,结果为数值.运算符按优先级排列为:取负-;乘方,*;乘除*/;取余%;加减+-取负是单目运算符,对其右边的运算对象取负值;其它均为双目运算符.2.数值表达式:运算举例见教材P.61.,3.3运算符与表达式,二、字符串运算符及其表达式1.字符串运算符:构建字符串表达式,运算对象和结果为字符串.均为双目运算符且优先级相同.运算符:+将其左右两边的字符串顺序连接成一个新字符串.运算符:-将其左右两边的字符串顺序连接,并将左边字符串尾部的空格移到新字符串的尾部.2.字符串表达式:运算举例(P.62).,3.3运算符与表达式(续一),3.3运算符与表达式(续二),三、日期时间运算符及其表达式1.日期时间运算符:构建日期时间表达式.根据运算对象的不同,运算结果可能是日期时间或数值.均为双目运算符且优先级相同.运算符为:+,-.2.日期时间表达式:日期时间表达式中运算符和运算对象的使用有严格要求,不能随意组合,详见P.62表3-1和运算举例.,四、关系运算符及其表达式1.关系运算符:构建关系表达式.运算对象可以是C,N,Y,D,T,L类型数据;其作用是比较两个表达式值的大小,结果逻辑值.均为双目运算,优先级相同.运算符:等于=;不等于,#,!=;小于;大于等于=;字符串精确比较=;子字符串包含测试$.=和$仅能比较字符型数据,其他可比较各种类型数据.2.关系表达式:除D和T外,只有同类型数据可比较.各种数据类型的比较规则:,3.3运算符与表达式(续三),N和Y型数据按照数值大小比较;D和T型数据按照早晚顺序比较,早的日期时间小于晚的日期时间的;L型数据,逻辑真值大于逻辑假值;$运算是检测运算符左边字符串是否包含在右边字符串中,若包含则为逻辑真值,否则为逻辑假值;C型数据的比较,是对两个字符串从左至右逐个对应比较,遇到第一对不同的字符时,根据当前系统设置的字符排序顺序确定大小关系,决定两个字符串的大小.=精确比较只有在两个字符串完全相同时,才得逻辑真.=字符串相等比较,与Exact状态有关:Exact为Off时,只要右边字符串与左边字符串前面部分匹配,即得逻辑真;Exact为On时,要以长字符串为标准,在短串尾部加空格后逐个对应进行比较.(详见教材P.65表3-2).,3.3运算符与表达式(续四),3.系统的排序与精确比较设置排序设置菜单操作:单击“工具”“选项”命令,打开“选项”对话框;单击“数据”标签,在“排序序列”下拉列表框中选择:Machine(机器)/PinYin(拼音)/Stroke(笔画);单击“确定”.命令设置:SetCollateTo“”功能说明:设置字符排序顺序.排序名是上述三者之一,必须用“”界定.精确比较设置菜单操作:在数据标签中选中SetExactOn复选框.命令设置:SetExactOff|On关系表达式举例见教材P.65.,3.3运算符与表达式(续五),五、逻辑运算符及其表达式1.逻辑运算符:构建逻辑表达式.运算对象和结果均为逻辑型数据.运算符按优先级排列:逻辑非.Not.,!;逻辑与.And.;逻辑或.Or.逻辑非:单目运算符,其它:双目运算符;定界符“.”可省略.2.逻辑表达式:逻辑运算规则(P.66表3-3),3.3运算符与表达式(续六),VFP中,可在命令窗口中输入,执行命令,控制系统运行,实现数据库管理与数据处理等操作.也可将命令编制成程序文件来执行操作.1.命令格式:范围FieldsFor|WhileTo目标2.命令举例:DisplayAllFieldsxh,xm,xb;命令动词范围表达式表Forxb=“男”ToPrint条件目标,3.4VisualFoxPro的命令格式,3.命令说明:必不可少,它规定了要完成或实现的操作与功能;中为可选项,是由功能短语和表达式等组成的子句,用于说明或限定命令操作的对象,范围,条件等;大多数命令和功能短语只需输入前四个字母;除字符串外,其他符号均为ASCII码字符,字母不分大小写;子句顺序可任意,用空格分隔;表达式表中各项用“,”分隔;用“”分隔的子句可选用其一;,3.4VisualFoxPro的命令格式(续一),常用子句简介:范围:记录(行)的操作范围.有4项:All:对数据表中的所有记录进行操作;Next:从当前记录起,对后面n个记录进行操作;Record:对第n个记录进行操作;Rest:对从当前记录起直到最后一条记录的若干记录进行操作.Fields:限定操作内容或公式,可含多项,用“,”分隔,最后一项后面无符号;,3.4VisualFoxPro的命令格式(续二),For|While:根据条件确定如何操作.For:对指定范围内符合条件的记录进行操作,默认范围All;While:从当前记录起对符合条件的记录进行操作,遇到不符合条件的记录即停止.To:指定命令操作对象输送到的位置,默认输出到屏幕;Off:设显示数据时不显示记录号,默认显示记录号.,3.4VisualFoxPro的命令格式(续三),3.5常用函数,函数:由VFP系统提供,能实现某种运算或操作的一段程序.格式:函数名(,)说明:函数由函数名和圆括号构成;参数可有0多个,若为函数,称函数嵌套;函数必有一个确切的返回值,称函数值;函数值的数据类型与参数的数据类型可能相同,也可能不同;函数不能单独使用,必须用在表达式中.VFP函数按功能一般分为五大类:,3.5常用函数(续一),一、数学运算函数用于常见数学运算,参数和函数值通常为数值.1.绝对值:Abs(N)求N的绝对值|N|.2.符号:Sign(N)根据N0,=0,0,返回1,0,-1.3.上限取整:Ceiling(N)返回N的最小整数.4.下限取整:Floor(N)返回N的最大整数.5.截断取整:Int(N)截掉N的小数,只取整数.6.四舍五入:Round(N1,N2)将N1四舍五入保留N2位小数;N2可正可负.7.指数:Exp(N)以自然数e为底,N为指数,求eN.,3.5常用函数(续二),8.自然对数:Log(N)求自然对数LnN.9.最大值:Max(N1|D1|T1,N2|D2|T2)取N1,N2或D1,D2或T1,T2中较大的值.10.最小值:Min(N1|D1|T1,N2|D2|T2)取N1,N2或D1,D2或T1,T2中较小的值.11.正弦:Sin(N)返回N的正弦值(N为弧度).12.余弦:Cos(N)返回N的余弦值(N为弧度).13.圆周率:Pi()返回圆周率的值.14.平方根:Sqrt(N)求N的平方根.15.随机数:Rand(N)生成01间的随机数N为正数,返回相同数.,3.5常用函数(续三),二、字符串操作函数用于对字符型数据的处理,参数多为字符型.1.宏代换:Time();DateTime()分别返回系统当前日期;24小时制,hh:mm:ss格式的系统当前时间;系统当前日期时间.2.年,月,日:Year(D|T);Month(D|T);Day(D|T)分别返回给定参数中的年;月;日.均为数值.3.时,分,秒:Hour(T);Minute(T);Sec(T)分别返回24小时制的时;分;秒,均为数值.4.年月日格式:Dmy(D|T);Mdy(D|T)分别返回英文日,月,年或月,日,年;均为字符型.,3.5常用函数(续六),四、类型转换函数用于将某种数据类型转换成另一种类型.1.字符转ASCII码:Asc(C)将C的首字符转换为对应的ASCII码值.2.ASCII码转字符:Chr(N)将N作为ASCII码值转换为对应的字符.3.字符串转数值:Val(C)将字符串C左端连续的数字字符串转换为数值.4.数值转字符串:Str(N1,N2,N3)将数值N1转换为数字字符串,N2长度,N3小数位.5.日期转字符串:Dtoc(D|T,1)将D或T转换为字符串;有1转换为长年份的紧凑格式YYYYMMDD.6.日期时间转字符串:Ttoc(T,1)将T转换为字符串;有1转换为24小时制的紧凑格式YYYYMMDMMSS.7.字符串转日期:Ctod(C)将日期格式的C转换为日期.8.字符串转日期时间:Ctot(C)将日期时间格式的C转换为日期时间.,3.5常用函数(续七),五、测试函数1.字符测试字母测试:Isalpha(C)测试C的首字符是否为字母.大小写字母测试:Isupper(C)Islower(C)测试C的首字符是否为大写小写字母.2.文件与工作区测试数据库测试:Dbc()返回当前打开的数据库名;数据表测试:Dbf(N)返回当前或指定工作区中打开的数据表名;索引文件测试:Ndx(N1,N2)返回当前或指定工作区中在N1位置打开的索引文件名,N2为指定工作区;工作区号测试:Select(1)返回当前工作区号,有1则返回未用的最大工作区号;磁盘文件测试:File(C)测试由字符串C指定的磁盘文件是否存在;C中应包含完整路径和文件名.,3.5常用函数(续八),3.数据表记录、字段测试测数据表首/尾:Bof(N)Eof(N)测当前或指定工作区中打开的数据表记录指针是否指向数据表的首尾部.测删除标记:Deleted(N)测当前或指定工作中数据表当前记录是否有删除标记.测字段个数:Fcount(N)返回当前或指定工作区中所打开数据表的字段个数.测字段名:Field(N1,N2)返回当前或指定工作区中所打开数据表在N1位置的字段名称,N2工作区号.,3.5常用函数(续九),测字段宽度:Fsize(C,N)返回当前或指定工作区中所打开数据表中C字段的宽度.测记录个数:Reccount(N)返回当前或指定工作区中打开数据表中的记录个数.测记录长度:Recsize(N)返回当前或指定工作区中打开数据表中记录的长度.测记录号:Recno(N)返回当前或指定工作区中打开数据表中的当前记录号.测记录查找:Fount(N)测试对当前或指定工作区中数据表记录的查询是否成功.,3.5常用函数(续十),四、其它测试条件测试:Iif(,)条件值为真(.T.)时,返回表达式1的值;否则返回表达式2的值.类型测试:Type(C)返回C值的数据类型.测驱动器号:Sys(5)返回当前默认驱动器号.测工作目录:Curdir()|Sys(2003)返回当前默认工作目录.,*3.6常用VisualFoxPro系统设置命令,一、设置开|关状态命令格式:SetOn|Off1.设世纪显示:SetCenturyOff|On2.设屏幕显示:SetConsoleOn|Off3.设逻辑删除:SetDeletedOff|On4.设字符精确比较:SetExactOff|On5.设打印机开关:SetPrinterOff|On6.设系统保护开关:SetSafetyOn|Off7.设命令结果显示开关:SetTalkOn|Off注意:前面一项为系统默认的开关参数.,3.6常用VisualFoxPro系统设置命令(续一),二、设置环境参数命令格式:SetTo1.设置日期格式:SetDateTo2.设置默认驱动器或路径:SetDefaultTo|3.设置计时制:SetHoursTo12|244.开/关索引文件:SetIndexTo索引文件名表5.设置当前索引:SetOrderTo序号|索引文件名|TagAscending|Descending6.设置文件搜索路径:SetPathTo路径表7.开、关过程文件:SetProcedureTo过程文件名表Additive8.设置数据表间关联:SetRelationTo表达式Into|Additive9.取消表间关联:SetRelationOffInto|,- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VisualFoxPro 程序设计 教程
装配图网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
相关资源
更多
相关搜索