您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 第二章 Visual Foxpro程序设计基础(上)
LOGO全国计算机等级考试二级VisualFoxpro6.0辅导江苏理工学院商学院杨晋CompanyLogo第二章VisualFoxpro程序设计基础2.1常量与变量12.2表达式22.3常用函数32.4程序与程序文件42.5程序的基本结构52.6多模块程序设计6CompanyLogo2.1常量与变量2.1.1常量2.1.2变量2.1.3内存变量常用命令CompanyLogo2.1.1常量逻辑型常量数值型常量日期时间型常量日期型常量货币型常量字符型常量常量常量是通常是指以文字串形式出现在代码中的数据,代表一个具体的、不变的值。其特征是在整个操作过程中它的值和表现形式保持不变。VisualFoxPro按常量取值的数据类型,将常量分为6种类型CompanyLogo1.数值型常量(N)即常数,用来表示一个数量的大小,由数字0-9、小数点和正负号组成,表示整数或实数值。如;100,-21,15.31,-21092.5041等分别是数值型常量中的整数和实数。也可以用科学记数法形式书写:如5.78E12表示5.78×1012数值型数据在内存中占用8个字节.CompanyLogo2.货币型常量(Y)用来表示货币值,书写格式与数据型常量类似.但要多加一个$前置符号.且采用四位小数.他没有科学记数法,在内存中占8个字节.CompanyLogo3.字符型常量由任意ASCII字符、汉字和汉字字符组成的字符型数据,字符型常量又称为字符串。为与其他类型常量、变量和标识符相区别,VisualFoxPro要求将字符串中所有字符,用一对双引号“”或单引号“'”或方括号“[]”作为定界符对括起来。如“Iamastudent..”,‘中华人民共和国’,[VisualFoxPro6.0系统]都是字符串。注意:不包含任何字符的字串(“”)叫空串,空串与包含空格的字符串(“”)不同.?/??命令功能CompanyLogo4.日期型常量VisualFoxPro系统增加了一种所谓严格的日期格式。不论哪种设置,按严格日期格式表示的日期型和日期时间型数据,都具有相同的值和表示形式。严格的日期格式是:{^yyyy-mm-dd}^符号表明该格式是严格的日期格式,并按照YMD的格式解释日期型和日期时间型数据,它是严格日期格式的标志,不可缺少。有效的日期型和日期时间型数据分隔符为:连字符“-”、正斜杠“/”、句点“.”和空格。如{^2002-10-01}以严格的日期格式表示2002年10月1日这个日期数据。传统的日期型常量是表示日期值的数据,其默认格式是{mm/dd/[yy]yy}。如{10/01/02}和{10/01/2002}均表示2002年10月1日这一日期常量值。CompanyLogo4.日期型常量(续)(1)影响日期格式的设置命令:命令格式:SETMARKTO[日期分隔符]命令功能:用于指定显示日期值时所用的分隔符,如“-”、“.”等。如果执行SETMARKTO没有指定分隔符,表示恢复系统默认的斜杠分隔符。CompanyLogo4.日期型常量(续)(2)设置日期显示格式用户可以调整、设置日期值和时间值的显示输出格式。既可以用命令方式设置,也可以用菜单方式设置。命令格式:SETDATE[TO]AMERICAN|ANSI|BRITISH|FRENCH|GERMAN|ITLIAN|JAPAN|USA|MDY|DMY|YMD|SHORT|LONG命令功能:设置日期型和日期时间型数据的显示输出格式。系统默认为AMERICAN美国格式。CompanyLogo4.日期型常量(续)各种日期格式设置所对应的日期显示输出格式,见表2-1所示。表2-1系统日期格式设置值日期格式设置值日期格式AMERICANmm/dd/yyUSAmm-dd-yyANSIyy.mm.ddMDYmm/dd/yyBRITISH/FRENCHdd//mm/yyDMYdd//mm/yyGERMANdd.mm.yyYMDyy/mm/ddITALIANdd-mm-yySHORTWindows短日期格式JAPANyy/mm/ddLONGWindows长日期格式CompanyLogo4.日期型常量(续)(3)日期格式中的世纪值传统的日期格式中用2位数表示年份,但涉及到世纪问题就不便区分。VisualFoxPro提供设置命令对此进行相应设置。命令格式:SETCENTURYON|OFF|TO[世纪值][ROLLOVER]年份参照值命令功能:ON:日期数据显示10位,其中年份4位,即日期值输出时显示年份值;OFF:(默认值)。日期数据显示8位,年份2位,即日期值输出时不显示年份值;TO[nCentury]:指定日期数据所对应的世纪值。nCentury是一个1~99的整数,代表世纪数。CompanyLogo4.日期型常量(续)(4)VisualFoxPro系统默认采用严格的日期格式,并以此检测所有日期型和日期时间型数据的格式是否规范、合法。为与早期版本兼容,用户通过命令或菜单设置改变这一格式。命令设置的命令格式:SETSTRICTDATETO[0|1|2]命令功能:0:关闭严格的日期格式检测,即设置日期格式按传统的格式;1:设置严格的日期格式检测(默认值),要求所有日期型和日期时间型数据均按严格的格式;2:设置与1相同,并且对CTOD()和CTOT()函数也有效,这个设置最适合调试时使用,用来检测2000年兼容性错误;省略:恢复系统默认值,等价于1的设置。CompanyLogo5.日期时间型常量VisualFoxPro系统中增加了一种表示日期和时间值的日期时间型常量,其默认格式是:{mm/dd/[yy]yy[,]hh:mm:ss[a|p]}其中a和p分别表示AM(上午)和PM(下午)。也有严格的日期格式和传统的日期格式,例:{^2002-10-0110:30:30a},分别以严格的日期时间格式表示2002年10月1日上午10时30分30秒这个日期数据。日期值和日期时间值的输入格式与输出格式并不完全相同,特别是输出格式受系统环境设置的影响,用户可根据应用需要进行相应调整、设置。P51页在内存中占用8个字节.CompanyLogo6.逻辑型常量逻辑型常量就是表示逻辑判断结果“真”或“假”的逻辑值。逻辑常量只有真和假两种值,分别用(.t.或.y.)和(.f.或.n.)表示真和假。一般应在表示逻辑常量的字母左右加注圆点符“.”以示区别。在内存中占用一个字节.CompanyLogo2.1.2变量变量是在操作过程中可以改变其取值或数据类型的数据项。确定一个变量,需要确定其三个要素:变量名、数据类型和变量值。变量命名约定:为规范各类对象的命名,VisualFoxPro系统推荐了若干“命名约定”供用户参考,以提高操作命令与程序的可读性和规范性。●使用字母,汉字、下划线和数字命名。一般建议不采用汉字命名;●命名以字母、汉字或下划线开头;除自由表中字段名、索引的TAG标识名最多只能10个字符外,其他的命名可使用1~128个字符;●避免使用VisualFoxPro的保留字;●文件名的命名应遵循操作系统的约定。CompanyLogo字段变量:由于表中各条记录对同一个字段名可能取值不同,因此打开表之后表中的字段名就是变量.变量分类内存变量:是内存中的一个存储区域,变量值就是存放在这个存储区域里的数据,而变量的类型即为变量值的类型。CompanyLogo逻辑型数值型日期时间型日期型货币型字符型变量类型VisualFoxPro中变量的数据类型包括:数值型、货币型、字符型、日期型、日期时间型和逻辑型;CompanyLogo1.简单内存变量内存变量是在内存中定义的、一种单个数据元素的临时性变量。内存变量的建立:建立内存变量就是给内存变量赋值。内存变量赋值既可定义一个新的内存变量,也可改变已有内存变量的值或数据类型。向简单的内存变量赋值不必事先定义。命令格式1:STORE表达式TO内存变量表命令功能:计算表达式的值并赋值给各个内存变量。命令格式2:内存变量=表达式命令功能:计算表达式的值并赋值给指定内存变量。详细内容参见P52页!注意:字段变量与内存变量同名时,字段变量优先,内存变量必须加前缀M.或M-。CompanyLogo2.数组数组变量是结构化的变量,是一组具有相同名称、以下标相互区分的有序内存变量。一个数组通常都包含多个数据元素。VisualFoxPro系统中只允许使用一维数组(相当于数列)和二维数组(相当于行列式或矩阵)。数组中各有序变量(数据元素)组成数组的成员,称为数组元素。数组元素实质上是一个内存变量,也称数组变量,它们具有相同变量名即数组名,彼此以下标区分;数组元素的数据类型决定于最后赋值的数据类型;不同数组元素的数据类型可以不同;数组元素与普通内存变量一样操作,可以赋值和引用。CompanyLogo2.数组(续)数组的定义:数组必须先定义后使用,定义数组是向系统申请数组元素在内存中的存储空间。命令格式:DIMENSION|DECLARE数组名1(数值表达式1[,数值表达式2])[,数组名2(数值表达式3[,数值表达式4])…]命令功能:定义指定的各个数组。数组的赋值与引用:数组元素的赋值与引用,与普通内存变量的规则相同。数组创建后,系统自动给每个数组元素赋以逻辑假.f.P53页例及注意的问题CompanyLogo2.1.3内存变量常用命令1、内存变量的赋值命令格式:STORE表达式TO内存变量表命令功能:计算表达式的值并赋值给各个内存变量。命令格式:内存变量=表达式命令功能:计算表达式的值并赋值给指定内存变量。2、表达式值的显示输出可以用两个命令在屏幕上显示输出内存变量的值。命令格式:?|??表达式表命令功能:计算表达式表中各表达式的值,并在屏幕上指定位置显示输出各式的值。?:先回车换行,再计算并输出表达式的值;??:在屏幕上当前位置,计算并直接输出表达式的值;表达式表:多个逗号两两分隔的表达式,各表达式的值输出时,以空格分隔;CompanyLogo2.1.3内存变量常用命令(续)3.内存变量的显示(1)变量的显示用?/??命令可以分别显示单个或一组变量的值。有时用户还需了解变量其他相关信息,如数据类型、作用范围,或了解系统变量的信息。VisualFoxPro系统提供了相应操作命令。命令格式;DISPLAY|LISTMEMORY[LIKE通配符][TOPRINTER|TOFILE文本文件名]命令功能:显示指定变量的当前信息,包括变量名、作用域、类型和取值。P53页例:LISTMEMORYLIKEA*例:LISTMEMORYLIKE?C*CompanyLogo2.1.3内存变量常用命令(续)(4)变量的清除VisualFoxPro系统对定义内存变量的数量是有限制的,应及时清理,尽量减少内存的占用,定义其他变量。命令格式:CLEARMEMORYRELEASE内存变量名表RELEASEALL[EXTENDED]RELEASEALL[LIKE通配符|EXCEPT通配符见P54页例2.4CompanyLogo2.1.3内存变量常用命令(续)(5)表与数组之间的数据传送①将表的当前记录复制到数组格式1:SCATTER[FIELDS字段名表][MEMO]TO数组名[BLANK]格式2:SCATTER[FIELDSLIKE通配符|FIELDSEXCEPT通配符][MEMO]TO数组名[BLANK}②将数组数据复制到表的当前记录格式1:GATHERFROM数组名[FIELD字段名表][MEMO]格式2:GATHERFROM数组名[FIELDLIKE通配符]|FIELDSEXCEPT通配符][MEMO]CompanyLogo在VisualFoxPro中,有如下内存变量赋值语句:X={^2001-07-2810:15:20PM}Y=.F.M=$123.4N=123.4Z=123.24执行上述赋值语句之后,内存变
本文标题:第二章 Visual Foxpro程序设计基础(上)
链接地址:https://www.777doc.com/doc-3845947 .html