




已阅读5页,还剩42页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
,第二章 VFP语言基础,2.1 数据类型 2.2 数据存储容器 2.3 函数 2.4 运算符及表达式 2.5 空值处理,2.1 数据类型,2.2 数据存储容器,一、名称命名规则 名称中只能包含字母、下划线“_”、数字符号和汉字符号 名称的开头只能是字母、汉字或下划线,不能是数字 除了自由表的字段名、表的索引标识名至多只能是10个字符外,其余的名称的长度可以是1128个字符 应避免使用系统保留字,二、常量 常量是指在所有的操作过程中保持不变的数据。 数值型常量 数值型常量用于表于数量的大小,由数字、小数点和正负号构成。如-3.15、38等。 对于特大或特小的数,还可以用浮点表示法。如-3.12E28(表示-3.121028)、3.12E-28(表示3.12 10-28)。,货币型常量 货币型常量用来表示货币值。在表示货币型常量时,需在数字前加上美元符号($)。如$100.35。 字符型常量 字符型常量也称为字符串,它是由定界符括起来的一串字符,这些字符可以是一切可以表示的字符,如ASCII字符、汉字等。 字符串定界符可以是单引号、双引号或方括号。如苏A-001、“5112613”、VFP等。,注意: 不能用中文标点的单引号或双引号作为字符串的定界符 定界符必须成对匹配 如果某种定界符本身也是字符串的内容,则需要用另一种定界符表示该字符串 不包含任何字符的字符串(“”)称为“空串”,它与包含空格的字符串(“ ”)不同 字符串中的字母,其大小写不等价,逻辑型常量 逻辑型常量只有两个:逻辑真和逻辑假。逻辑真的表示形式有:.T. 、.t. 、.Y.和.y.,逻辑假的表示形式有:.F. 、.f. 、.N.和.n.。 注意:字母前后的点符号是逻辑型常量的定界符,不可省略。 日期型常量 日期型常量的定界符是一对花括号。在花括号内,包括年、月、日,各部分之间用分隔符进行分隔。 其语法形式如下:yyyy/mm/dd 如2002/08/09、1998/12/01等。,三、内存变量 内存变量(简称变量)是由用户自定义的内存中的一个(组)存储单元,由变量名进行标识,其值可以由程序操作修改。在使用过程中,该存储单元中存放的数据在程序操作期间通过变量名来读写。 变量的创建及赋值 格式:STORE TO 或 = 注意:STORE命令可一次给多个变量赋相同的值,而用赋值号(=)一次只能给一个变量赋值。,访问变量 若变量和字段相同,则字段具有更高的优先权。在出现这种情况时,可在变量名前加上“m.”前缀来引用变量。 例: Xh=我是变量 &定义一个字符型变量xh ? M.xh &显示变量xh的值 ? Xh &显示xs表的xh字段的值 ? Xs.xh &显示xs表的xh字段的值,内存变量的保存与恢复 内存变量是系统在内存中设置的临时存储单元,当退出VFP时其数据自动丢失。 格式:SAVE TO FileName ALL LIKE Skeleton|ALL EXCEPT Skeleton 功能:将内存变量的值以文件的形式保存到磁盘上。 其中:FileName为内存变量文件的文件名,默认扩展名为.mem。 Skeleton为变量名通配符,即星号(*)和问号(?),用以指定多个变量。,ALL LIKE用于指定需要保存的变量。 ALL EXCEPT用于指定不需保存的变量。 当可选项缺省时表示保存所有内存变量。 格式:RESTORE FROM FileName ADDITIVE 功能:将保存在内存变量文件中的内存变量恢复到内存。 说明:FileName为内存变量文件名。 若使用ADDITIVE,则内存中保存已有内存变量,如有同名则覆盖,否则,当前内存变量被清除。,四、数组 数组也是一种内存变量,它是存储在内存中的有序的数据值系列,其中的数据值被称为元素,并可通过数据序号引用。数组可以为一维数组,也可以为二维数组。数组在使用前必须先声明。,数组的声明 DECLEAR|DIMENSION|PUBLIC|LOCAL 数组名(行数,列数) 说明:DECLEAR和DIMENSION声明“私有数组”,PUBLIC声明“全局数组”,LOCAL声明“局部数组”。 为数组元素赋值 数组在声明后,每个元素的默认值为逻辑值假.F.。 DIMENSION A(6) &定义数组A,有6个元素 A(2)=3 &为第二个元素赋值 A=3 &为整个数组A赋值,所有元素值均为3,2.3 函 数,函数是一种预先编制好的程序代码,可供用户或程序调用。由于一个函数接收一个或多个参数而返回单个值,因此可嵌入到一个表达式中。 函数格式: 函数名(参数1,参数2,) 一、系统函数的分类,二、常用函数介绍 数值函数 ABS()函数 格式:ABS(nExpression) 功能:返回指定数值表达式的绝对值。 MAX()函数 格式:MAX(eExpression1,eExpression2,eExpression3,) 功能:对表达式求值,并返回具有最大值的表达式的值。,MIN()函数 格式:MIN(eExpression1,eExpression2,eExpression3,) 功能:对表达式求值,并返回具有最小值的表达式的值。 INT()函数 格式:INT(eExpression) 功能:计算数值表达式的值,并返回其整数部分。 MOD()函数 格式:MOD(nDividend,nDivisor) 功能:用一个数值表达式的值去除另一个数值表达式的值,返回余数。,ROUND()函数 格式:ROUND(nExpression,n) 功能:四舍五入函数。 说明:n为小数位数,当n0时,即对小数点后n+1位四舍五入;当n0时,对小数点前面的n位进行四舍五入。 SQRT()函数 格式:SQRT(nExpression) 功能:返回数值表达式值的平方根。 RAND()函数 格式:RAND() 功能:返回一个01之间的随机数。,字符函数 ALLTRIM()函数 格式:ALLTRIM(cExpression) 功能:去除指定字符串的前导空格和尾随空格。 RTRIM()函数 格式:RTRIM(cExpression) 功能:去除指定字符串的尾随空格。 LEN()函数 格式:LEN(cExpression) 功能:返回字符表达式值的字符个数(字符串长度)。,AT()函数 格式:AT(cSearchExpression,cExpressionSearched,nOccurrence) 功能:返回一个字符表达式或备注字段cSearchExpression在另一个字符表达式或备注字段cExpressionSearched中出现的位置。 nOccurrence表示第几次出现,缺省为1。如函数返回值为0,则表示未出现。 SUBSTR()函数 格式:SUBSTR(cExpression,nStartPosition,nCharactersReturned) 功能:从给定的字符表达式或备注字段中返回一个子字符串。 nCharactersReturned用于指定返回的字符个数,缺省时返回字符表达式的值结束前的全部字符。,LEFT()函数 格式:LEFT(cExpression,nExpression) 功能:从字符表达式最左边一个字符开始返回指定数目字符。 RIGHT()函数 格式:RIGHT(cExpression,nExpression) 功能:从字符表达式最右边一个字符开始返回指定数目字符。 SPACE()函数 格式:SPACE(nExpression) 功能:返回由指定数目的空格构成的字符串。,日期/时间函数 DATE()函数 格式:DATE( ) 功能:返回当前系统日期。 DATETIME()函数 格式: DATETIME( ) 功能:返回当前系统日期和时间。,DOW()函数 格式:DOW(dExpression| tExpression) 功能:返回日期或日期时间表达式所代表日期是一周的第几天,用数值1-7表示(1表示星期日)。 DAY()函数 格式:DAY(dExpression| tExpression) 功能:以数值返回日期或日期时间表达式所代表日期是几号。 MONTH()函数 格式:MONTH(dExpression| tExpression) 功能:以数值返回日期或日期时间表达式所代表的月份。,CMONTH()函数 格式:CMONTH(dExpression| tExpression) 功能:以字符返回日期或日期时间表达式所代表的月份。 YEAR()函数 格式:YEAR(dExpression| tExpression) 功能:以数值返回日期或日期时间表达式所代表的年份。 TIME()函数 格式:TIME( ) 功能:以24小时制、8位字符串格式(hh:mm:ss)返回当前系统时间。,数据类型转换函数 ASC()函数 格式:ASC(cExpression) 功能:返回字符表达式中最左边字符的ASCII值。 CHR()函数 格式:CHR(nExpression) 功能:计算数值表达式的值,然后以该值作为ASCII值,返回对应的字符。 VAL()函数 格式:VAL(cExpression) 功能:从左至右逐个将字符表达式中的字符转换成数值,若不能转换则停止。,DTOC()函数和TTOD()函数 格式:DTOC(dExpression|tExpression ,1) 功能:将日期表达式或日期时间表达式的值转换成字符串。 格式:TTOC(tExpression ,1|2) 功能:将日期时间表达式的值转换成字符串。 其中:参数“1”用于指定以年月日顺序且无分隔符的形式返回字符串,参数“2”用于指定仅返回含时间部分的字符串。,CTOD()函数和CTOT()函数 格式:CTOD(cExpression) 功能:将字符表达式值转换成日期型数据。 格式:CTOT(cExpression) 功能:将字符表达式值转换成日期时间型数据。 其中:字符表达式cExpression 的求值结果必须是从1/1/1000至12/31/9999范围内的一个有效日期,其默认格式是mm/dd/yy。如输入日期时未指定世纪,则假定为20世纪。,STR()函数 格式:STR(nExpression , nLength , nDecimalPlaces) 功能:将数值表达式的值转换成对应的字符串。 其中:长度nLength 用于指定STR()返回的字符串长度。该长度包括小数点在内。如指定长度大于整个数值的宽度,则用前导空格填充;如小于,则返回一串星号“*”。 nLength缺省时默认宽度为10。 nDecimalPlaces用于指定STR()返回的字符串中的小数位数,缺省时默认为0。,其他常用函数 BETWEEN()函数 格式:BETWEEN(eTestValue , eLowValue , eHighValue) 功能:判断一个表达式的值是否在另外两个相同数据类型的表达式的值之间,如是,则返回.T.,否则返回.F.。 说明:如eLowValue或 eHighValue为NULL值,则返回NULL值。,INKEY()函数 格式:INKEY(nSeconds) 功能:返回一个键码值,该值对应于键盘缓冲区中第一个按键操作。 其中: nSeconds用于INKEY()函数对键击的等待时间,缺省时INKEY()函数立即返回一次键击的值,为0时INKEY()函数一直等到有键击为止。 TYPE()函数 格式:TYPE(eExpression) 功能:返回表达式的值的类型。如返回“U”,则表示表达式的值的类型不确定。,IIF()函数 格式:IIF(lExpression , eExpression1 , eExpression2) 功能:根据逻辑表达式的值返回两个值中的一个。 其中:逻辑表达式lExpression的值为条件,当条件值为真时返回eExpression1的值,否则返回eExpression2的值。 DISKSPACE()函数 格式:DISKSPACE( ) 功能:返回默认磁盘驱动器上可用的字节数(存储空间)。 说明:如该函数的值为-1,表示默认磁盘驱动器中没有磁盘 。,FILE()函数 格式:FILE(cFileName) 功能:测试磁盘上是否存在指定的文件。 说明:cFileName是一个字符串,用于指定一个文件,如该文件存在,则返回.T.,否则为.F.。 GETFILE()函数 格式:GETFILE(cFileExtension ,cText) 功能:显示“打开”对话框,并返回选定文件的名称。 其中:cFileExtension用于指定显示文件的类型,如有多种类型,扩展名间以“;”分隔,扩展名允许使用通配符“?”和“*”。字符串cText用于指定文件文本框前的标签。,MESSAGEBOX()函数 格式: MESSAGEBOX(cMessageText , nDialogBoxType , cTitleBarText) 功能:显示一个用户自定义对话框。 其中: cMessageText用于指定对话框中显示的文本,在表达式中包含回车符(HR(13)),可使用信息分行显示;nDialogBoxType用于指定对话框中的按钮、图标及默认按钮等,默认值为0; cTitleBarText 用于指定对话框的标题,默认为“Microsoft Visual FoxPro”。函数返回值标明选取了对话框中的哪个按钮。 详见教材P57表2-6、表2-7、表2-8、表2-9。,2.4 运算符及表达式,一、数值运算符及表达式,数值表达式中的数据类型必须为数值型,其结果也为数值型。 ? 23%5 3 ? 23%(-5) -2 ? -23%5 2 ? -23%(-5) -3,二、字符运算符及表达式,说明: “+”是将两个字符串精确地进行连接,构成一个字符串。“-”的运算结果基本同+运算,只有当字符串1中出现尾随空格时,其结果与“+”不同,它将字符串1的尾随空格移至整个字符串的最后。 尾随空格:一个空格的后面除了空格外没有其它任何字符,则该空格称为尾随空格。 子字符串:字符串A是字符串B中连续的一段,则字符串A称为字符串B的子字符串。,示例(“”表示空格),三、日期运算符及表达式,例: ? 1998/12/2+20 结果为1998/12/22,即20天后的日期 ? 2004/9/8-3 结果为2004/9/5,即3天前的日期 ? 2004/9/8-2004/9/1 结果为7,即两个日期间隔7天,四、关系运算符及表达式,关系运算符可用于任意数据类型的数据比较,但要求关系运算符两边的操作数据的数据类型相同,运算结果为逻辑值。,设置字符的排序序列 在比较字符时,系统对两个字符串的字符从左向右逐个进行比较,一旦发现两个对应字符不同,就根据这两个字符的排序序列决定两个字符串的大小。 Machine序列:按照机内码顺序排序。空格、大写字母、小写字母、一级汉字(按拼音排序)、二级汉字(按笔画排序),PinYin序列:汉字按照拼音序列排序。对于西文,空格、小写字母、大写字母。 Stroke序列:汉字按笔画的多少排序。对于西文,空格、小写字母、大写字母。 系统默认的字符序列为“PinYin”。更改序列的设置:单击菜单“工具”“选项”,在“数据”选项卡中进行。或用命令 SET COLLATE TO
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Idalopirdine-hydrochloride-Standard-生命科学试剂-MCE
- 2025年山东法官培训学院公开招聘人员考前自测高频考点模拟试题附答案详解(黄金题型)
- Guanine-13C2-15N-生命科学试剂-MCE
- GPC3-targeting-peptide-1-TFA-生命科学试剂-MCE
- 2025安徽六安市霍邱县夏店镇选聘见习村干部20人考前自测高频考点模拟试题及完整答案详解一套
- 2025江西省纺织集团进出口有限公司招聘工作人员考前自测高频考点模拟试题及完整答案详解1套
- 2025北京首都医科大学附属北京世纪坛医院招聘13人(第三批)考前自测高频考点模拟试题及答案详解参考
- 感恩节祝福发言模板
- 旅游业复苏背景下的市场机会研究
- 2025江苏淮安市淮阴区人民政府法律顾问选聘12人考前自测高频考点模拟试题及答案详解(必刷)
- 储能项目竣工验收与交付方案
- 2025秋人教版(2024)二年级上册数学教学计划
- 桥梁河床断面测量课件
- 中药质量检测技术
- 工程开工方案模板(3篇)
- 2025年部编版新教材语文八年级上册教学计划(含进度表)
- 普外科肛肠科科室介绍
- 事业单位工勤人员技师考试职业道德复习试题及答案
- 投标技能提升培训课件
- 2025年三级安全教育试题及答案
- 《陆上风电场工程设计概算编制规定及费用标准》(NB-T31011-2024)
评论
0/150
提交评论