欢迎来到装配图网! | 帮助中心 装配图网zhuangpeitu.com!
装配图网
ImageVerifierCode 换一换
首页 装配图网 > 资源分类 > PPT文档下载
 

VisualFoxPro6.0基础.ppt

  • 资源ID:12806505       资源大小:2.65MB        全文页数:145页
  • 资源格式: PPT        下载积分:14.9积分
快捷下载 游客一键下载
会员登录下载
微信登录下载
三方登录下载: 微信开放平台登录 支付宝登录   QQ登录   微博登录  
二维码
微信扫一扫登录
下载资源需要14.9积分
邮箱/手机:
温馨提示:
用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

VisualFoxPro6.0基础.ppt

第二章VisualFoxPro6.0基础,本章主要内容2.1VisualFoxPro概述2.2VFP6.0的数据类型2.3VFP6.0的常量与变量2.4运算符与表达式2.5常用标准函数,2.1VisualFoxPro概述,微机关系数据库系统的发展VisualFoxPro6.0的功能与性能指标VFP6.0的运行环境、安装、启动与退出中文VFP开发环境简介VFP项目管理器VFP向导、设计器与生成器,2.1.1微机关系数据库系统的发展,发展总过程:DBaseFoxbaseFoxproVisualFoxproDbase:AshtonTate公司(80年代初期)Foxbase:Fox公司(1986)Foxpro1.0:Fox公司(1989)1992年Fox公司被微软收购Foxpro2.5:微软(1993)VisualFoxpro3.0:微软(1995)VisualFoxpro6.0:微软(1998)VisualFoxpro9.0:微软(2005),2.1.2VFP6.0的功能与性能指标,一、VFP主要功能(1)快速创建应用程序(通过向导、生成器、工具栏和设计器)(2)功能更为强大(支持面向过程和面向对象编程)(3)开发客户机/服务器模式(C/S)的应用(4)与其他应用程序的数据共享(5)灵活方便的调试手段(程序调试器),二、VFP的主要性能指标,2.1.3VFP6.0的运行环境、安装、启动与退出,一、运行环境操作系统:Windows95/98(中文版)或WindowsNT4.0(中文版)或更高版本浏览器:IE4.0或更高版本CPU:8048666MHz以上内存:16M以上硬盘:典型安装85MB,最大安装90MB其他:鼠标和光驱等,2.1.3VFP6.0的运行环境、安装、启动与退出,二、安装将VFP6.0安装盘CD-ROM放入光驱找到序列号文件(若需要)找到setup.exe,双击安装安装过程根据提示选择或选择下一步,直到完成。,2.1.3VFP6.0的运行环境、安装、启动与退出,三、启动方法一:“开始”“所有程序”“MicrosoftVisualFoxPro6.0”方法二:双击桌面上的快捷方式(如果有)方法三:单击任务栏中的快捷方式(如果有),2.1.3VFP6.0的运行环境、安装、启动与退出,四、退出方法一:从“文件”下拉菜单中选择“退出”选项。方法二:用鼠标单击VFP系统窗口右上角的“”关闭窗口图标。方法三:在VFP的命令窗口中键入Quit命令,再按Enter键。方法四:单击VFP主窗口左上方的狐狸图标,从弹出的下拉菜单中选择“关闭”,或按Alt+F4组合键。,2.1.4中文VFP开发环境简介,一、VisualFoxPro6.0窗口,标题栏,菜单栏,常用工具栏,工作区,状态栏,命令窗口,调色板工具栏,布局工具栏,命令窗口的显示/隐藏,2.1.4中文VFP开发环境简介,二、VFP环境配置对VFP运行环境进行配置,包括主窗口标题、默认目录、项目、编辑器、调试器及表单工具选项、临时文件存储位置等.,配置,临时配置(SET命令,退出VFP6.0时从内存中释放),永久配置(修改配置文件(.FPW)和Foxuser.dbf文件,每次启动VFP6.0时自动装载),2.1.4中文VFP开发环境简介,1、VFP配置文件是一个文本文件(.FPW,默认Config.fpw)作用:VFP启动时会自动查找配置文件,并根据该配置文件进行环境设定内容:通过SET命令指定配置信息,语句格式:=其中可以包括如下几种:SET命令对象;系统变量;COMMAND关键字。用以指定启动时的执行命令或要调用的函数;只有在配置文件中使用的关键字。,2.1.4中文VFP开发环境简介,1、VFP配置文件例子:用编辑软件建立配置文件MYAPP.FPW,包括如下语句:TALK=OFF&&关闭了VFP的交互会话特性_SCREEN.Caption="人事管理系统"&&VFP应用系统主窗口的标题设为“人事管理系统”MVCOUNT=2048&&设置VFP中变量的最大数目是2048COMMAND=DOMyapp.APP&&在VisualFoxPro启动时执行Myapp.APP。注意:COMMAND命令只能用于配置文件的最后一行。,2.1.4中文VFP开发环境简介,2、VFP资源文件(Foxuser.dbf)由VFP维护的一个数据表文件它保存了VFP退出时的状态该文件记录了命令窗口的位置及大小、当前键盘宏、显示哪些工具栏等。用户可以在应用程序需要时读取甚至更改该资源文件。,2.1.4中文VFP开发环境简介,三、通过“选项”对话框设置环境位置:“工具”菜单下的“选项”对话框,2.1.4中文VFP开发环境简介,1、设置日期和时间格式区域选项卡,年月日、月日年、日月年等,/-.等,年份是两位还是四位,时间是12还是24小时制,时间是否显示秒数,2.1.4中文VFP开发环境简介,2、设置货币符号和数字格式-区域选项卡,设定运算中小数位数,设定货币符号,货币符号在数字前还是后,设定千位分隔符号,2.1.4中文VFP开发环境简介,3、设置默认工作目录-文件位置选项卡作用:将自己的文件保存在设定的默认目录中,临时设置,永久设置,2.1.4中文VFP开发环境简介,注1:大多数选项都可以通过SET命令进行设置如:设置日期分隔符等同于命令:SETMARKTO日期分隔设置默认目录等同于命令:SETDEFAULTTO文件路径注2:SET命令设置与选项对话框的相应取值同步变化注3:通过SET命令修改环境变量只在当前工作期有效,属于临时设置。,2.1.4中文VFP开发环境简介,四、VFP的三种工作方式(1)菜单工作方式:选择需要的菜单(2)命令工作方式:在命令窗口中输入命令(3)程序工作方式:编写程序文件,2.1.4中文VFP开发环境简介,五、VFP命令的格式(1)语法书写规则必须以一个命令动词开头,大小写字母等效。命令动词和子句中的短语可用其前四个或四个以上字符的缩写表示一个命令行的最大长度不能超过254个字符。如果一个命令太长,一行写不下,可以使用续行符“;”所有命令,一律在英文输入状态下进行。标点符号均用英文,否则系统提示:“命令中含有不能识别的短语或关键字”。,汉字的全角半角的分别,在使用英文输入法时,电脑屏幕上,一个英文字符(如“a”)所占的位置,人们称其为“半角”,而一个汉字所占的位置则等于两个英文字符,故称其为“全角”。,2.1.4中文VFP开发环境简介,六、VFP的系统帮助获得帮助的前提:安装了MSDN后获得帮助的方法:单击主菜单的“帮助”菜单下的“MicrosoftVisualFoxpro帮助主题”项,或者按功能键F1,就会出现MSDN帮助窗口。,2.1.4中文VFP开发环境简介,选择“目录”选项卡,左窗口选主题,右窗口显示相应的信息,2.1.4中文VFP开发环境简介,从“索引”选项卡的文本框中输入键入要查找内容的关键字,2.1.5VFP项目管理器,项目管理器是一个项目集成管理的工具项目管理器的主要功能是建立、打开项目以及维护各类文件,包括建立、新增、删除、修改、浏览及执行文件等工作,2.1.5VFP项目管理器,1项目的建立-菜单法第一步:“文件”菜单“新建”,启动“新建”对话框,或单击工具栏中的“新建”图标,系统将弹出“新建”对话框选择“项目”选项。然后单击“新建文件”按钮,2.1.5VFP项目管理器,第二步:在弹出的“新建”对话模式中确定存放项目文件的路径,输入项目名称,单击“保存”按钮,2.1.5VFP项目管理器,建立一项目文件后,VFP会在磁盘上产生两个相关的文件:一个是扩展名为.PJX的文件,此为项目文件,保存应用系统所包含各类文件的相关信息另一个是扩展名为.PJT的文件,此为项目说明文件,保存项目文件的备注数据,2.1.5VFP项目管理器,1项目的建立-向导法第一步:从“文件”菜单中,选择“新建”按钮,启动“新建”对话框,选择“项目”选项。然后单击“向导”按钮,2.1.5VFP项目管理器,1项目的建立-命令法在命令窗口中直接输入命令CREATEPROJECT,2.1.5VFP项目管理器,2打开一个已存在的项目方法一:“文件”菜单“打开”选择项目名“确定”方法二:单击工具栏里“打开”图标选择项目名“确定”,2.1.5VFP项目管理器,3项目管理器的窗口操作(1)移动位置或改变大小:拖动窗口标题可移动窗口位置,把鼠标移动到窗口边线可调整窗口大小。(2)设置窗口位置:一般项目管理器窗口是以浮动模式设置的,若拖动标题栏到系统工具栏下方,可以将项目管理器窗口放到工具栏上,若想还原,点击选项卡空白处,拖动到其他位置即可。,2.1.5VFP项目管理器,3项目管理器的窗口操作(3)设置折叠模式:单击右上方的折叠按钮(向上箭头),此窗口将折叠,向上箭头变成向下箭头。此时,单击任一选项卡,会自动在其下方列出相关文件的信息,再单击一次选项卡将消失。要还原为正常模式,单击右上方的向下箭头即可。,2.1.5VFP项目管理器,3项目管理器的窗口操作(4)拖下选项卡:,2.1.5VFP项目管理器,3项目管理器的窗口操作(5)钉住浮动选项卡:(6)折叠和展开,2.1.5VFP项目管理器,“全部”、“数据”、“文档”、“类”、“代码”和“其他”六个选项卡,六个命令按钮,4.项目管理器的组成,2.1.5VFP项目管理器,4.项目管理器的组成-选项卡“全部”选项卡:该选项卡把“数据”、“文档”、“类”、“代码”和“其他”等五个选项卡的内容全部集中于此,它列出的文件是打开的项目文件中的所有文件。“数据”选项卡:该选项卡主要用于显示和管理数据文件。包含的数据文件有:数据库、自由表、查询、连接、存储过程文件等。“文档”选项卡:该选项卡主要用于显示和管理文档。它包含了数据处理所需要的文档,用于输入和查看数据的表单、打印报表和标签等。,2.1.5VFP项目管理器,4.项目管理器的组成选项卡“类”选项卡:该选项卡主要用于显示和管理类库文件。在Windows中常见的控制对象包括文本输入编辑框、命令按钮、列表框、复选框等,在VisualFoxPro中允许我们把某些控制对象加以修改或组合,成为一个新的类放在文件中,这样便可以在界面文件中重复使用它了,这些类是放在类库中。“代码”选项卡:该选项卡主要用于显示和管理VisualFoxPro各种类型的程序代码,包括三种程序:程序、API库和应用程序。“其他”选项卡:该选项卡主要用于管理菜单文件、文本文件和其他文件,如BMP图形文件,2.1.5VFP项目管理器,4.项目管理器的组成-命令按钮“新建”按钮:“添加”按钮:“修改”按钮:,2.1.5VFP项目管理器,4.项目管理器的组成-命令按钮“运行”按钮:“移去”按钮:,2.1.5VFP项目管理器,4.项目管理器的组成-命令按钮“连编”按钮:重新构造一个项目,也可以构造一个可执行文件。,2.1.5VFP项目管理器,5项目管理器的功能(1)项目文件的管理:包括文件的新建、添加、移去(或删除)、重命名等工作。(2)文件的运行与修改:对于选中的可执行文件,在项目管理器中可以直接运行,也可以将它在相应的窗口中打开予以修改,或者进行浏览、预览等工作。,2.1.5VFP项目管理器,5项目管理器的功能(3)程序调试和项目连编:项目管理器提供了完整的程序调试环境,可以对项目中的程序、表单等进行调试,排错和试运行。也可以对整个项目实施连编,形成可直接执行的应用程序,甚至形成可脱离VFP环境直接在Windows下运行的EXE程序。(4)对各种资源的管理:对项目中所用到的各种资源,如图片文件、图标文件、各种音频视频文件、所用到的各种类库文件等,可以自动或者人工注册到项目管理器中统一管理,以利于这些资源的有效利用,对于将来应用程序的发布也非常有利。,2.1.6VFP向导、设计器与生成器,1设计器(Designers)作为管理数据的工具,VFP中的设计器能够使用户轻松地创建高效的表、表单、数据库、查询、视图和报表等;还可以把用设计器创建的上述各项加进应用程序中。利用“文件”菜单中的“新建”命令,在弹出的对话框中选择“新建文件”按钮,同样可以使用VFP的设计器。,2.1.6VFP向导、设计器与生成器,2向导向导是一种交互式的实用程序,集简捷的操作和完善的功能于一体,能逐步帮助用户快速完成日常任务,例如创建表单、编排报表的格式,以及建立查询。在用户使用“项目管理器”或从“文件”菜单创建某种类型的新文件时,用户可选择使用“向导”按钮来帮助创建该文件,也可从“工具”、“向导”弹出的子菜单中直接选择某种向导。对于用向导创建的文件,用户可在适当的设计器中打开它们以作进一步的修改。,2.1.6VFP向导、设计器与生成器,3生成器VFP6.0生成器是一个方便易用的工具,它简化了创建和修改表单、控件及数据库完整性约束等工作。每一个生成器都由一系列选项卡组成,它们允许用户访问并设置所选对象的属性。如同VFP向导一样,生成器也是简便、快捷、有效的。生成器根据用户对其问题的回答,自动地设置控件属性、生成表达式等。,2.2VFP6.0的数据类型,VFP提供了多种数据类型,这些数据类型可分为两大类:一类只适用于数据表中的字段另一类则不仅适用于字段,还适用于程序设计中要用到的内存变量和数组等。,2.2VFP6.0的数据类型,(1)字符型(Character)字符型(C型)数据可以包含任何可显示的字符、汉字和符号。在程序编制过程中,如果需要定义包含字母、数字、空格、符号和标点的变量时,如职工的姓名、电话号码和邮政编码时,一般以字符型数据类型表示。每个字符占用一个字节,每个汉字占用两个字节,字符型字段或变量的数据长度不能超过254个字节。,ASCII表,2.2VFP6.0的数据类型,(3)整型(Integer)整型(N型)用于对整数类数值的表示,仅适用于字段的定义。整型数据占用4个字节,而且是用二进制形式表示的因此其取值介于-2147483647(即-231+1)到2147483647(即231-1)之间。因此比数值型数据占用的空间要少得多。,2.2VFP6.0的数据类型,(2)数值型(Numeric)数值型(N型)用于表示数量,是由数字符号09以及小数点和正负号及E组成。其中负号、小数点各占一位。N型值的取值范围在-0.9999999999E+19到+0.9999999999E+20之间。常用来存储成绩、工资、人数等。数值型固定占用8个字节,2.2VFP6.0的数据类型,(4)浮点型(Float)浮点型(N型)与数值型是完全等价的。它的设置主要考虑到FoxPro各版本的兼容处理。(5)双精度型(Double)双精度型(N型)能够提供更高的数值精度。Double型只用于字段的定义,固定占用8个字节(固定存储长度的浮点数表示)。Double型不同于数值型,其小数点位置由输入的数据值来决定。,2.2VFP6.0的数据类型,(6)货币型(Currency)在VFP6.0中,一般使用货币型(Y型)数据表示货币,而不是使用数值型。系统默认的货币符号是“”,用户可以通过“SetCurrency”语句设置货币符号。,2.2VFP6.0的数据类型,(7)日期型(Date)日期型(D型)数据主要用于表示没有时间显示的日期值。日期型数据的存储格式为“yyyymmdd”,其中yyyy表示年,占4个字节,mm表示月,占2个字节,dd表示日,占用2个字节。日期格式和范围由“SetDate”、“SetMarkto”和“SetCentury”命令确定。为了解决Y2K问题,VFP6.0还提供了“严格日期”格式,在这种格式下,日期型数据的有效范围为公元元年3月1日到公元9999年12月31日。,2.2VFP6.0的数据类型,(8)日期时间型(DateTime)日期时间型(T型)数据可以表示既包含时间又包含日期的数据,也可以表示只包含日期或只包含时间的数据,如果只包含了时间,系统将1899年12月30日作为默认日期,如果只包含了日期,系统将午夜12点作为默认时间。时间格式可以由“SetHours”、“SetSeconds”命令确定。同日期型一样,日期时间型固定占用8个字节存储。,2.2VFP6.0的数据类型,(9)逻辑型(Logical)逻辑型(L型)用于存储只有两个值的数据,是一种高效的存储方法,存入的值为真(.T.)和假(.F.)两种状态。逻辑型变量多用于程序分支设置。,2.2VFP6.0的数据类型,(10)备注型(Memo)备注型(M型)只适用于表中的字段,存储时,备注字段固定为4个字节,用来表示一个指向存储备注文件(.FPT)内容的指针。而实际的备注内容的多少只受限于内存可用空间。VFP的备注可以包含任意的数据,只要适用于字符串的所有内容都可以写入备注中。一般来说,表中的备注型字段多用来存放简历、注释等内容。,2.2VFP6.0的数据类型,(11)通用型(General)通用型(G型)用于存储OLE对象,仅适用于表中的字段。固定存储空间为4个字节。一个OLE对象的具体内容可以是一个电子表、一个字处理文档、一幅图片等,,2.2VFP6.0的数据类型,(12)对象型(Object)对象型(O型)用于存储OLE对象,仅适用于内存变量。与通用型字段相对应。(13)字符型(二进制)与字符类型相似,但若代码页改变时,其值并不会随之改变,而字符类型的数据则会改变。所谓代码页是指各国因为语系不同,必须使用不同的代码,当换成另一个代码时,VFP会自动转换成相应的语系,因此不需担心语系不同的问题,而二进制字符类型的数据并不随着代码页的改变而改变。(14)备注型(二进制)与字符类型(二进制)一样,当代码页改变时,其值不会随之改变。,2.3VFP6.0的常量与变量,2.3.1常量2.3.2内存变量2.3.3数组2.3.4字段变量,2.3.1常量,常量是程序运行过程中保持不变的数据。1.字符型字符型常量是由双引号、单引号或方括号括起的字符。如,"ABC"、1234、王小二等。2.数值型数值型常量是由数字09、小数点、正负号和E(科学计数法中指数的底10)组成的。例如128、0.234、-123.34、1.2E+5等都是数值型常量。其中1.2E+5是1.2105在VFP中的表示方法。,2.3.1常量,3.逻辑型逻辑型常量只有真和假两个值,通常用.T.或.Y.表示真,用.F.或.N.表示假,字母两侧的小圆点(用小数点表示)不能省略,字母大小写通用。4.货币型货币型常量是以“”作为前缀的数值,如12.35、1234.5678。,2.3.1常量,5.日期型日期型常量是用大括号按一定格式括起的符合日期规定的常量日期型及日期时间型数据的正确格式为yyyy-mm-ddhh:mm:ssa|p例如1999-11-23、/均是符合语法的日期型常量,其中后三个均表示值为空的日期型常量。6.日期时间型日期时间型常量也是用大括号定义,如1999-11-235:12:00P可以用“/:”符号表示值为空的日期时间型常量。日期时间型数据00:00:00AM与12:00:00AM相同,表示午夜,00:00:00PM和12:00:00PM相同,表示中午。,2.3.2内存变量,内存变量是在内存中开辟的存放数据的临时工作单元,它独立于数据表而存在。内存变量名的命名规则是:由字母、汉字或下划线开头,后跟字母、数字或下划线等,但总长度不超过254个字符。注意:内存变量名不要使用系统的保留字(系统中含有特定意义的文字,如命令、函数名等)。,2.3.2内存变量,1简单变量的定义和赋值给简单变量赋值不需要事先定义,常用的命令有“”和“Store命令”。【格式一】内存变量名表达式【格式二】STORE表达式TO内存变量名表【功能】格式一只能将表达式的值赋给一个内存变量,格式二则可以将表达式的值分别赋给若干个内存变量,各内存变量之间用逗号分开。,2.3.2内存变量,【例2-1】在命令窗口中执行如下赋值命令STORE0TOa1,a2,a3&&a1、a2、a3的值均为0s=3*52&&此时s的值为75,数据类型为数值型s=s+10&&此时s的值为85,可见“=”不同于等号s="1234"&&此时s的值为"1234",数据类型为字符型,2.3.2内存变量,4变量的输出VFP提供的输出命令很多,这里只介绍基本输出命令?和?的使用。【格式一】?,【格式二】?,【功能】先计算表达式的值,再显示各值。格式一从下一行的第一列起显示,格式二则不换行显示。,2.3.2内存变量,2内存变量的显示【格式】LIST|DISPLAYMEMORYLIKETOPRINTERPROMPT|TOFILE【功能】显示当前已定义的内存变量名、作用范围、类型和值。说明:LIKE子句表示将选出与通配符相匹配的内存变量,有?和*两种,前者代表单个字符,后者代表一个或多个字符。,2.3.2内存变量,例如,若要显示例2-1中建立的内存变量,执行命令LISTMEMORYLIKE?主窗口中显示下列内容:SPubC“1234”A1PubN85(85.00000000)A2PubN85(85.00000000)A3PubN85(85.00000000),2.3.2内存变量,【格式】LIST|DISPLAYMEMORYLIKETOPRINTERPROMPT|TOFILE说明(续):选项TOPRINTER能将屏幕显示内容输出到打印机,使用PROMPT则能提供是否打印的提示窗口。选项TOFILE能将显示内容存入文件,文件的扩展名为.txt。LIST和DISPLAY的不同之处在于:当变量较多,一屏显示不下时,前者将滚屏显示,后者则可以分屏显示,按任意键后才能显示下一屏。,2.3.2内存变量,3内存变量的清除【格式一】CLEARMEMORY【格式二】RELEASEALLEXTENDED【格式三】RELEASEALLLIKE|EXCEPT【功能】从内存清除指定的内存变量。说明:格式一清除所有内存变量,格式二在人机会话状态下的作用与格式一相同,如果出现在程序中,则应该加上短语EXTENDED,否则不能清除公共内存变量。格式三中,LIKE短语用于清除与通配符相匹配的内存变量,EXCEPT短语用于清除与通配符不相匹配的内存变量。,2.3.2内存变量,例:RELEASEa1,a3&&清除内存变量a1和a3RELEASEALLLIKEA*&&清除所有首字母为A的内存变量RELEASEALLEXCEPT?b*&&清除除第二个字符为B以外的所有内存变量,2.3.3数组,数组是指一组有序数据的集合。,2.3.3数组,1数组变量的定义用一个数组名标识这一组数据,数值表达式表示有序数据的个数【格式】DECLARE|DIMENSION(,)【功能】用来定义一个或多个一维或二维数组变量。,DECLARE()DIMENSION()DECLARE(,)DECLARE(,),(),2.3.3数组,说明:命令动词DECLARE和DIMENSION的功能相同,二者只需选择其中之一。数组名的命名同简单变量。数组的维数由数值表达式个数决定,若是一维数组,则只须一个数值表达式说明。一维数组的最大下标由数值表达式决定,二维数组由数值表达式和数值表达式决定,其中前者表示行数,后者表示列数,共有行数列数个元素。表示维数可以用圆括号,也可以用方括号VFP系统只允许使用一维数组及二维数组。,2.3.3数组,定义数组举例:DECLAREam(20),bm(10,3),cm2,5DIMENSIONdm(12),2.3.3数组,每个数组元素存放一个数据(可以不同类型)例如:Declarea(8)a(1)=“04003”,a(2)=“数学系”,a(3)=“张小三”,a(4)=“女”,a(5)=1972.01.12,a(6)=“硕士”,a(7)=“教师”,a(8)=.F.在这一组数据中,数组名是a,共有8个数组元素,存放了一个人的基本信息。,2.3.3数组,2数组元素的表示方法为了标识各个数组元素,每个数组元素都用一个下标来表示。VFP提供了下标法和序号法访问数组元素。(1)一维数组元素的表示方法一维数组元素按其下标排列。例如数组a(4),其各元素的下标是:a(1)、a(2)、a(3)、a(4)。,2.3.3数组,(2)二维数组各元素的表示方法下标法:用行号和列号标识各元素。例如,若定义了数组D(3,3),则D(3,2)表示数组D中第3行第2列的元素。序号法:同一维数组一样,二维数组也可以按其下标大小排列。,(a)下标法(b)序号法,2.3.3数组,3数组元素的赋值数组被定义了以后,系统为每一个数组元素赋了一个初值为.F.。若要改变数组元素的值,也可以使用赋值语句。可以给整个数组的各个元素赋同一个值(必须对数组名赋值),也可以给每一个元素赋不同的值(必须指定该元素的下标)。,2.3.3数组,【例2-2】将数组ab的各元素都初始化为0,将数组ba的两个元素分别赋3和4。DECLAREab(3,3),ba(2)STORE0TOab&&或ab=0Ba(1)=3&&注意一行只能有一个赋值语句Ba(2)="FoxPro"&&数组各个元素的数据类型可以不同,2.3.3数组,数组是指一组有序数据的集合。用一个数组名标识这一组数据,而用下标来指示数组中元素的序号。例如:a(1)=“04003”,a(2)=“数学系”,a(3)=“张小三”,a(4)=“女”,a(5)=1972.01.12,a(6)=“硕士”,a(7)=“教师”,a(8)=.F.在这一组数据中,数组名是a,共有8个数组元素,每一个元素存放一个数据(可以不同类型),数组a存放了一个人的基本信息。,2.3.4字段变量,字段变量(又称字段名变量)是指数据库表文件中的某一字段,它的具体值是当前记录中该字段存放的数据。字段变量名可以使用字母、数字、下划线和汉字,但第一个字母必须是字母或汉字。在变量名中字母不区分大小写。例如name和NAME是同一个变量。字段变量的数据类型与该字段定义的类型一致,使用字段变量首先要有数据表并处于打开状态。,2.3.4字段变量,注意,内存变量名最好不要与当前区当前打开的数据表字段变量同名。如果同名,系统将默认字段变量,若特指内存变量,可加上前缀“M->”或加“M.”表示内存变量名,以免冲突,例如“M->姓名”或“M.姓名”,2.3.4字段变量,【例2-3】内存变量和字段变量的访问。现有表文件“学生.dbf”,其结构如下:学生(学号C(6),姓名C(6),性别C(2),通过在命令窗口中输入如下命令来区别内存变量和字段变量的使用。USE学生&&打开表文件学生.dbfLIST&&显示表文件学生.dbf的内容记录号学号姓名性别1990001王晓东男2990002李子清男3990003赵小芳女4990004何桦君女GO1&&将表记录指针移动到第一条记录上姓名=“刘远征”&&定义与字段变量同名的内存变量“姓名”,并赋值为“刘远征”?姓名,M.姓名&&显示同名的字段变量和内存变量“姓名”的值&&显示结果为:王晓东刘远征,2.4运算符与表达式,VFP中的变量(包括字段变量、内存变量)、数组元素、常量、函数以及通过运算符将它们组合而成的有意义的式子,就是表达式。每个表达式都有一定的数据类型,VFP中的表达式主要有算术表达式、字符表达式、日期时间表达式、逻辑表达式和关系表达式。,2.4运算符与表达式,2.4.1算术运算符及表达式2.4.2字符串运算符及表达式2.4.3日期时间运算符及表达式2.4.4关系运算符及表达式2.4.5逻辑运算符及表达式2.4.6宏替换,2.4.1算术运算符及表达式,算术表达式又称为数值表达式,是由算术运算符将数值型的常量、变量和函数连接起来形成的表达式,其运算结果是数值型数据。,2.4.1算术运算符及表达式,算术运算符的优先级如表从高到底排列,同一级别的运算符按自左向右相结合的顺序运算。求余运算和MOD()函数的作用相同,其结果的正负号与除数一致。例如,求下列表达式的值:?15%4,15%-4,-15%-4,-15%4结果是:3-1-31,2.4.2字符串运算符及表达式,字符表达式是由字符串运算符将字符型数据连接起来形成的表达式,其运算结果为字符型数据。字符串运算符及其含义如下表所示。,注:字符串运算符的优先级相同,2.4.3日期时间运算符及表达式,日期时间运算符是对日期或日期时间型数据进行运算的运算符。日期时间运算符也有两个:“+”和“-”,它们的运算优先级相同,但与字符串运算符的含义不同,如下表所示。,2.4.3日期时间运算符及表达式,2.4.3日期时间运算符及表达式,几种运算规则:日期型数据与数值N相加的结果是N天后的日期日期型数据与数值N相减的结果是N天前的日期两个日期型数据相减的结果是相差的天数。日期时间型数据与数值N相加的结果是N秒后的日期时间日期时间型数据与数值N相减结果为N秒前的日期时间。,2.4.4关系运算符及表达式,关系表达式也称为简单逻辑表达式,它是由关系运算符将两个运算对象连接起来形成的表达式,其运算结果为逻辑型数据。关系运算符的优先级相同,其含义如下表所示。,2.4.4关系运算符及表达式,2.4.4关系运算符及表达式,说明:(1)除日期型和日期时间型数据、数值型和货币型数据可以比较之外,其他情况下前后两个运算对象的数据类型要一致。(2)=和$运算符只适用于字符型数据。=表示当左右两个字符串必须完全相同结果才为.T.,否则为.F.。$表示当左字符串是右字符串的一个子字符串时,结果才为.T.,否则为.F.。,2.4.4关系运算符及表达式,(3)大小比较规则:对日期/日期时间型数据的比较,规则是越晚的日期/日期时间越大;对逻辑型数据的比较,规则是.T.大于.F.;对字符型数据的比较,是自左向右逐个对比相应位置的字符,一旦发现不同的字符,就由这两个字符的大小决定两个字符型数据的大小注:字符顺序的大小可以有三种次序:Machine(机器)次序、PinYin(拼音)次序和Stroke(笔画)次序。1)Machine次序中西文字符由小到大的顺序是:空格、大写字母、小写字母,汉字按拼音顺序决定大小;2)PinYin次序中西文字符由小到大的顺序是:空格、小写字母、大写字母,汉字按拼音顺序决定大小;3)Stroke次序中字符的大小由笔画多少决定。,2.4.4关系运算符及表达式,(4)“=”运算符在进行字符串比较运算时,其结果受命令SETEXACTON|OFF(系统的默认值为OFF)影响:a)当处于OFF状态时,比较时以“=”右侧的字符串为准,只要右侧的字符串与左侧字符串的前面部分内容相匹配,系统即认为两者相等,比较结果为.T.;b)当处于ON状态时,将会在较短的字符串尾部增加若干个空格,使两个字符串等长后再比较。注:SETEXACTON|OFF命令对“=”运算没有影响。,2.4.4关系运算符及表达式,【例2-4】SETEXACT命令对字符串用“=”进行比较的影响。SETEXACTOFF&&系统默认,以右串为结束标志A1="FoxPro"A2="FoxPro"A3="FoxPro教材"?A1=A2,A2=A1,A1=A3,A3=A1,A2=A3,A3=A2&&结果为.F.T.F.T.F.F.SETEXACTON?A1=A2,A2=A1,A1=A3,A3=A1,A2=A3,A3=A2&&结果为.T.T.F.F.F.F.,2.4.5逻辑运算符及表达式,逻辑表达式由逻辑运算符将逻辑型数据连接起来形成的表达式,其运算结果为逻辑型数据。,逻辑运算符按优先级从高到低为:NOT或!、AND和OR,2.4.5逻辑运算符及表达式,逻辑表达的运算规则如下表所示,各类运算符的优先级,当不同类型的运算符出现在同一表达式中时,它们也有优先级其顺序由高到低为:算术运算符、字符串运算符、日期时间运算符,关系运算符,逻辑运算符。括号运算符“()”是所有运算符中优先级最高的,即圆括号能改变表达式的运算顺序,有括号的先算括号里面的。,各类运算符的优先级,各类运算符混合运算举例,2.4.6宏替换,存入内存变量或数组元素中的数据,可以利用宏替换进行处理。VFP中的宏替换的形式是:&.。其中代表字符型内存变量,圆点字符(.)指示宏替换的结束。当VFP进行宏替换处理时,将使用要替换的变量中的内容来代换“&”及这个变量名和圆点符。例如,执行下面的命令a1=Fox?Visual&a1.Pro&&显示字符串“VisualFoxPro”,2.4.6宏替换,宏替换的用途很广,可以在任何能接受字符串的命令或函数中使用。可以把一些频繁重复使用的表达式或命令行先存到一个内存变量中,然后在需要该表达式或命令行的位置上写上&.即可。例如,在命令窗口中依次输入下列命令:m=2n=3k=m+n?&k&&结果为5,2.5常用标准函数,2.5.1数值函数2.5.2字符函数2.5.3日期和时间函数2.5.4数据类型转换函数2.5.5测试函数,2.5常用标准函数,函数的一般形式是:函数名(参数1,参数2,具有有函数名、参数和函数值3个要素1)函数名起标识作用2)参数是函数计算时的自变量,一般是表达式,写在括号内,有的函数不需要3)函数运算后会返回一个值,称为函数值。函数是有数据类型的,函数值的数据类型就是函数的数据类型。,2.5.1数值函数,(1)绝对值函数【格式】ABS()【功能】返回的绝对值。(2)平方根函数【格式】SQRT()【功能】返回的平方根,作为自变量的数值表达式的值不能为负。(3)符号函数【格式】SIGN()【功能】返回的符号,当表达式的值分别为正、负和零时,函数值分别为1、-1和0。,2.5.1数值函数,(4)圆周率函数【格式】PI()【功能】返回圆周率的值,该函数没有自变量。(5)取整函数【格式】INT()【功能】返回的整数部分。,2.5.1数值函数,(6)最大值函数【格式】MAX(,)【功能】分别为计算各表达式的值并返回最大值。自变量可以为数值型、字符型、日期型、日期时间型、货币型等,但所有的表达式必须具有相同的数据类型。,2.5.1数值函数,(7)最小值函数【格式】MIN(,)【功能】分别为计算各表达式的值并返回最小值。自变量可以为数值型、字符型、日期型、日期时间型、货币型等,但所有的表达式必须具有相同的数据类型。例如:?MAX(54,39,100)&&显示100?MAX(2010/1/1,DATE()&&显示01/01/10?MIN("abc","abd","aade")&&显示“aade”,2.5.1数值函数,(8)求余数函数【格式】MOD(,)【功能】取两数相除后的余数。说明:1)MOD()和运算返回的结果相同。2)的小数位数决定了结果的小数位数3)的符号决定了返回值的正负。例如:?MOD(42.20,-4.0),MOD(42.20,4.0)&&显示-1.802.20?MOD(-42.20,4.0),MOD(-42.20,-4.0)&&显示1.80-2.20,2.5.1数值函数,(9)四舍五入函数【格式】ROUND(,)【功能】对小数点后面的数字进行四舍五入。例如:X=1234.1996?ROUND(X,2)&&舍入到百分位,显示1234.20?ROUND(X,0)&&舍入到个位,显示1234?ROUND(X,-1)&&舍入到十位,显示1230,2.5.2字符函数,(1)子字串位置函数【格式】AT(,)【功能】返回在中第次出现的位置,函数值为数值型。如果未找到,AT()将返回数值0。缺省值为1。例如:?AT(“s”,“FoxproSystem”)&&显示10注:AT()函数区分字母的大小写,如果不希望区分字母的大小写,应使用ATC()函数,其格式与AT()相同。,2.5.2字符函数,(2)字符串长度函数【格式】LEN()【功能】测定的字节长度,函数值为数值型。可以是字段或内存变量,但必须是字符型表达式,一个汉字占两个字节。例如:?LEN("VFP程序设计")&&显示11,2.5.2字符函数,(3)取子字符串函数【格式】SUBSTR(,)【功能】此函数将从中的第个字符开始,截取并返回个字符。如果省略,则截取的子串结束于的最后一个字符。可以是备注字段。例如:a1="VisualFoxPro程序设计"?SUBSTR(a1,8,6)&&结果是“FoxPro”?SUBSTR(a1,AT(“程”,a1))&&结果为“程序设计”,2.5.2字符函数,(4)左取子字符串函数【格式】LEFT(,)【功能】从字符串最左边开始,截取并返回个字符串。若的值大于的长度,则返回整个串;若的值小于等于0,则返回空串。相应的自右向左截取字符串的函数是RIGHT(,)。例如:a1="VisualFoxPro程序设计"?LEFT(a1,6)RIGHT(a1,8)&&结果是“Visual”&&结果为“程序设计”,2.5.2字符函数,(5)删除首尾空格函数【格式】ALLTRIM()【功能】返回删除了头部和尾部空格的字符串。此函数可以用来确保用户输入数据中没有多余的前导和尾部空格。函数LTRIM()返回删除了头部空格的字符串;函数RTRIM()返回删除了尾部空格的字符串;函数TRIM()与RTRIM()函数作用相同。,2.5.3日期和时间函数,(1)当前日期函数【格式】DATE()【功能】返回当前系统日期,函数值为日期型。另:函数TIME()以HH:MM:SS(24小时制)返回当前系统时间,函数值为字符型;函数DATETIME()返回当前的日期和时间,函数值为日期时间型。,2.5.3日期和时间函数,(2)年号函数【格式】YEAR(|)【功能】返回值为数值型,表示表达式中的年,函数值为数值型。函数MONTH(>)返回表达式中的月份,函数值为数值型;函数DAY(>)表达式中的日,函数值为数值型。,2.5.3日期和时间函数,(3)小时函数【格式】HOUR()【功能】返回日期时间表达式值的小时数,函数值为数值型。函数MINUTE()返回日期时间表达式的分钟部分,函数值为数值型;函数SEC()返回日期时间表达式中的秒,函数值为数值型。,2.5.3日期和时间函数,(3)小时函数【格式】HOUR()【功能】返回日期时间表达式值的小时数,函数值为数值型。函数MINUTE()返回日期时间表达式的分钟部分,函数值为数值型;函数SEC()返回日期时间表达式中的秒,函数值为数值型。,2.5.4数据类型转换函数,(1)数值转换为字符串的函数【格式】STR(,)【功能】把数值表达式的值转换成字符串。其中,是要转换成字符串的数值表达式,表示转换后的字符串长度,表示转换时要保留的的小数部分的数字字符个数。,2.5.4数据类型转换函数,说明:1)如果大于数值的实际长度,则在数字串左边补充空格;若小于数值的实际长度,但大于等于的整数部分(包括负号)的长度,则优先满足整数部分而自动调整小数部分(四舍五入)2)若小于的整数部分长度,则函数将输出星号。3)缺省值为10,不足前面用空格补;的缺省值为0。,2.5.4数据类型转换函数,例如:a1=10.10?STR(a1,2),STR(a1,2,1),STR(a1)&&显示1010&&10.10前有5个空格?STR(a1,10,3)&&显示10.100,前面有4个空格?STR(a1,1),STR(-10.10,4,1)&&显示*&&显示-10,2.5.4数据类型转换函数,(2)字符串转换为数值的函数【格式】VAL()【功能】将指定的字符表达式转换为数值。VAL()按从左到右的顺序处理字符表达式,直到遇到一个非数值字符。在处理过程中头部空格被忽略。如果字符表达式的第一个字符不是数字,VAL()将返回数值0。例如:STORE"1234"TOaSTORE"B1.37"TObSTORE"37B1.0"TOc?VAL(a),VAL(b),VAL(c)&&显示1234.000.0037.00,2.5.4数据类型转换函数,(3)字符串转换为日期的函数【格式】CTOD()【功能】把字符型转换成日期型。的缺省格式是“MM/DD/YY”。字符表达式中日期部分的格式要与SETDATETO命令设置的格式一致。若要用四位表示年份,则需要使用SETCENTURYON命令。另:函数CTOT()可把字符型转换成日期时间型表达式。的格式能否被识别取决于SETDATE、SETHOURS和SETMARK等的当前设置。如果在中只指定了日期部分或时间部分,VFP自动给加上默认时间,即午夜时间(12:00:00AM)或默认日期12/30/1899。,2.5.4数据类型转换函数,例如:SETCENTURYONd1=CTOD("02/16/2002")&&系统默认日期格式d2=CTOT("03/01/2002"+""+TIME()?d1,d2&&显示02/16/200203/01/200210:10:21PM,2.5.4数据类型转换函数,(4)日期转换为字符串的函数【格式】DTOC(|,1)【功能】返回与的日期值对应的字符串。如果选择参数1,则以YYYYMMDD的格式返回字符串,这种格式特别适用于对日期型字段建立索引。另:函数TTOC(|,1)可将日期时间型数据转换为字符型,如果选择参数1,则以YYYYMMDDHHMMSS(24小时制)的格式返回字符串。,2.5.4数据类型转换函数,例如:today=DATETIME()?DTOC(today),DTOC(today,1)&&显示03/14/0220020314?TTOC(today,1)&&显示200200314223520,2.5.5测试函数,(1)ISNULL函数【格式】ISNULL()【功能】判断表达式的值是否为NULL,若为NULL,则返回.T.,否则返回.F.。例如:STORE.NULL.TOx?x,ISNULL(x)&&显示.NULL.T.,2.5.5测试函数,(2)EMPTY函数【格式】EMPTY()【功能】测试表达式是否为EMPTY。注意:EMPTY与.NULL.是不同的概念。如:函数EMPTY(.NULL.)的返回值为.F.。在下表所示的情况下,EMPTY()返回.T.。,2.5.5测试函数,2.5.5测试函数,(3)类型测试函数【格式】TYPE("")【功能】测试指定的字段或表达式的数据类型。该函数先对表达式进行类型检测,然后返回一个描述表达式数据类型的字符(见下页表)。另:函数VARTYPE()能实现同样的功能,但二者的不同之处在于VAYTYPE函数的表达式不需要用定界符括起来。,2.5.5测试函数,2.5.5测试函数,例如:?TYPE(12*3+4)&&显示出错信息?VARTYPE(12*3+4)&&输出N?TYPE("12*3+4"),VARTYPE("12*3+4")&&输出NCa1="XYZ"?TYPE("a1")&&输出C(即变量a1的数据类型)?TYPE(a1)&&a1中的内容“XYZ”没有定义,故用U表示?VARTYPE("a1")&&输出C(即字符串”a1”的数据类型)?VARTYPE(a1)&&输出C(即变量a1的数据类型),2.5.5测试函数,(4)BOF函数【格式】BOF(|)【功能】测试当前表文件或指定表文件中的记录指针是否指向文件首,若是则返回逻辑真.T.,否则返回逻辑假.F.。表文件首是指第一条记录的前面位置。若指定工作区没有打开的表,函数返回逻辑假.F.;若表文件中不包含任何记录则函数返回逻辑真.T.。,2.5.5测试函数,(5)EOF函数【格式】EOF(|)【功能】测试当前表文件或指定表文件中的记录指针是否指向文件,若是则返回逻辑真.T.,否则返回逻辑假.F.。表文件尾是指最后一条记录的后面位置。若指定工作区没有打开的表,函数返回逻辑假.F.;若表文件中不包含任何记录则函数返回逻辑真.T.。,2.5.5测试函数,(6)FOUND函数【格式】FOUND(|)【功能】返回当前表文件或指定表文件中最近一次CONTINUE、FIND、SEEK或LOCATE等查找记录命令的执行结果。若找到相应的记录则返回.T.,否则返回.F.。(7)DELETED函数【格式】DELETED(|)【功能】测试当前表文件或指定表文件中当前记录(记录指针所指的记录)是否有逻辑删除标记。若有则返回.T.,否则返回.F.。,

注意事项

本文(VisualFoxPro6.0基础.ppt)为本站会员(tia****nde)主动上传,装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知装配图网(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!