系统概述和语言基础.ppt

上传人:牧羊曲112 文档编号:6373270 上传时间:2023-10-21 格式:PPT 页数:45 大小:222.49KB
返回 下载 相关 举报
系统概述和语言基础.ppt_第1页
第1页 / 共45页
系统概述和语言基础.ppt_第2页
第2页 / 共45页
系统概述和语言基础.ppt_第3页
第3页 / 共45页
系统概述和语言基础.ppt_第4页
第4页 / 共45页
系统概述和语言基础.ppt_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《系统概述和语言基础.ppt》由会员分享,可在线阅读,更多相关《系统概述和语言基础.ppt(45页珍藏版)》请在三一办公上搜索。

1、Visual FoxPro 6.0系统概述和语言基础,第二章,.1 VFP 6.0的用户界面,Visual FoxPro是一个关系数据库的操作和应用程序开发的集成环境,它的用户界面的窗口外观和工作方式,与Windows及Windows的其他应用程序类同。主窗口包括:标题栏、菜单栏、普通工具栏、状态栏、命令窗口和工作区域。当进入不同的开发界面时,还会出现项目管理器窗口、表单设计窗口、菜单设计窗口、属性窗口等设计界面。关于VFP的菜单、工具栏、向导、生成器、设计器、项目管理器等,参见课本。以后结合数据库的操作及应用程序开发再作具体介绍。,2.2 FoxPro 的数据类型(1),和其他程序设计语言类

2、似,VFP提供了多种数据类型,通过这些数据类型可以将各种类型的数据,保存在表、数组、变量以及其它数据表现形式中。并按照不同的数据类型对数据进行不同的运算、操作和处理。VFP的数据类型,有的只适用于数据表中的字段;有的不仅适用于字段,还适用于应用程序中的内存变量和数组。,2.2 FoxPro 的数据类型(2),(1)字符型(Character)字符型(C型)数据可以包含任何可显示的ASCII码字符,包括字母、数字、汉字、符号等。字符型字段变量和内存变量的数据不能超过254个字节,字符型常数用单引号,双引号,方括号括起来并定界。空格也是一个字符。(2)数值型(Numeric)数值型(N型)用于表示

3、数量,由0-9数字、小数点、正负号及E(用于科学记数法)组成。长度不能超过20位。其中负号、小数点各占一位。(3)整型(Integer)整型(N型)表示整数,仅用于字段变量,数据占4个字节。,2.2 FoxPro 的数据类型(3),(4)浮点型(Float)浮点型(N型)与数值型等价,较早的FoxPro版本单独定义浮点数,表示科学计数。如,数1.2E+5 表示 1.2乘以10的5次方。(5)双精度型(Double)双精度型(N型)能提高数值精度,只用于字段变量,固定占用8个字节。(6)货币型(Currency)货币型(Y型)用来表示货币值,有时也用数值型数据来表示数据。系统默认的货币符号是“$

4、”,可使用SET CURRENCY命令设置货币符号。,2.2 FoxPro 的数据类型(4),(7)日期型(Data)日期型(D型)用于表示日期,默认的表示形式是“mm/dd/yyyy”,yyyy表示年,占4字节,mm表示月,占2字节,dd表示日,占2字节。可用set date 命令设置。(8)日期时间型(DataTime)日期时间型(T型)数据包括日期和时间(时,分)固定占用8个字节,默认格式是“mm/dd/yyyy hh:mm:ss”。(9)逻辑型(Logical)逻辑型(L型)用于表示只有两个值的数据,其值为真(.T.)或假(.F.)。,2.2 FoxPro 的数据类型(5),(10)备

5、注型(Memo)备注型(M型)只用于表中的字段,当存储的文本数据超过254个字符时采用备注型。备注型字段固定占4个字节,用来存储一个指向备注文件(.FPT)的指针。(11)通用型(General)通用型(G型)用于存储OLE对象,仅适用于表中的字段,固定占4个字节。OLE是将其它Windows应用程序所处理的对象(图表、图片等)链接或嵌入VFP表中。,2.2 FoxPro 的数据类型(6),(12)字符型(二进制)与字符类相似,但若代码页(不同语系代码)改变时,其值并不会随之改变,即VFP不会自动转换成相应国家的语系。(13)备注型(二进制)与字符型(二进制)一样,当代码页改变时,其值不会随之

