




已阅读5页,还剩40页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VisualFoxPro6.0系统概述和语言基础,第二章,.1VFP6.0的用户界面,VisualFoxPro是一个关系数据库的操作和应用程序开发的集成环境,它的用户界面的窗口外观和工作方式,与Windows及Windows的其他应用程序类同。主窗口包括:标题栏、菜单栏、普通工具栏、状态栏、命令窗口和工作区域。当进入不同的开发界面时,还会出现项目管理器窗口、表单设计窗口、菜单设计窗口、属性窗口等设计界面。关于VFP的菜单、工具栏、向导、生成器、设计器、项目管理器等,参见课本。以后结合数据库的操作及应用程序开发再作具体介绍。,2.2FoxPro的数据类型(1),和其他程序设计语言类似,VFP提供了多种数据类型,通过这些数据类型可以将各种类型的数据,保存在表、数组、变量以及其它数据表现形式中。并按照不同的数据类型对数据进行不同的运算、操作和处理。VFP的数据类型,有的只适用于数据表中的字段;有的不仅适用于字段,还适用于应用程序中的内存变量和数组。,2.2FoxPro的数据类型(2),(1)字符型(Character)字符型(C型)数据可以包含任何可显示的ASCII码字符,包括字母、数字、汉字、符号等。字符型字段变量和内存变量的数据不能超过254个字节,字符型常数用单引号,双引号,方括号括起来并定界。空格也是一个字符。(2)数值型(Numeric)数值型(N型)用于表示数量,由0-9数字、小数点、正负号及E(用于科学记数法)组成。长度不能超过20位。其中负号、小数点各占一位。(3)整型(Integer)整型(N型)表示整数,仅用于字段变量,数据占4个字节。,2.2FoxPro的数据类型(3),(4)浮点型(Float)浮点型(N型)与数值型等价,较早的FoxPro版本单独定义浮点数,表示科学计数。如,数1.2E+5表示1.2乘以10的5次方。(5)双精度型(Double)双精度型(N型)能提高数值精度,只用于字段变量,固定占用8个字节。(6)货币型(Currency)货币型(Y型)用来表示货币值,有时也用数值型数据来表示数据。系统默认的货币符号是“$”,可使用SETCURRENCY命令设置货币符号。,2.2FoxPro的数据类型(4),(7)日期型(Data)日期型(D型)用于表示日期,默认的表示形式是“mm/dd/yyyy”,yyyy表示年,占4字节,mm表示月,占2字节,dd表示日,占2字节。可用setdate命令设置。(8)日期时间型(DataTime)日期时间型(T型)数据包括日期和时间(时,分)固定占用8个字节,默认格式是“mm/dd/yyyyhh:mm:ss”。(9)逻辑型(Logical)逻辑型(L型)用于表示只有两个值的数据,其值为真(.T.)或假(.F.)。,2.2FoxPro的数据类型(5),(10)备注型(Memo)备注型(M型)只用于表中的字段,当存储的文本数据超过254个字符时采用备注型。备注型字段固定占4个字节,用来存储一个指向备注文件(.FPT)的指针。(11)通用型(General)通用型(G型)用于存储OLE对象,仅适用于表中的字段,固定占4个字节。OLE是将其它Windows应用程序所处理的对象(图表、图片等)链接或嵌入VFP表中。,2.2FoxPro的数据类型(6),(12)字符型(二进制)与字符类相似,但若代码页(不同语系代码)改变时,其值并不会随之改变,即VFP不会自动转换成相应国家的语系。(13)备注型(二进制)与字符型(二进制)一样,当代码页改变时,其值不会随之改变。,2.3VFP的数据存储与运算方式,我们将用于存储数据的常量、变量、数组、记录和对象属性等称为数据存储容器(数据容器),它们决定了数据的类型及使用方法和操作方式。数据容器是系统存储数据的存储单元。下面分别介绍常量、变量、表达式和函数。,2.3.1常量(1),常量是不变的数据。(1)字符型(C型)字符型常量是由双引号、单引号、方括号括起来的字符或字符串。例如,“ABCD”、“1234”、北京等。注意:引号和括号必须是英文字符(2)数值型(N型)数值型常量是由数字09、小数点、正负号和E(科学计数法中指数的底10)组成的数值。,2.3.1常量(2),(3)逻辑型(L型)逻辑型常量只有逻辑“真”值和逻辑“假”值两个值,用.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-ddhh:mm:ssa|p或yyyy/mm/ddhh:mm:ssa|p此外,VFP还允许在程序中为常量定义一个名称,在编译时代表该常量,定义的常量可以是任意类型的数据。例如:#definepai3.1415926取消常量定义时用undefine命令,例如取消对pai的定义要用undefinepai命令完成。,2.3.2变量(1),变量存储的数据可以变化,变量可分为字段变量和内存变量。而内存变量又可分为系统变量、普通变量和数组变量。1字段变量字段变量是数据库中表文件的某一字段名,字段变量是多值变量,它的具体值是当前记录中该字段所存放的数据。变量名可以使用字母、数字、下划线和汉字,但第一个字符必须是字母或汉字。字段变量名长度不得超过128个字符(自由表中字段变量名长度不能超过10个字符)。,2.3.2变量(2),2、内存变量内存变量的数据存储在内存存储单元中,内存变量建立后,数据一直保存,并可以改变其值,直到清除该变量。内存变量除暂存数据外,在程序中用来控制程序的执行。内存变量允许与字段变量重名,但优先访问字段变量,可以用M.或M-的形式访问重名的内存变量,如M-姓名。内存变量的数据类型包括字符型、数值型、货币型、逻辑型、日期型、日期时间型和对象型。,2.3.2变量(3),3、内存变量的定义和赋值在给内存变量赋值时,同时也定义了内存变量的数据类型,并建立该内存变量。(1)内存变量赋值语句:格式STORETO|=例:STORE123.5*4TOA,B,CNAME=“李华”,2.3.2变量(4),(2)系统内存变量系统内存变量是由VFP建立和维护的“嵌入”式的内存变量。变量名均以下划线开头,这些变量控制VFP屏幕和打印机输出格式等。(3)对象型内存变量对象是类的实例,而类则是对于拥有数据和一定行为特征的对象集合的描述。对象型内存变量主要在程序中用来定义和存取对象信息。,2.3.2变量(5),(4)内存变量的显示语句格式DISPLAYMEMORY(分屏显示)LISTMEMORY(连续显示)(5)内存变量的删除语句格式RELEASERELEASEALLLIKE|EXCEPT,2.3.2变量(6),(6)内存变量存储到文件中可以将内存变量及值存储到文件中,文件扩展名默认为.MEM;还可以从内存变量文件中读取内存变量到内存中。语句格式SAVETOSAVETOALLLIKE|EXCEPTRESTOREFROMADDITIVE,2.3.3表达式与运算符(1),常量、变量、函数通过运算符连接起来构成表达式。表达式在语句中通过运算或操作会产生表达式的值,语句再对表达式值进行相应的数据处理。表达式一般都含有若干项,但是常量、变量和函数单独可以作为表达式在语句中使用。根据表达式中的数据类型和运算符的运算意义,VFP中的表达式有算术表达式、字符表达式、日期表达式、关系表达式、逻辑表达式和名表达式。,2.3.3表达式与运算符(2),1算术表达式及运算符数值表达式通过算术运算符,对数值型数据进行数值运算,其结果是数值型数据。算术运算符及优先级顺序:()括号,优先运算;*或乘方,例:3*2或32*、/乘、除%取模(余数),例:15%4结果是3+、-加、减(单目运算为“+”、“-”号),2.3.3表达式与运算符(3),2字符表达式及运算符字符表达式对字符型数据进行操作,其值为字符串。字符运算符有两个:+:字符串连接操作,将几个字符串连接成一个新字符串。例:”ABCD”+”EFGH”+”1234”连接结果为:”ABCDEFGH1234”-:串尾空格移位连接操作,将第一个字符串尾部空格移到后面一个字符串末尾后,连接成一个新字符串。例:”山东“经济学院”+“会计系”连接结果为:“山东经济学院会计系”,2.3.3表达式与运算符(4),3日期及日期时间型表达式及运算符对日期及日期时间进行日期和时间的运算。日期及时间运算符有“+”和“-”日期及日期时间型表达式的运算有三种情况:(1)两个日期(时间)型数据相减,结果是表示天数的数值型数据。例:2000-10-012000-09-01结果为30,表示两个日期相距30天。,2.3.3表达式与运算符(5),(2)一个日期(时间)型数据加一个表示天数的数值型数据,结果是一个向后推算的日期(时间)型数据。例:2000-09-01+60结果为2000-10-31(3)一个日期(时间)型数据减一个表示天数的数值型数据,结果是一个向前推算的日期(时间)型数据。例:2000-09-0130结果为2000-08-02,2.3.3表达式与运算符(6),4关系表达式及运算符关系表达式对同一类型的数据进行比较运算,比较的结果符合逻辑,则关系成立,其值为逻辑真值.T.;比较的结果不符合逻辑,关系不成立,结果为逻辑假值.F.。关系表达式可以对数值型表达式,字符型表达式、日期型表达式及逻辑型表达式进行关系比较运算。关系表达式的一般格式为:,2.3.3表达式与运算符(7),关系运算符为:=大于或等于,、#、!=不等于,=字符串相等(精确比较),$字符串包含(关系表达式右边的字符串包含左边的字符串,结果为.T.,即左边是右边的子字符串。如“grand”$”Grandfather”的结果为.f.。,2.3.3表达式与运算符(8),各种类型数据的比较方法如下:(1)数值型,按数值大小进行比较。(2)日期(时间)型,按日期(时间)先后顺序进行比较。(3)字符型,对于单个字符是按其ASCII码值进行比较;两个字符串的比较运算,是两个字符串从左至右对应字符逐个进行比较,当比较到不同字符,将这两个字符的比较结果作为整个字符串的比较结果。若两个字符串所有对应字符都相同,则两个字符串相等。(两个字符串长度不等时如何比较?),2.3.3表达式与运算符(9),5、逻辑表达式及运算符逻辑表达式进行逻辑运算,包括逻辑“与”、逻辑“或”、逻辑“非”运算。逻辑运算的结果仍是一个逻辑值,即.T.(真)或.F.(假)。逻辑运算符及其优先次序是:非.NOT.(!),与.AND.,或.OR.。逻辑表达式可使用括号(),优先级别最高。逻辑运算符两端的园点(.)可以省略。,2.3.3表达式与运算符(10),逻辑运算真值表,2.3.3表达式与运算符(11),逻辑表达式的构成:两个或两个以上的关系表达式,及逻辑型常量、变量、函数,之间用逻辑运算符连接起来,构成逻辑表达式。逻辑表达式进行运算时,先运算关系表达式,再运算逻辑表达式例:2.AND.5+25运算结果为.T.“A”B”.OR.4+3”d”运算结果为.F.“Ab”aB”.OR.NOT.“Ab”aB”运算结果为.T.。,2.3.3表达式与运算符(12),6.名表达式VFP很多操作对象都使用“名”,包括数据表名、字段名、文件名、内存变量名、数组名、窗口名、菜单名等。而在一些命令和函数中常要使用这些名。名用标识符表示,但在命令和函数中名不能象字符串常数那样用引号括起来。虽然名没有用引号括起来,但它不是变量,而是字符型常量形式。例如:命令USEXSDA,是打开一个名为XSDA的数据表。,2.3.3表达式与运算符(13),当把名以字符串形式赋值给内存变量,将存储名的字符型变量用园括号括起来,就成为名表达式。在命令和函数可以直接使用名表达式,这样通过名表达式可以利用内存变量而间接引用名,为程序中使用名提供灵括性。如,FILE=”XSDA”USE(FILE)将打开名为XSDA的数据表。(注意:USEFILE是打开名为FILE的数据表),2.3.3表达式与运算符(14),7宏代换借助于“宏”代换也可以用内存变量代替名。把宏代换符&紧放在字符型内存变量名前,将以字符型内存变量的值代换了该变量名。必要时宏代换应以圆点“.”作为宏代换的结束标志。例:FILE1=”XSDA”FILE2=”ZG”USE&FILE1将打开XSDA数据表;USE&FILE2.DA将打开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(,)功能:从左端、右端截取子字符串,截取字符的个数由决定。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),1取整函数格式:INT()功能:返回表达式值的整数部分。2最大值、最小值函数格式:MAX(,)MIN(,)功能:返回各表达式中的最大值或最小值,表达式可以是N、C、D型表达式,但各表达式的数据类型应一致。,2.3.2数值运算函数(2),3四舍五入函数格式:ROUND(,)功能:对小数点后面的数字进行四舍五入;指定保留的小数位数,若为负数表示对整数部分四舍五入。平方根函数格式:SQRT()功能:返回的平方根值。,2.3.3日期和时间函数,系统日期函数格式:DATE(yyyy,mm,dd)功能:返回当前系统日期(无参数时),或创建符合千年格式的日期(有参数时)。系统日期时间函数格式:DATETIME()功能:返回当前系统日期时间。系统时间函数格式:TIME()功能:返回当前系统时间。,2.3.4数据类型转换函数(1),数值转换成字符函数格式:CHR()功能:将的值作为ASCII码转换成相应的字符,该函数的逆函数是ASC()。2数值型转换成字符型函数格式:STR(,)功能:将的值转换成字符串,指定字符串总长,指定保留的小数位数。例:Age=21?“年龄=”STR(Age,2)+”岁”显示结果:年龄=21岁,2.3.4数据类型转换函数(2),3数值转换成字符函数格式:VAL()功
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 投资者关系管理与财务沟通
- 技术创新与公共服务领域的结合点
- 提升物业保洁工作效率的方法
- 教育新技术3D打印技术的创新应用
- 持续创新的企业品牌发展模式
- 技术创新与市场竞争力提升之道
- 拼多多的国际市场定位与战略选择
- 西双版纳职业技术学院《音乐理论》2023-2024学年第一学期期末试卷
- 吕梁学院《麻醉拔牙及齿槽外科学》2023-2024学年第一学期期末试卷
- 鄂州职业大学《生理学实践学识》2023-2024学年第一学期期末试卷
- 信息系统的使用与维护管理制度
- 常州保安证考试题及答案
- 《合理用药安全教育》课件
- 稽留流产治疗
- NES-3000 ECDIS电子海图显示与信息系统操作手册
- 2025年上半年内蒙古包头市市直事业单位招考易考易错模拟试题(共500题)试卷后附参考答案
- 雪亮工程可行性研究报告
- 2025年度人工智能产业投资基金入股协议4篇
- 聚脲涂料施工方案
- T-CCIASD 10012-2024 ISO 标准集装箱用水性涂料
- 激越管理的22项建议(精神科患者激越的评估和管理)
评论
0/150
提交评论