《第2章VFP语言基础.ppt》由会员分享,可在线阅读,更多相关《第2章VFP语言基础.ppt(74页珍藏版)》请在优知文库上搜索。
1、Visual FoxPro 6.0第章第章VFP语言基础语言基础内容提要内容提要2.1数据类型数据类型2.2 数据存储数据存储2.3 运算符和表达式运算符和表达式2.4 函数函数2.5 命令命令2.1数据类型数据类型 字符型(C)数值型(N)货币型(Y)逻辑型(L)日期型(D)日期时间型(T)整型 浮点型 双精度型 备注型(M)通用型(G)二进制字符型 二进制备注型2.1数据类型数据类型1、字符型、字符型:用字母:用字母C表示;包括字母、数字、汉表示;包括字母、数字、汉字、空格、专用符号等;每个西文字符占一字节,字、空格、专用符号等;每个西文字符占一字节,汉字占汉字占2字节;注意:当阿拉伯数据
2、字作字符型时,字节;注意:当阿拉伯数据字作字符型时,不具有计算能力不具有计算能力 2、数值型、数值型:用字母:用字母N表示;由数字、小数点、正表示;由数字、小数点、正负号和字母负号和字母E组成组成;最大长度为;最大长度为20位(包括正负位(包括正负号、小数点、字母号、小数点、字母E);常用来表示实数,每个;常用来表示实数,每个数据占数据占8字节;例:字节;例:235,123.45,1.3E+8(即(即1.3*108);采用);采用ASCII码存储码存储 2.1数据类型数据类型3、货币型、货币型:用字母用字母Y表示;默认保留表示;默认保留4位小数;占位小数;占8个字节;例个字节;例$123.45
3、,其中,其中“$”为美元符号;当小数为美元符号;当小数位数超过四位时,系统将自动进行四舍五入处理位数超过四位时,系统将自动进行四舍五入处理。4、逻辑型、逻辑型:用字母用字母L表示;只有两种值:真(表示;只有两种值:真(.T.或或.Y.)假)假(.F.N.);占;占1个字节;逻辑字母前后须个字节;逻辑字母前后须加小圆点加小圆点 5、日期型、日期型:用字母:用字母D表;占表;占8个字节;存储格式为个字节;存储格式为YYYYMMDD;默认格式为:;默认格式为:MM/DD/YY;日;日期格式有许多种,可通过设置命令来改变日期格式;期格式有许多种,可通过设置命令来改变日期格式;例:例:03/07/07表
4、示表示07年年3月月7日日 2.1数据类型数据类型6、日期时间型、日期时间型:用字母:用字母T表示;存储格式为:表示;存储格式为:YYYYMMDDHHMMSS;可通过命令设置来改变其可通过命令设置来改变其显示格式显示格式 7、整型、整型:用字母用字母I表示;表示;以二进制形式存储;以二进制形式存储;占占4个字节;只能用于数据表中字段的定义;例个字节;只能用于数据表中字段的定义;例15,-230,1234 8、浮点型、浮点型:用字母用字母F表示;与数值型完全等价;采用浮点格表示;与数值型完全等价;采用浮点格式存储(尾数、阶码及字母式存储(尾数、阶码及字母E);只能用于数据);只能用于数据表中字段
5、的定义表中字段的定义 通过浮动小数点来实现数据的存储通过浮动小数点来实现数据的存储 浮点数在计算机中用以近似表示任意某个实数。具体的说,这个实数由一个浮点数在计算机中用以近似表示任意某个实数。具体的说,这个实数由一个整数或定点数(即尾数)乘以某个基数(计算机中通常是整数或定点数(即尾数)乘以某个基数(计算机中通常是2)的整数次幂得)的整数次幂得到,这种表示方法类似于基数为到,这种表示方法类似于基数为10的科学记数法。的科学记数法。2.1数据类型数据类型9、双精度型(、双精度型(Double):用字母用字母B表示;常用表示;常用来表示高精度数值类型数据;采用浮点格式存储,来表示高精度数值类型数据
6、;采用浮点格式存储,占占8个字节;只能用于数据表中字段的定义。个字节;只能用于数据表中字段的定义。64位位10、备注型(、备注型(Memo):用字母:用字母M表示;用于在表表示;用于在表中存放较长内容的数据;只能用于数据表中字段的中存放较长内容的数据;只能用于数据表中字段的定义;占定义;占4个字节;在数据表(个字节;在数据表(*.dbf)中只存放其)中只存放其内部指针,指示其数据实际存放的位置;实际数据内部指针,指示其数据实际存放的位置;实际数据存放在数据表文件备注文件(存放在数据表文件备注文件(*.fpt)中)中 2.1数据类型数据类型11、通用型、通用型:用字母:用字母G表示;用于存储表示
7、;用于存储OLE(对(对象链接嵌入)对象;象链接嵌入)对象;OLE对象可以是对象可以是excel中的电中的电子表格、文档、图形、图片、声音等多媒体数据;子表格、文档、图形、图片、声音等多媒体数据;只能用于数据表中字段的字定;占四个字节只能用于数据表中字段的字定;占四个字节 12、字符、字符(二进制二进制)数据数据:用字母:用字母C表示;以二进制格表示;以二进制格式存储;只能用于数据表中字段的定义;所存储的式存储;只能用于数据表中字段的定义;所存储的数据不受代码页改变的影响;它是在各种代码页间数据不受代码页改变的影响;它是在各种代码页间保持不变的字符数据,如保存在表中的用户口令,保持不变的字符数
8、据,如保存在表中的用户口令,可用于不同国家。可用于不同国家。2.1数据类型数据类型13、备注(二进制)数据、备注(二进制)数据:用字母:用字母M表示;以二进表示;以二进制格式存储;只能用于数据表中字段的定义;所存制格式存储;只能用于数据表中字段的定义;所存储的数据不受代码页改变的影响;它是在各种代码储的数据不受代码页改变的影响;它是在各种代码页间保持不变的备注字段数据,用于不同国家的登页间保持不变的备注字段数据,用于不同国家的登录脚本。录脚本。2.2数据存储数据存储在在Visual FoxPro中,常把用于存储数中,常把用于存储数据的常量、变量、数组、字段、记录和对据的常量、变量、数组、字段、
9、记录和对象等称为象等称为数据存储容器数据存储容器 2.2.1常量常量数据处理过程中保持不变的量数据处理过程中保持不变的量支持六种类型的常量:支持六种类型的常量:1、数值型常量、数值型常量:由数字、小数点和正负号:由数字、小数点和正负号组成;组成;例:例:150,120,-3.14,2.14 2、浮点型常量、浮点型常量:常用来表示绝对值很大或:常用来表示绝对值很大或很小,而有效位数不太长的数据很小,而有效位数不太长的数据例:例:9.6E+6表示表示 9.6 106;1.3E-9表示表示1.310-9 2.2.1常量常量3、字符型常量、字符型常量:由:由ASCII码字符集、汉字码字符集、汉字等组成
10、的字符串;字符串:等组成的字符串;字符串:用定界符用定界符括起括起来的一串字符;定界符:双引号,单引号,来的一串字符;定界符:双引号,单引号,方括号方括号例:例:“Goodbye”,郑州郑州,中原工学中原工学院院 注意注意:定界符要成对出现,当字符串本身:定界符要成对出现,当字符串本身包括一种定界符时,则必须使用另外一种包括一种定界符时,则必须使用另外一种定界符来表示字符串常量;定界符来表示字符串常量;例:例:学习学习“visual foxpro”?“中原工学院中原工学院“?学校学校 显示符号一定要在英文的输入状态下输入2.2.1常量常量4、逻辑型常量、逻辑型常量:必须在逻辑常量的左右加小圆点
11、定:必须在逻辑常量的左右加小圆点定界符,表示和其它字符的一些区分。界符,表示和其它字符的一些区分。例:例:.T.和和.t.和和.Y.和和.y.都表示逻辑真都表示逻辑真.F.和和.f.和和.N.和和.n.都表示逻辑假都表示逻辑假、日期型常量、日期型常量/日期时间型常量日期时间型常量:表示一个确切的日:表示一个确切的日期和时间,用花括号作为定界符期和时间,用花括号作为定界符,默认格式为默认格式为(MM/DD/YY););“”表示该格式为严格的日期格式表示该格式为严格的日期格式 yyyymmdd 如:如:2003-03-03、1996-03-20 12:30:15 工具-选项-区域-调整日期显示格式
12、2.2.2变量变量数据处理过程中值可以改变的量是数据处理过程中值可以改变的量是变量,包括字段变量和内存变量、数组变变量,包括字段变量和内存变量、数组变量量1.变量的命名变量的命名:由字母、下划线、数字、汉字组成由字母、下划线、数字、汉字组成命名以字母下划线或汉字开头命名以字母下划线或汉字开头命名可使用命名可使用1128个字符个字符避免使用系统保留字(如命令名、标准函数避免使用系统保留字(如命令名、标准函数名等)进行命名名等)进行命名 变量的三要素:变量名、数据类型和变量值。变量的三要素:变量名、数据类型和变量值。2.2.2变量变量2.字段变量字段变量 存在于数据表中。当定义好存在于数据表中。当
13、定义好一个数据表的结构,该表中的各个字段名一个数据表的结构,该表中的各个字段名就形成了各个字段变量,在创建表的时候就形成了各个字段变量,在创建表的时候使用。使用。字段变量必须先定义然后才能使用!2.2.2变量变量3.内存变量:内存变量:是在内存中定义的、一种单个数据元素的临时性是在内存中定义的、一种单个数据元素的临时性变量变量(关机后数据距没有了)(关机后数据距没有了)常用来存储所需要的常数、中间结果或最终结果;常用来存储所需要的常数、中间结果或最终结果;作用:提高数据值的传递运算和临时存放效率作用:提高数据值的传递运算和临时存放效率 它独立于数据库文件而存在它独立于数据库文件而存在 必须先定
14、义后使用;必须先定义后使用;当内存变量与表中的字段变量名同名时,字段名当内存变量与表中的字段变量名同名时,字段名优先,可通过在内存变量名前加优先,可通过在内存变量名前加“M”来区分,来区分,但对内存变量赋值时不能加前缀但对内存变量赋值时不能加前缀 2.2.2变量变量(1)建立内存变量(给变量赋值)建立内存变量(给变量赋值)格式格式1:=格式格式2:STORE TO 说明:说明:先将表达式的值计算出来,再赋给各内存变量;先将表达式的值计算出来,再赋给各内存变量;格式可同时给多个内存变量赋值(相同),内存变格式可同时给多个内存变量赋值(相同),内存变量名间用逗号分隔量名间用逗号分隔 格式一次只能给
15、一个变量赋值格式一次只能给一个变量赋值可通过对内存变量重新赋值来改变其值和类型。可通过对内存变量重新赋值来改变其值和类型。功能:在定义内存变量的同时确定内存变量的值和类型。功能:在定义内存变量的同时确定内存变量的值和类型。a1=1 a2=2?a1+a2 若把a1赋值为100,结果?2.2.2变量变量例如例如:X=5&定义变量定义变量X,并把数值,并把数值5赋给赋给XSTORE X+10 TO Y&定义变量定义变量Y,并将表达式,并将表达式X+10的值赋给的值赋给Y STORE”北京北京”TO A,B,C&定义变量定义变量A,B,C,并赋于相同的字符数据并赋于相同的字符数据 X=.F.&重新定义
16、变量重新定义变量X,并赋逻辑值,并赋逻辑值2.2.2变量变量(2)输出内存变量)输出内存变量 格式格式1:?格式格式2:?功能:计算功能:计算中各表达式的值并在中各表达式的值并在屏幕上显示出来。屏幕上显示出来。?:?:先回车换行,再计算输出;先回车换行,再计算输出;?:?:在屏幕上的光标当前位置输出在屏幕上的光标当前位置输出在命令中各表达式之间用逗号分隔,输出在命令中各表达式之间用逗号分隔,输出的各值之间用空格分隔的各值之间用空格分隔 例:例:?X?A,B,C?Y?中原工学院?中原工学院2.2.2变量变量(3)显示或打印内存变量)显示或打印内存变量 格式:格式:LIST|DISPLAY MEMORY LIKE TO PRINTE|TO FILE 功能:显示或打印一个或多个内存变量的当前信息。功能:显示或打印一个或多个内存变量的当前信息。说明:说明:TO PRINTER是送打印机输出,是送打印机输出,TO FILE是是将结果送到一个扩展名为将结果送到一个扩展名为.TXT的文本文件中的文本文件中 LIKE 表示显示或打印所有与通配符表示显示或打印所有与通配符一致的内存变量。包括:一致的内存