6、改变。,2.3 VFP的数据存储与运算方式,我们将用于存储数据的常量、变量、数组、记录和对象属性等称为数据存储容器(数据容器),它们决定了数据的类型及使用方法和操作方式。数据容器是系统存储数据的存储单元。下面分别介绍常量、变量、表达式和函数。,2.3.1 常 量(1),常量是不变的数据。(1)字符型(C型)字符型常量是由双引号、单引号、方括号括起来的字符或字符串。例如,“ABCD”、“1234”、北京等。注意:引号和括号必须是英文字符(2)数值型(N型)数值型常量是由数字09、小数点、正负号和 E(科学计数法中指数的底10)组成的数值。,2.3.1 常 量(2),(3)逻辑型(L型)逻辑型常量

7、只有逻辑“真”值和逻辑“假”值两个值,用.T.或.Y.表示逻辑真值,.F.或.N.表示逻辑假值。(4)货币型(Y型)货币型常数是以“$”作为前缀的数值,如$986.35、$1234.5678。(5)日期型(D型)日期常量是用大括号括起来的日期形式的常量。正确的日期格式为yyyy-mm-dd或yyyy/mm/dd。如 2000-09-20,2000/10/01。,2.3.1 常 量(3),(6)日期时间型(T型)日期时间型常量也是用大括号括起来表示,正确的日期时间格式为:yyyy-mm-dd hh:mm:ssa|p 或yyyy/mm/dd hh:mm:ssa|p 此外,VFP还允许在程序中为常量

8、定义一个名称,在编译时代表该常量,定义的常量可以是任意类型的数据。例如:#define pai 3.1415926取消常量定义时用undefine命令,例如取消对pai的定义要用undefine pai 命令完成。,2.3.2 变 量(1),变量存储的数据可以变化,变量可分为字段变量和内存变量。而内存变量又可分为系统变量、普通变量和数组变量。1字段变量 字段变量是数据库中表文件的某一字段名,字段变量是多值变量,它的具体值是当前记录中该字段所存放的数据。变量名可以使用字母、数字、下划线和汉字,但第一个字符必须是字母或汉字。字段变量名长度不得超过128个字符(自由表中字段变量名长度不能超过10个字

9、符)。,2.3.2 变 量(2),2、内存变量 内存变量的数据存储在内存存储单元中,内存变量建立后,数据一直保存,并可以改变其值,直到清除该变量。内存变量除暂存数据外,在程序中用来控制程序的执行。内存变量允许与字段变量重名,但优先访问字段变量,可以用 M.或M-的形式访问重名的内存变量,如M-姓名。内存变量的数据类型包括字符型、数值型、货币型、逻辑型、日期型、日期时间型和对象型。,2.3.2 变 量(3),3、内存变量的定义和赋值 在给内存变量赋值时,同时也定义了内存变量的数据类型,并建立该内存变量。(1)内存变量赋值语句:格式 STORE TO|=例:STORE 123.5*4 TO A,B

10、,C NAME=“李华”,2.3.2 变 量(4),(2)系统内存变量 系统内存变量是由VFP建立和维护的“嵌入”式的内存变量。变量名均以下划线开头,这些变量控制VFP屏幕和打印机输出格式等。(3)对象型内存变量 对象是类的实例,而类则是对于拥有数据和一定行为特征的对象集合的描述。对象型内存变量主要在程序中用来定义和存取对象信息。,2.3.2 变 量(5),(4)内存变量的显示 语句格式 DISPLAY MEMORY(分屏显示)LIST MEMORY(连续显示)(5)内存变量的删除 语句格式 RELEASE RELEASE ALL LIKE|EXCEPT,2.3.2 变 量(6),(6)内存变

11、量存储到文件中 可以将内存变量及值存储到文件中,文件扩展名默认为.MEM;还可以从内存变量文件中读取内存变量到内存中。语句格式 SAVE TO SAVE TO ALL LIKE|EXCEPT RESTORE FROM ADDITIVE,2.3.3 表达式与运算符(1),常量、变量、函数通过运算符连接起来构成表达式。表达式在语句中通过运算或操作会产生表达式的值,语句再对表达式值进行相应的数据处理。表达式一般都含有若干项,但是常量、变量和函数单独可以作为表达式在语句中使用。根据表达式中的数据类型和运算符的运算意义,VFP中的表达式有算术表达式、字符表达式、日期表达式、关系表达式、逻辑表达式和名表达

12、式。,2.3.3 表达式与运算符(2),1算术表达式及运算符 数值表达式通过算术运算符,对数值型数据进行数值运算,其结果是数值型数据。算术运算符及优先级顺序:()括号,优先运算;*或 乘方,例:3*2 或 32*、/乘、除%取模(余数),例:15%4 结果是3+、-加、减(单目运算为“+”、“-”号),2.3.3 表达式与运算符(3),2字符表达式及运算符 字符表达式对字符型数据进行操作,其值为字符串。字符运算符有两个:+:字符串连接操作,将几个字符串连接成一个新字符串。例:”ABCD”+”EFGH”+”1234”连接结果为:”ABCDEFGH 1234”-:串尾空格移位连接操作,将第一个字符

