您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 第二章 VF程序设计基础1
第二章VisualFoxPro程序设计基础第二章VisualFoxPro程序设计基础•占考试笔试分值8至16分[一般是4至8道题]在VisualFoxPro中,除了能够对数据表中的数据进行处理,也可以对诸如常量、内存变量等数据表之外的数据进行单独处理。简单的数据处理可以通过函数、表达式和单条命令完成,复杂的数据处理则可能需要编写程序来完成。本章介绍VFP程序设计基础,包括常量、内存变量、表达式、常用函数、程序的基本结构以及多模块程序设计。2.1常量与变量常量通常是指以文字串形式出现在代码中的数据,代表一个具体的、不变的值。变量用于存储数据,一个变量在不同的时该可以存放不同的数据。常量、变量类型包括数值型(N)、货币型(Y)、字符型(C)、日期型(D)、日期时间型(T)、逻辑型(L)六种。第二章VisualFoxPro程序设计基础第二章VisualFoxPro程序设计基础2.1.1常量常量一个非常重要的特点是类型不同的常量书写格式不同。1.数据值型常量就是常数,用来表示一个数量大小的具体值,由0~9、小数点和正负号构成。数值型数据在内存中用8个字节表示。如:56780.15-56也可以用科学记数法形式书写来表示很大或很小的数:如2.845×1012用2.845E12表式,5.8×10-12用5.8E-12表式。第二章VisualFoxPro程序设计基础2.货币型常量表示货币值,和数值型常量类似,但要在前放一个美元符号($),如:$57$68.25-$78此类型数据在存储及运算时采用4位小数,如有多余的小数将四舍五入。它没有科学记数法形式。货币型常量在内存中用8个字节表示。3.字符型常量也称为字符串,通常用来表示人名、代码编号、地名、性别、民族、书名等类似代表特定意义的信息。其书写方法是用半角单引号、双引号或方括号(定界符)把字符串扩起来,规定常量的起始和终止。第二章VisualFoxPro程序设计基础如:”FDSGED””北京”’海拉尔’[中国]”74568”’我是一个”中国人”’定界符必须成对,如果定界符本身也做字符串内容必须用另一定界符定界。不包含认何字符的字符串(””)叫空串。与只含空格的字符串(””)不同。[要注意单问号(?)命令与双问号(??)的功能]第二章VisualFoxPro程序设计基础4.日期型常量有两种书写格式,即严格日期格式和传统日期格式,其定界符都是一对花括花。花括号内年、月、日间用斜杠(/)、连字号(—)、句点(.)或空格做分隔符分隔。日期型数据用8个字节表示。①严格日期格式书写格式固定:{^yyyy-mm-dd},定界符内第一个字符必须是脱字符^,年份必须4位,书写不受任何环境设置命令影响,能表达一个确切的日期。如:{^2008-08-08}第二章VisualFoxPro程序设计基础②传统日期格式要根据系统设置来书写,受SETDATETO和SETCENTURYTO等环境设置命令影响,书写时月、日各为2位,年份可以是2位也可以是4位。如:{01/25/98}、{01/25/1998}VFP默认下不可以使用,只能在SETSTRICTDATETO0时才可以使用。第二章VisualFoxPro程序设计基础●影响日期格式的相关设置命令有:①SETMARKTO[日期分隔符]命令功能:用于指定显示日期值时所用的分隔符。若未指定,表示恢复系统默认分隔符”/“)②SETDATE[TO]AMERICAN|ANSI|JAPAN|……命令功能:用于设置日期显示的格式。该格式也决定系统如何解释一个传统格式的日期常量。第二章VisualFoxPro程序设计基础③SETCENTURYON|OFF|TO[世纪值]ROLLOVER[年份参照值]命令功能:用于决定如何显示或解释一个日期数据的年份。ON显示世纪,即用4位数字表示年份。OFF不显示世纪,即用2位数字表示年份。该项是系统默认设置。④SETSTRICTDATETO[0|1|2]命令功能:用于设置是否对日期格式进行检查。0:不进行严格的日期格式检查。1:进行严格的日期格式检查。为系统默认设置。2:进行严格的日期格式检查,并且对CTOD和CTOT函数的格式也有效。第二章VisualFoxPro程序设计基础•2007年9月份考试试题:•(15)要想将日期型或日期时间型数据中的年份用4位数字显示,应当使用设置命令。•A)SETCENTURYONB)SETCENTURYOFFC)SETCENTURYTO4D)SETCENTURYOF4第二章VisualFoxPro程序设计基础5.日期时间型常量与日期一样有传统及严格两种书写格式,主要在日期书写上有区别,与日期型一样,也受上面的设置命令控制。严格日期时间型是我们常用的书写方式,格式如下:{^yyyy-mm-dd[hh[:mm[:ss]][a|p]]}如:{^2008-08-08,11:36:58}日期时间型数据用8个字节存储。第二章VisualFoxPro程序设计基础6.逻辑型常量只有两个值:真(.T.)、假(.F.)。书写时大小写的.T.或.Y.表示真,大小写的.F.或.N.表示假。这里的“.”是定界符,必不可少。逻辑型数据只占用一个字节。第二章VisualFoxPro程序设计基础2.1.2变量变量值是能够随时更改的。每个变量有一个变量名,代码通过变量名来访问变量的值。VF变量分为字段变量和内存变量两大类。表中的字段名就是变量,称为字段变量。内存变量是内存中的一个存储区域,变量值就是存放在这个区域中的数据,变量类型取决于变量值的类型。随着存放数据的变化变量值在变化,类型也随之改变。与常量一样也有相应的6种类型。第二章VisualFoxPro程序设计基础1.简单的内存变量变量都有名,通过变量名来使用变量中存放的数据(访问变量值)。向简单内存变量赋值不用先定义,赋值时变量不存在将自动产生。有两种赋值格式:①内存变量名=表达式②STORE表达式TO内存变量名表●等号一次给一个变量赋值。STORE命令可以同时给多个变量赋相同值,变量名间用逗号隔开。第二章VisualFoxPro程序设计基础l一个变量在使用前并不需要特别的定义或声明,当给变量赋值而变量不存在时系统会自动建立它。l可以对内存变量重新赋值来改变其取值和类型。l当出现内存变量与字段变量同名时,若直接用变量名来访问则系统默认为字段变量,要访问内存变量必须在变量名前加上前缀M.(或M-)。2005年4月份考试填空题:•(7)执行命令A=2005/4/2之后,内存变量A的数据类型是【7】型。(数值)第二章VisualFoxPro程序设计基础•2005年9月份考试试题:•(23)假设职员表已在当前工作区打开,其当前记录的姓名字段值为张三(字符型,宽度为6)。在命令窗口输入并执行如下命令:•=姓名-您好•?姓名•那么主窗口中将显示________A)张三B)张三您好C)张三您好D)出错•☆2008年4月份考试试题:•(15)如果内存变量和字段变量均有变量名“姓名”,那么引用内存变量的正确方法是•A)M.姓名B)M-姓名C)姓名D)A)和B)都可以第二章VisualFoxPro程序设计基础2.数组数组是内存中连续的一片存储区域,它由一系列元素组成,每个元素可通过数组名及相应的下标来访问。每个数组元素相当于一个简单变量,可以给元素分别赋不同类型的值。数组在使用前一般要用DIMENSION或DECLARE命令创建,定义是一维还是二维数组。数组大小有下标值的上、下限决定。下限规定为1。格式:DIMENSION数组名(下标上限1[,下标上限2])[,……]DECLARE数组名(下标上限1[,下标上限2])[,……]数组创建后,系统自动给每个数组元素赋以逻辑假.F.。第二章VisualFoxPro程序设计基础数组及数组元素要注意:①可以使用简单变量的地方都可使用数组元素;②赋值语句中使用数组名可以给其全部元素赋值;③同一环境中数组名不可与简单内存变量同名;④赋值语句的表达式位置不能出现数组名;⑤可以用一维数组形式访问二维数组。第二章VisualFoxPro程序设计基础•2006年4月份考试试题:•(33)执行如下命令序列后,最后一条命令的显示结果是•DIMENSIONM(2,2)•M(1,1)=10•M(1,2)=20•M(2,1)=30•M(2,2)=40•?M(2)•A)变量未定义的提示B)10C)20D).F.第二章VisualFoxPro程序设计基础2.1.3内存变量常用命令1.内存变量的赋值格式1:内存变量名=表达式格式2:STORE表达式TO内存变量名表功能:计算表达式并将表达式值赋给一个或多个内存变量,格式1只能给一个变量赋值。2.表达式值的显示格式1:?[表达式表]格式2:??表达式表第二章VisualFoxPro程序设计基础功能:计算表达式表中的各表达式并输出各表达式值。不管有没有指定表达式表,格式1都会输出一个回车换行符。如果指定了表达式表,各表达式值将在下一行的起始处输出。格式2不回输出回车换行符,各表达式值在当前行的光标所在处直接输出。第二章VisualFoxPro程序设计基础3.内存变量的显示格式1:LISTMEMORY[LIKE通配符][TOPRINTER|TOFILE文件名]格式2:DISPLAYMEMORY[LIKE通配符][TOPRINTER|TOFILE文件名]通配符包括*和?,*表示任意多个字符,?表示任意一个字符。注意两种格式的区别。第二章VisualFoxPro程序设计基础4.内存变量的清除格式1:CLEARMEMORY格式2:RELEASE内存变量名表格式3:RELEASEALL[EXTENDED]格式4:RELEASEALL[LIKE通配符|EXCEPT通配符]格式5:CLEARALL第二章VisualFoxPro程序设计基础功能:①格式1表示清除所有内存变量。②格式2表示清除指定的内存变量。③格式3表示清除所有的内存变量。在人机会话状态时其作用与格式1相同。如果出现在程序中,则应该加上短语ENTENDED,否则不能删除全局内存变量。④格式4表示选用LIKE短语清除与通配符相匹配的内存变量,选用EXCEPT短语清除与通配符不相匹配的内存变量。第二章VisualFoxPro程序设计基础•2006年9月份考试试题:•(12)从内存中清除内存变量的命令是________。A)ReleaseB)DeleteC)EraseD)Destroy第二章VisualFoxPro程序设计基础5.表与数组之间的数据传递VFP提供相关命令,可以方便地完成表与数组间的数据交换。①将表的当前记录复制到数组格式1:SCATTER[FIELDS字段名表][MEMO]TO数组名[BLANK]格式2:SCATTER[FIELDSLIKE通配符|FIELDSEXCEPT通配符][MEMO]TO数组名[BLANK]第二章VisualFoxPro程序设计基础格式1的功能是将表当前记录的指定各字段内容依次复制到指定数组中从第一个数组元素开始的各数组元素中。如果不使用FIELDS短语指定字段,则复制除备注型和通用型之外的全部字段。如果事先没有创建数组,系统将自动创建;如果已创建的数组元素个数少于字段数,系统自动建立其余数组元素;如果已创建的数组元素个数多余字段数,其余数组元素的值保持不变。若选用MEMO短语,则同时复制备注型字段。若选用BLANK短语,则产生一个空数组,数组的大小和各元素的类型与表中当前记录的对应字段相同。第二章VisualFoxPro程序设计基础②将数组数据复制到表的当前记录格式1:GATHERFROM数组名[FIELDS字段名][MEMO]格式2:GATHERFROM数组名[FIELDSLIKE通配符|FIELDSEXCEPT通配符][MEMO]第二章VisualFoxPro程序设计基础2.2表达式表达式是由常量、变量和函数通过特定的运算
本文标题:第二章 VF程序设计基础1
链接地址:https://www.777doc.com/doc-3242475 .html