VisualFoxPro程序设计教程

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

VisualFoxPro程序设计教程CH3VisualFoxPro基础知识于晓yux@sdfi.edu.cn2007年3月目录3.1数据类型3.2常量、变量与函数3.3运算符与表达式3.4VFP的命令格式3.5常用函数3.6常用VFP设置命令1.字符型(Character)◘由英文字母、数字、标点符号、空格、中文字符和其他可打印符号组成.◘长度:常量,内存变量≤255B;字段变量≤254B.2.数值型(Numeric)◘由数字(0~9),正负号(+,-),小数点(.)组成,用于表示数值的大小.(取值范围见P.52)◘长度:内存中为8B;字段变量中≤20位.3.货币型(CurrencY)◘专用表示货币的数值型数据,需加货币前缀符“$”;◘长度:8B.(取值范围见P.52)4.日期型(Date)◘由年,月,日组成的数据.长度:8B;◘取值范围:{^0001-01-01}~{^9999-12-31}.3.1数据类型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.34×1012.∆3.货币型常量(Y)◘用于货币,带前缀符号“$”的数值,小数位≤4位.3.2常量、变量与函数一、常量(续)∆4.日期型常量(D)◘由年,月,日组成,用{}界定.有多种显示格式和分隔符.默认美国格式:{mm/dd/yy}表示月/日/年.◘严格日期格式:{^yyyy-mm-dd},首字符^,年4位.∆5.日期时间型常量(T)◘由日期和时间组成,一般格式:{日期,时间}◘严格格式:{^yyyy-mm-dd,hh[:mm[:ss]][am|pm]}◘hh,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.内存变量(续)∆⑴简单变量:◘特点:每个存储单元对应一个变量名,建立与赋值同步;赋新值代替旧值.◘赋值命令:•①Store表达式To内存变量名表•②内存变量名=表达式◘功能说明:将表达式的值存储到指定名的变量中;格式①可同时给多个简单变量(用“,”分隔)赋值;格式②只给一个简单变量赋值.3.2常量、变量与函数(续三)二、变量∆2.内存变量(续)∆⑵数组变量:◘特点:若干个存储单元共有一个变量名;用下标区分各存储单元(数组元素|下标变量),各元素所存数据及其类型可以相同也可以不同;数组必须先定义,再赋值使用.◘数组定义:•①Dimension数组名1(M1[,N1])[,数组名2(M2[,N2])…]•②Declare数组名1(M1[,N1])[,数组名2(M2[,N2])…]◘功能说明:•①格式①与格式②功能相同,定义一至若干个一维或二维数组;•②M[,N]为一维/二维数组的下标上限值,下限值默认1,二维数组的元素个数为M×N;•③定义后数组元素默认赋初值为逻辑假值.F.;•④同一数组各元素的数据类型可以不相同.3.2常量、变量与函数(续四)3.2常量、变量与函数(续五)二、变量∆2.内存变量(续)◘访问数组变量(数组元素寻址):•①下标法:每个数组元素对应一个(或两个)确切的下标值,如:A(3);B(2,4).•②序号法:•按数组元素排列顺序,只用一个下标值(序号).•序号=m×N-N+n例:DimensionX(3,4)•则X(2,3)可用X(2×4-4+3)=X(7)表示.◘数组变量赋值:•①数组赋值:数组中各元素中的数据值相同•格式1:Store表达式To数组名表•格式2:数组名=表达式•②数组元素赋值:•数组中各元素的数据值可不相同•格式1:Store表达式To数组元素名表•格式2:数组元素名=表达式•同一运行环境中,数组变量与简单变量不能同名.二、变量∆2.内存变量(续)∆⑶系统变量:◘变量名以“_”为首字符,由VFP系统在启动时自动定义,其中保存着系统运行环境参数.应通过系统设置命令或操作修改,而不要随意地直接改变它们.3.2常量、变量与函数(续六)二、变量∆2.内存变量(续)∆4.常用内存变量操作◘⑴显示内存变量•①ListMemory[Like通配符][ToPrint|ToFile文件名]•②DisplayMemory[Like通配符][ToPrint|ToFile文件名]◘功能说明:•显示当前内存变量的名称,作用域,类型,值等信息.•Like子句设置显示符合条件的变量,通配符为*|?;•To子句设置将信息同时打印输出或保存到指定文件;•格式①连续显示,格式②分屏显示.3.2常量、变量与函数(续七)二、变量∆2.内存变量(续)∆4.常用内存变量操作◘⑵清除内存变量•①ClearMemory•②Release内存变量名表•③ReleaseAll[Extended]•④ReleaseAll[Like通配符|Except通配符]◘功能说明:•清除内存变量,释放它们所占用的内存空间;•格式①清除所有内存变量,格式②清除指定内存变量;•在命令窗口中格式③与格式①功能相同,在程序中需要可选项以清除公共内存变量;•格式④中,Like清除与通配符匹配的内存变量,Except清除与通配符不匹配的内存变量;•数组变量清除以数组为单位,命令中不能出现数组元素.3.2常量、变量与函数(续八)二、变量∆2.内存变量(续)∆4.常用内存变量操作◘⑶保存内存变量•SaveTo文件名[AllLike通配符|AllExcept通配符]◘功能说明:•将当前全部/部分内存变量保存到指定内存变量文件(默认扩展名.mem)中;•无可选项,保存全部,有可选项,保存指定的.3.2常量、变量与函数(续九)二、变量∆2.内存变量(续)∆4.常用内存变量操作◘⑷恢复内存变量•RestoreFrom文件名[Additive]◘功能说明:•将指定内存文件中保存的内存变量恢复到内存中;•无可选项,先清除当前内存变量再恢复;•可选项,保留当前变量,文件中的变量追加到内存中;•若追加的变量与当前变量同名,当前变量被替换.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.◘逻辑非:单目运算符,其它:双目运算符;◘定界符“

1 / 40
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功