13、串尾部空格移到后面一个字符串末尾后,连接成一个新字符串。例:”山东“经济学院”+“会计系”连接结果为:“山东经济学院会计系”,2.3.3 表达式与运算符(4),3日期及日期时间型表达式及运算符 对日期及日期时间进行日期和时间的运算。日期及时间运算符有“+”和“-”日期及日期时间型表达式的运算有三种情况:(1)两个日期(时间)型数据相减,结果是表示天数的数值型数据。例:2000-10-01 2000-09-01 结果为30,表示两个日期相距30天。,2.3.3 表达式与运算符(5),(2)一个日期(时间)型数据加一个表示天数的数值型数据,结果是一个向后推算的日期(时间)型数据。例:2000-09

14、-01+60 结果为2000-10-31(3)一个日期(时间)型数据减一个表示天数的数值型数据,结果是一个向前推算的日期(时间)型数据。例:2000-09-01 30 结果为2000-08-02,2.3.3 表达式与运算符(6),4关系表达式及运算符 关系表达式对同一类型的数据进行比较运算,比较的结果符合逻辑,则关系成立,其值为逻辑真值.T.;比较的结果不符合逻辑,关系不成立,结果为逻辑假值.F.。关系表达式可以对数值型表达式,字符型表达式、日期型表达式及逻辑型表达式进行关系比较运算。关系表达式的一般格式为:,2.3.3 表达式与运算符(7),关系运算符为:=大于或等于,、#、!=不等于,=字

15、符串相等(精确比较),$字符串包含(关系表达式右边的字符串包含左边的字符串,结果为.T.,即左边是右边的子字符串。如“grand”$”Grandfather”的结果为.f.。,2.3.3 表达式与运算符(8),各种类型数据的比较方法如下:(1)数值型,按数值大小进行比较。(2)日期(时间)型,按日期(时间)先后顺序进行比较。(3)字符型,对于单个字符是按其ASCII码值进行比较;两个字符串的比较运算,是两个字符串从左至右对应字符逐个进行比较,当比较到不同字符,将这两个字符的比较结果作为整个字符串的比较结果。若两个字符串所有对应字符都相同,则两个字符串相等。(两个字符串长度不等时如何比较?),2

16、.3.3 表达式与运算符(9),5、逻辑表达式及运算符 逻辑表达式进行逻辑运算,包括逻辑“与”、逻辑“或”、逻辑“非”运算。逻辑运算的结果仍是一个逻辑值,即.T.(真)或.F.(假)。逻辑运算符及其优先次序是:非.NOT.(!),与.AND.,或.OR.。逻辑表达式可使用括号(),优先级别最高。逻辑运算符两端的园点(.)可以省略。,2.3.3 表达式与运算符(10),逻辑运算真值表,2.3.3 表达式与运算符(11),逻辑表达式的构成:两个或两个以上的关系表达式,及逻辑型常量、变量、函数,之间用逻辑运算符连接起来,构成逻辑表达式。逻辑表达式进行运算时,先运算关系表达式,再运算逻辑表达式例:2.

17、AND.5+25 运算结果为.T.“A”B”.OR.4+3”d”运算结果为.F.“Ab”aB”.OR.NOT.“Ab”aB”运算结果为.T.。,2.3.3 表达式与运算符(12),6.名表达式 VFP很多操作对象都使用“名”,包括数据表名、字段名、文件名、内存变量名、数组名、窗口名、菜单名等。而在一些命令和函数中常要使用这些名。名用标识符表示,但在命令和函数中名不能象字符串常数那样用引号括起来。虽然名没有用引号括起来,但它不是变量,而是字符型常量形式。例如:命令 USE XSDA,是打开一个名为XSDA的数据表。,2.3.3 表达式与运算符(13),当把名以字符串形式赋值给内存变量,将存储名的

18、字符型变量用园括号括起来,就成为名表达式。在命令和函数可以直接使用名表达式,这样通过名表达式可以利用内存变量而间接引用名,为程序中使用名提供灵括性。如,FILE=”XSDA”USE(FILE)将打开名为XSDA的数据表。(注意:USE FILE 是打开名为FILE的数据表),2.3.3 表达式与运算符(14),7宏代换 借助于“宏”代换也可以用内存变量代替名。把宏代换符&紧放在字符型内存变量名前,将以字符型内存变量的值代换了该变量名。必要时宏代换应以圆点“.”作为宏代换的结束标志。例:FILE1=”XSDA”FILE2=”ZG”USE&FILE1 将打开XSDA数据表;USE&FILE2.DA

19、 将打开ZGDA数据表。,2.4 函 数,VFP函数的概念与数学中的函数概念相似。函数是系统内部预先编制好的一组程序,分别实现某些特定的运算或操作。函数的一般调用形式是:(,)下面仅介绍常函数。,2.3.1 字符处理函数(1),1测字符串长度函数 格式:LEN()功能:测定的长度,返回的数值表示字符个数。例:LEN(“ABCD”),函数值为4.2取子字符串函数 格式:BUBSTR(,)功能:从中截取子串,起始位置由决定,其长度由决定。例:SUBSTR(“ABCDEFG”,2,3),函数值为”BCD”,2.3.1 字符处理函数(2),3左端、右端取子字符串函数 格式:LEFT(,)RIGHT(,

20、)功能:从左端、右端截取子字符串,截取字符的个数由决定。4截掉空格函数 格式与功能:ALLTRIM()删除首尾空格;LTRIM()删除字符串左边空格;RTRIM()删除字符串右边空格;TRIM()功能同RTRIM()。,2.3.1 字符处理函数(3),5产生重复字符串函数 格式:REPLICATE(,)功能:得到 的重复值,重复数目由决定。例:REPLICATE(“*”,5)函数值为“*”字符串6产生空格字符函数 格式:SPACE()功能:指定生成空格的个数。7ASCII码函数格式:ASC()功能:得到最左边字符的ASCII码值例:ASC(“ABC”)的值为65。,2.3.2 数值运算函数(1

21、),1取整函数 格式:INT()功能:返回表达式值的整数部分。2最大值、最小值函数 格式:MAX(,)MIN(,)功能:返回各表达式中的最大值或最小值,表达式可以是N、C、D型表达式,但各表达式的数据类型应一致。,2.3.2 数值运算函数(2),3四舍五入函数 格式:ROUND(,)功能:对小数点后面的数字进行四舍五入;指定保留的小数位数,若为负数表示对整数部分四舍五入。平方根函数 格式:SQRT()功能:返回的平方根值。,2.3.3 日期和时间函数,系统日期函数格式:DATE(yyyy,mm,dd)功能:返回当前系统日期(无参数时),或创建符合千年格式的日期(有参数时)。系统日期时间函数格式

22、:DATETIME()功能:返回当前系统日期时间。系统时间函数格式:TIME()功能:返回当前系统时间。,2.3.4数据类型转换函数(1),数值转换成字符函数 格式:CHR()功能:将的值作为ASCII码转换成相应的字符,该函数的逆函数是 ASC()。2数值型转换成字符型函数 格式:STR(,)功能:将的值转换成字符串,指定字符串总长,指定保留的小数位数。例:Age=21?“年龄=”STR(Age,2)+”岁”显示结果:年龄=21岁,2.3.4数据类型转换函数(2),3数值转换成字符函数 格式:VAL()功能:将指定的数字字符串转换一个数值型数据,只能将左边的数字部分,转换成数值,若第一个字符

23、不是数字,将返回数值0。4大小写字符转换函数 格式:LOWER()UPPER()功能:LOWER()把的字符转换成小写字母,UPPER()把的字符转换成大写字母。,2.3.4数据类型转换函数(3),5字符转换成日期函数 格式:CTOD()功能:将日期形式的字符串转换成一个日期值,的默认格式是”MM/DD/YYYY”。6日期转换成字符函数 格式:DTOC(,1)功能:将的值转换成日期形式的字符串。如果使用可选参数1,则函数返回YYYYMMDD的格式,以适应在索引中使用。,2.3.5 测试函数,测试函数常用于程序中,测试对数据表的操作状态,以控制程序的执行。1测试数据表头函数 格式:BOF(|)功

24、能:测试当前数据表或指定数据表的记录指针,是否超过第一个记录的前面,指向表头。当指针指向表头函数值为.T.,否则当记录指针指向任意记录时,函数值为.F.。,测 试 函 数,2测试数据表尾函数 格式:EOF(|)功能:测试当前数据表或指定数据表的记录指针,是否超过末记录的后面,指向表尾。当指针指向表尾函数值为.T.,否则当记录指针指向任意记录时,函数值为.F.。3测试当前记录号函数 格式:RECNO(|)功能:测试当前数据表或指定数据表当前记录的记录号。,测 试 函 数,4测试数据表记录数函数 格式:RECCOUNT(|)功能:测试当前数据表或指定数据表的记录个数。5测试查找是否成功函数 格式:FOUND(|)功能:当用查找命令查找数据表中某记录时,该函数检测在当前数据表或指定数据表中是否找到所需要的记录。如果符合要去的记录找到返回.T.,否则返回.F.。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号