1、VF程序设计VisualFoxPro概述 第1章 VisualFoxPro概述 数据库系统简介数据库系统简介任务任务1Visual FoxProVisual FoxPro的发展的发展任务任务2Visual FoxProVisual FoxPro的特点的特点任务任务3任务1 数据库系统简介 阶段1 数据库的概念 数据库是依照某种数据模型组织起来并存放在存储器中的数据集合。这种数据集合的数据结构独立于使用它的应用程序,对数据的增、删、改和检索由统一软件进行管理和控制。数据库的基本结构可分为三个层次,分别是物理数据层、概念数据层和逻辑数据层。(1)物理数据层。是物理存贮设备上实际存储的数据的集合,是
2、数据库的最内层。(2)概念数据层。是数据库的整体逻辑表示,是数据库的中间一层。它指出了每个数据的逻辑定义及数据间的逻辑联系,是存贮记录的集合。它所涉及的是数据库所有对象的逻辑关系,而不是它们的物理情况,是数据库管理员概念下的数据库。(3)逻辑数据层。它是用户所看到和使用的数据库,是数据库的最外层。它表示了一个或一些特定用户使用的数据集合,即逻辑记录的集合。阶段2 数据库的特点 (1)实现数据共享。(2)数据实现集中控制。(3)数据的独立性。(4)减少数据的冗余度。(5)数据一致性和可维护性。数据库保证了数据的一致性和可维护性,以确保数据的安全性和可靠性。主要包括:安全性控制 完整性控制 并发控
3、制 故障的发现和恢复任务2 Visual FoxPro的发展20世纪50年代末,出现了数据库管理系统的雏型文件管理系统。60年代末,在美国诞生了第一个商品化的数据库管理系统。从80年代初开始,美国Ashton-Tate公司先后推出了dBASE、dBASE 和dBASE PLUS数据库。1986年,美国Fox Software公司推出了与dBASE完全兼容的FoxBASE+1.0版,随后,该公司又陆续推出了FoxBASE+2.0版和FoxBASE+2.1版,它们与dBASE统称xBASE数据库。1989年、1991年Fox Software公司又相继推出FoxPro 1.0、FoxPro 2.0
4、版,92年Microsoft公司与Fox Software公司合并,于1993年1月正式发表FoxPro 2.5 for DOS和FoxPro 2.5 for Windows,同年的6月、11月发表了其修改版2.5a和2.5b。1994年发表的FoxPro2.6较FoxPro2.5增加了多种“向导”工具,从而简化了最终用户的操作,但在程序开发方面未见明显的改进。1995年,微软公司把“可视化编程”(Visual Programming)技术引入了FoxPro,使Visual FoxPro继Visual BASIC和Visual C+之后成为该公司Visual系列软件的又一新成员。Visual
5、FoxPro实际上是对Foxpro的一次重大改进,和它的前身相比,引入了许多程序开发者盼望已入的特性。1998年,微软发布了可视化编程语言集成包Visual Studio6.0,并在其中集成了Visual FoxPro6.0。2001年5月中旬,Visual FoxPro 7正式发布,同年6月份在美国上市。为了响应.NET的发展策略,又将 Visual FoxPro移出Visual Studio,并将Visual Studio更名为Visual Studio.Net。2003 年12 月,Visual FoxPro 8.0 版正式发布。从2005年12月起,微软大幅度缩减了Visual Fox
6、Pro 9.0的开发投入,彻底退出只是时间的问题。2007年3月,Visual FoxPro 9.0正式发布了。同时,微软公司向第三方开发者正式确认,Visual FoxPro 9将是微软的最后一款桌面数据库开发工具软件,今后将永远不会出现VFP 10。微软将会为VFP 9的普通用户提供支持到2010年1月12日,购买扩展支持服务的用户将可获得到2015年1月13号的服务。任务3 Visual FoxPro的特点VisualFoxPro不仅是一种数据库管理系统,也是一种优秀的数据库编程语言。它不仅能方便地创建和管理数据库,而且能够直接使用Vfp编制基于该数据库的信息系统。实际上,从操纵数据的角
7、度来说,Vfp的效率是最高的,可以轻而易举的使用它开发出一个实用的信息系统。尽管Vfp也有缺点,比如数据库的安全性和界面控制能力较差,但和它开发程序的简便易用和高效相比,这一点不足是可以忽略不计的。Vfp对传统的面向过程的结构化程序设计有很好的支持,它的语句、函数和语法规则与Xbase(如dBASE、FoxBase、FoxPro)语言基本上是兼容的,而且功能更加强大。Vfp不仅支持面向过程的结构化程序设计,而且引入了面向对象的程序设计方法,可以说Vfp是一种既支持面向过程又支持面向对象的混合型编程语言,从而使开发人员从最底层的程序设计中解放出来,能够使用最少的代码完成尽可能多的功能,有利于降低
8、软件开发成本和开发周期。此外,Visual FoxPro 还有更多其它的优秀特点,如:1引入了数据库表的概念2可视化操作界面,强劲的面向对象编程技术3增强的项目与数据库管理,操作更简便4扩大了对SQL语言的支持5支持网络与Internet应用6可以升级早期版本7通过OLE技术,实现与Word、Excel等应用程序的集成8快速创建应用程序本章小结本章从数据库系统、Visual FoxPro的发展和特点等几个方面对Visual FoxPro的产生以及发展过程、Visual FoxPro的特点等有了一个大概的了解VisualFoxPro基础知识 第2章 Visual FoxPro基础知识 安装、启动
9、和退出安装、启动和退出任务任务1用户界面用户界面任务任务2项目管理器项目管理器 任务任务3 系统环境配置系统环境配置任务任务4向导向导任务任务5 设计器和生成器设计器和生成器任务任务6应用开发步骤应用开发步骤任务任务7任务1 安装、启动和退出阶段1 安装环境 安装Visual FoxPro,需要满足一定的软件和硬件条件,其中操作系统需要Windows 95或Windows 98操作系统及其以上的操作系统环境,CPU需要至少586/133MHz或更高性能的处理器,内存推荐使用32MB以上,显示器需要VGA或更高分辨率,硬盘空间至少需要250MB到400MB,另外,鼠标需要为PS2鼠标或串行鼠标。
10、阶段2 安装过程Visual FoxPro的安装与通常的软件安装类似。1.双击Visual FoxPro的安装文件,打开Visual FoxPro 6.0 安装程序向导,然后单击【下一步】按钮。2.在打开的【最终用户协议】窗口中,选择【接受协议(A)】才能继续安装,然后单击【下一步】按钮。3.在【产品号和用户ID】窗口中,按提示输入产品ID号,并按要求输入其他信息,然后单击【下一步】按钮。4.在【选择公用安装文件夹】窗口中,选择要安装到的文件夹位置,然后单击【下一步】按钮。5.在安装程序的欢迎界面中,单击【继续】按钮。6.在检查已安装的组件之后,进入【选择安装类型】界面,单击【典型安装】,即可
11、开始安装。7.在系统提示安装成功后,单击【确定】按钮。8.进入“安装MSDN”界面,安装程序提示是否安装MSDN,默认为选中安装,单击【下一步】按钮。9.进入“现在通过Web注册!”界面,根据需要选中是否现在注册,然后单击【完成】按钮,完成安装。阶段3 启动 启动Visual FoxPro有多种方法,通常采用以下三种方式。(1)从【开始】菜单启动,单击【开始】【程序】【Microsoft Visual FoxPro 6.0】【Microsoft Visual FoxPro 6.0】,即可启动。(2)从【资源管理器】中启动,单击【开始】【程序】【附件】【Windows 资源管理器】,打开【资源管
12、理器】窗口;使用资源管理器找到Vfp98目录,再从Vfp98目录下找到VFP6.EXE图标,在VFP图标上双击左键,即可完成Visual FoxPro系统的启动。(3)从【运行】对话框中启动,【开始】【程序】【运行】,打开【运行】窗口,单击【浏览】按钮找到VFP6.EXE,再按【确定】按钮,即可完成Visual FoxPro系统的启动,。(4)从【桌面】启动如果创建的有桌面快捷方式,则可双击桌面的快捷方式图标,即可启动Visual FoxPro系统。阶段4 退出 一般来说,有四种退出系统的方法。(1)在命令窗口中输入QUIT后按Enter键。(2)在【文件】菜单中选择【退出】。(3)单击主窗口
13、右上角的“关闭”按钮,也可退出系统。(4)直接按组合键Alt+F4。任务2 用户界面阶段1 标题栏 标题栏位于主界面的第一行,它包含系统程序图标、主屏幕标题、最小化按钮、最大化按钮和关闭按钮五个对象:(1)系统程序图标(2)主屏幕标题(3)最小化按钮(4)最大化按钮(5)关闭按钮阶段2 菜单栏 菜单栏位于屏幕的第二行,它包含:文件、编辑、显示、格式、工具、程序、窗口和帮助八个菜单选项。单击某一个菜单选项时,就可以打开一个对应的“下拉式”菜单,在该“下拉式”菜单下,通常还有若干个子菜单选项,当选择某一个子菜单选项时,就可以执行对应的操作。阶段3 工具栏 Visual FoxPro包含了不同环境下
14、的11种工具栏,分别是:常用、报表控件、报表设计器、表单控件、表单设计器、布局、查询设计器、调色板、打印预览、视图设计器和数据库设计器。1打开工具栏 1.单击【显示】【工具栏】,即可弹出【工具栏】菜单项。2.在弹出的【工具栏】窗口中,选择要显示的工具栏,例如默认选中的【常用】工具栏,然后单击【确定】按钮。2停放工具栏将工具栏放置在窗口四周的操作称为“停放(Dock)”。要停放工具栏,只要用鼠标点击工具栏的左边缘,按住左键不松,就可以四处拖动工具栏,并将它放在窗口的任意指定位置。3定制工具栏用户也可以根据自己的个人喜好来定制个性化的工具栏,以适应自己的使用习惯。1.在打开的【工具栏】菜单项中,单
15、击【新建】按钮,在弹出的【新工具栏】对话框中输入名称,然后单击【确定】按钮。2.在弹出的【定制工具栏】对话框中,选择合适的按钮,将其拖到左侧,然后单击【关闭】按钮以完成工具栏的定制。阶段4 工作区 在工具栏与状态行之间的一大块空白区域是系统工作区,各种工作窗口将在这里展开。阶段5 命令窗口 命令窗口是一个标题为“命令”的小窗口。它的主要作用是接受用户输入的命令并显示,实现与用户的单步交互操作。启动Visual Foxpro 6.0时,命令窗口会自动漂浮在Vfp的主窗口中。命令窗口位于菜单栏和状态栏之间,是Visual FoxPro 系统命令编辑、执行的窗口。当选择主菜单的某一个菜单项时,对应的
16、命令就会出现在命令窗口中。命令窗口中的命令可以在程序中使用。在命令窗口中,既可以输入命令实现对数据库的操作管理,也可以用各种编辑工具对操作命令进行插入、删除、修改、拷贝、剪切、粘贴等操作,还可以在此窗口建立命令文件及运行命令文件。命令窗口中输入一些交互命令,按下回车键,该命令就会执行。例如,在命令窗口中输入命令:quit,然后回车,即可退出系统。命令窗口可以通过“窗口”菜单控制。在“窗口”菜单下,选择“隐藏”,可以关闭命令窗口。选择“命令窗口”,可以弹出命令窗口。阶段6 状态栏 状态栏位于屏幕的最底部,用于显示某一时刻的管理数据的工作状态。如果工作区中没有表文件打开,状态栏的内容是空白;如果工
17、作区中有表文件打开,状态栏将显示表名、表所在的数据库名、表中当前记录的记录号、表中的记录总数、表中的当前记录的共享状态等内容。状态栏可以随时关闭或重新打开。任务3 项目管理器阶段1 创建和打开项目 项目管理器可以将文件用图示与分类胡方式放置在不同的标签上,并针对不同类型的文件提供不同的操作。应用程序中的文件都可以组织到项目管理器中以方便查找。1创建新项目 使用项目管理器建立项目文件的操作方法是:(1)单击【文件】【新建】,打开【新建】窗口。(2)在【新建】窗口中,选中【项目】选项,然后单击【新建文件】按钮,打开【创建】窗口。(3)在【创建】窗口中,输入项目文件的名,默认为“项目1.pjx”,然
18、后单击【保存】按钮,打开【项目管理器】窗口。(4)这时,一个空的项目文件已建立完成。在【项目管理器】窗口,单击按钮结束操作,系统形成一个扩展名为PJX的项目文件。2打开已有项目要打开一个已经存在的项目,可以单击【文件】【打开】,在【打开】窗口中选择要打开的项目名称,然后单击【确定】按钮,即可打开已有项目。3查看项目内容p项目管理器是一个分层视图,类似于windows的资源管理器。在项目管理器中,如果项目中具有一个某一类型的项,其类型符号旁边会出现一个“+”号。单击“+”可以显示项目中该类型项的内容。p项目管理器一共有六张选项卡,分别是【全部】、【数据】、【文档】、【类】、【代码】和【其它】。其
19、中,【全部】选项卡包括了后面五个选项卡的全部内容。阶段2 定制项目管理器 根据个人的使用习惯,还可以定制项目管理器。1.折叠项目管理器项目管理器的右上角位置有一个向上的箭头,单击这个箭头,可将项目管理器折叠,同时箭头变为向下,此时项目管理器只显示各个选项卡。再单击这个向下的箭头,则可将项目管理器还原为原状。2.拖开选项卡 项目管理器处于折叠状态时,可以拖开选项卡,使该选项卡成为浮动状态,此时该选项卡可以在Visual FoxPro的主窗口中独立移动,并可根据需要重新安排它们的位置。拖开某一选项卡的操作步骤为:(1)折叠“项目管理器”。(2)选中一个选项卡,并将它拖离“项目管理器”。当选项卡处于
20、浮动状态时,通过在选项卡中单击鼠标右键可以访问“项目”菜单中的选项。任务4 系统环境配置 任务5 向导阶段1 启动向导 p用【文件】菜单或【项目管理器】创建新项目时,可以使用向导完成这项工作。启动向导的一般步骤为:(1)单击【文件】【新建】,然后选择待创建文件的类型,也可以在【项目管理器】中选定要创建文件的类型,然后选择【新建】。(2)单击【工具】【向导】,可以直接访问大多数的向导。如果向导中有来自数据库表中的数据,就可以利用存储在数据库中的样式及字段映射,并将其反映到表单、表、标签、查询和报表中。阶段2 操作向导 u启动向导后,需要按顺序依次回答向导所提出的问题。在选择回答完毕需要进行下一个
21、屏幕的操作时,可单击【下一步】按钮。如果出现操作错误或需要修改先前的选择,可单击【上一步】按钮来查看前一屏幕的内容,以便进行修改。阶段3 保存结果每个类型的向导最后一屏都会要求提供一个标题,并给出保存、浏览、修改或打印结果的选项,按提示操作即可保存结果。阶段4 修改用向导创建的项目使用向导创建好表、表单、查询或报表后,还可以随时使用相应的设计工具将其打开,并做进一步的修改。任务6 设计器和生成器阶段1 设计器单击【文件】【新建】命令,或者在【项目管理器】中选择待创建文件的类型,选择【新建】,就可以访问VFP的各种设计器。这些设计器使表、表单、数据库、查询和报表的创建以及数据的管理变得非常容易。
22、1打开表单设计器建立新表单或者修改已有的表单程序,都需要打开表单设计器。以新建一个表单为例,有下列几种打开表单设计器的方法。(1)单击【文件】【新建】,或直接单击常用工具栏上的【新建】按钮,在弹出的【新建】对话框中,选择【表单】单选钮并单击【新建文件】按钮。(2)在命令窗口中使用命令:CREATE FORM命令。(3)在项目管理器中的【文档】选项卡中,选中【表单】,再单击【新建】按钮。(4)在弹出的【新建表单】对话框中单击【新建表单】按钮。2表单设计器工具栏表单设计器工具栏中包括了设计表单时的所有工具。当鼠标指针悬停在工具栏的某按钮上时,就会显示该按钮的名称。3表单控件工具栏表单控件工具栏中提
23、供了VFP可视化编程的各种控件,利用这些控件,可以创建出我们所需要的对象。单击“表单设计器”工具栏上的【表单控件工具栏】按钮,即可显示【表单控件】工具栏,并且可以把它拖放到适当的位置。4属性窗口属性窗口用来设置或修改属性。单击【表单设计器】工具栏中的【属性窗口】按钮,即可打开【属性】窗口。属性窗口包含选定对象(表单或控件)的属性、事件和方法列表。可在设计或编程时对这些属性值进行设置或更改。属性窗口从上到下依次包括:(1)“对象”下拉列表框:标识当前选定的对象。单击右端的向下箭头,可看到包括当前表单(或表单集)及其所包含的全部对象的列表。可以从列表中选择要更改其属性的表单或对象。(2)“选项卡”
24、:分类显示所选对象的属性、事件和方法,依次为;全部:显示全部属性、事件和方法。数据:显示所选对象如何显示或怎样操纵数据的属性。方法程序:显示方法和事件。布局:显示所有的布局属性。其他:显示其他和用户自定义的属性。5代码窗口代码窗口用来编写事件过程和方法代码。阶段2 生成器 m生成器是一个带有选项卡的对话框,用于简化对表单、复杂控件等的创建和修改过程。每个生成器都包括一系列选项卡,用于设置选中对象的属性。m如果要打开【表单生成器】,可以单击【表单】【快速表单】。m若要对多个控件设置格式,可以在“表单设计器”中,选择控件,然后在“表单设计器”工具栏中选择“自动格式”设置按钮。m显示生成器后,选择每
25、个选项卡的选项再单击“确定”来注册该更改。任务7 应用开发步骤阶段1 建立工件目录 应用程序的开发,首先应该设置相应的工作目录。单击【工具】【选项】,打开【选项】对话框,在【文件位置】选项卡中选择【默认目录】,然后单击【修改】按钮,按自己的需要设置好默认目录。阶段2 建立项目文件 1、单击【文件】【新建】,打开【新建】对话框,选择【项目】单选按钮,然后单击【新建文件】按钮。2、选择【项目】,然后单击【新建文件】按钮,输入项目文件名后,单击【保存】按钮。阶段3 建立表单文件 1.刚创建的【项目1】出现项目管理器窗口,在【全部】选项卡中展开【文档】选项,选中【表单】,然后单击【新建】按钮。2.在弹
26、出的【新建表单】对话框中,单击【新建表单】按钮,即可建立一个新表单。阶段4 在表单上添加控件 1.单击【表单控件】工具栏中的【标签】按钮,然后将鼠标指向表单,在十字指针位置单击,即可放置一个标签在表单的指定位置,重复放置两个标签。2.单击【表单控件】工具栏中的【文本框】按钮,然后将鼠标指向表单,在十字指针位置单击,即可放置一个文本框在表单的指定位置,重复放置两个文本框。3.单击【表单控件】工具栏中的【命令按钮】按钮,然后将鼠标指向表单,在十字指针位置单击,即可放置一个命令按钮在表单的指定位置。阶段5 修改控件属性 1.在【对象】下拉列表框中选择对象名是【Form1】。在【布局】选项卡中找到属性
27、Caption(标题),将其改为【我的表单】(原值为Forml)。2.在【对象】下拉列表框中选择对象名是【Label1】。在【布局】选项卡中找到属性Caption(标题),将其改为【正方形的边长为:】,如果标签控件宽度不够,可以拖动标签的边缘拉长到合适的宽度,或者在【布局】选项卡的【Width】属性中修改标签的宽度。同样修改其它标签和命令按钮的Caption属性。3.在【对象】下拉列表框中选择对象名【Text1】。在【数据】选项卡中找到属性Value,将其改为0,同样修改Text2的Value属性为0。阶段6 编写代码 编写代码就是为对象编写事件过程或方法,下面我们为command1命令按钮编
28、写click事件代码,以实现单击【计算面积】按钮的时候发生的事件。双击【计算面积】按钮,弹出代码窗口,在该窗口的【过程】列表中选【click】,然后在窗口的编辑区中输入如下代码:a=thisform.text1.value thisform.text2.value=a*a thisform.refresh阶段7 保存和运行表单 1.保存表单单击【文件】【保存】命令,可将当前建立的表单存盘,其扩展名自动设为.scx。2.运行表单以本示例为例,运行表单的方法有以下几种:(1)在命令窗口键入:DO FORM(2)在程序代码中使用命令:DO FORM(3)在“表单设计器”内,单击【常用工具栏】中的【运
29、行】按钮。(4)单击【表单】【执行表单】。本示例表单运行界面阶段8 修改表单 如果要修改表单,可以采用以下方法:(1)单击【文件】【打开】,或直接单击常用工具栏上的“打开”按钮,以打开一个已存在的表单。(2)在命令窗口中使用命令:MODIFY FORM;(3)在项目管理器中选择所修改的表单名称,再单击【修改】按钮。本章小结本章从VFP的安装、启动、用户界面、项目管理器、系统环境设置、向导、设计器和生成器、应用开发步骤等方面,对VFP进行了详细的介绍。VisualFoxPro语言基础 第3章 Visual FoxPro语言基础 数据类型数据类型任务任务1常量和变量常量和变量任务任务2运算符运算符
30、 任务任务3数组数组任务任务4 程序基本结构程序基本结构任务任务5常用语句和命令常用语句和命令任务任务6过程和函数过程和函数 任务任务7任务1 数据类型数据类型是数据的基本属性,VFP中一共有7种数据类型和13种字段类型。7种数据类型是:字符型,数值型,货币型,日期型,日期时间型,逻辑型和通用型。13种字段类型是:字符型,整型,数值型,浮点型,双精度型,货币型,日期型,日期时间型,逻辑型,备注型,通用型,二进制字符型和二进制备注型。任务2 常量和变量在程序运行过程中保持不变的量称为常量。在程序运行过程中还会发生变化的量称为变量。在VFP中共有数值型常量,字符型常量,逻辑型常量,日期型常量和日期
31、时间型常量5种常量和字段变量、内存变量和系统内存变量3种变量。其中字段变量和内存变量的名称由字母、下划线和数字表示,且必须以字母打头,而系统内存变量由系统规定,通常以下划线打头。常量类型常量类型说明说明数值型常量数值型常量数值型常量可以是整数或实数,例如:56,69.8等都是数值型常量。字符型常量字符型常量字符型常量是用定界符括起来的由字符、空格和数字所组成的字符串,定界符可以是单引号、双引号和方括号。逻辑型常量逻辑型常量逻辑型常量只有真与假2个值。日期型常量日期型常量日期型常量必须用花括号括起来,例如:95.01.12、01/12/95都是日期型常量的正确写法。日期时间型常日期时间型常量量日
32、期时间型常量也必须用花括号括起来,例如:2005/12/06 11:12:32pm,注意:日期和时间数据间必须有空格。变量类型变量类型说明说明字段变量字段变量字段变量是表文件结构中的数据项,vfp中共有13种字段变量。内存变量内存变量内存变量是独立存在于内存中的变量,一般随程序结束或退出 vfp而释放,常用于存储程序运行的中间结果或用于存储控制程序执行的各种参数。系统内存系统内存变量变量系统内存变量是由vfp自动生成和维护的变量,用于控制vfp的输出和显示信息的格式。为与一般内存变量相区别,在系统内存变量前加一个下划线。格式格式说明说明变量名变量名=值值变量不需事先声明即可赋值,赋值的同时该变
33、量就被创建,变量类型取决于所赋初值的类型。store 值值 to 变量名表变量名表此格式可将同一值赋给多个变量任务3 运算符阶段1 算术运算符 算术运算符用于进行算术运算,用算术运算符连接起来的表达式称为算术表达式,其运算结果是一个数值。运算符运算符功能功能+,-正负号*,幂*,/,%乘,除,取余+,-加,减阶段2 逻辑运算符 u逻辑运算符用于表达式之间的逻辑运算,参加运算的表达式应有逻辑值。逻辑运算的结果是逻辑值。u逻辑运算符的优先级:运算符运算符功能功能.Not.,!逻辑非.and.逻辑与.or.逻辑或阶段3 关系运算符 关系运算符用于进行关系运算,其运算结果是逻辑值。运算符运算符功能功能
34、大于=等于,#,!=不等于=大于等于=字符串全等比较阶段4 字符运算符 字符运算符用于字符串连接运算,其运算结果是一个新的字符串。运算符运算符功能功能+将+号前后字符串连接起来组成一个新的字符串-删除-号前面字符串的尾部空格后再与右侧的字符串组成新的字符串阶段5 日期运算符 日期运算符用于进行日期运算,其功能如下表所示。运算符运算符功能功能+日期+天数得到新日期时间+秒数得到新时间-日期-日期得到间隔天数时间-时间得到间隔秒数 任务4 数组阶段1 数组的定义 类型相同的若干变量有序地组织起来,这些变量的变量名相同而下标不同。我们把这些按序排列的一组变量称为数组。VFP中数组的定义和说明如表所示
35、。格式格式说明说明一维数组一维数组 Dimension X(3)定义一维数组二维数组二维数组 Dimension X(3,4)定义二维数组阶段2 数组的数据传递 数组的数据,既可以采用赋值的方法获得,也可以从表中传递。如果要从一个表中把数据传递给数组时,格式如下:copy to array 数组名 fields 字段名表 范围 for 条件该命令用于将当前工作区打开的表当前指针开始的若干条记录的指定字段的内容复制到指定的数组中。也可以把数据从数组向表传递数据,格式如下append from array 数组名 fields 字段名表 for 条件该命令将指定条件的数组数据添加到当前表的尾部。任
36、务5 程序基本结构阶段1 顺序结构 1、赋值语句 2、暂停语句 3、结束语句 4、语句的续行 5、程序注释语句 1赋值语句赋值语句用于将值赋给内存变量或对象的某个属性,格式为:=或 STORE TO 2暂停语句要暂停程序的执行,可以使用WAIT语句,WAIT可以暂停程序的执行并显示提示信息,若要继续执行程序则按任意键或单击鼠标即可。其语法格式为:WAIT TO WINDOW AT TIMEOUT n3结束语句在早期的FoxPro版本中,终止命令程序的执行一般使用CANCEL语句。在较新的VFP中,要终止表单的运行则需要用RELEASE语句或Release方法。RELEASE语句的格式为:REL
37、EASE Release方法的格式为:ReleaseRELEASE语句或Release方法都不激发QueryUnload事件,而是直接激发Unload事件从内存中释放表单或表单集。4语句的续行如果一条语句很长,就可以使用续行功能,用分号“;”将较长的语句分为两行或多行,以方便在代码编辑窗口阅读程序。注意,作为续行符的分号只能出现在行尾。5程序注释语句注释语句用来在程序中包含注释。通常,为了维护的方便和提高程序的可读性,会在程序的适当位置加上一些注释。VFP中提供行首和行尾两种注释语句。行首注释语句的语法格式为:NOTE 或 *行尾注释语句的语法格式为:&阶段2 选择结构 1、条件表达式 2、条
38、件选择语句 1条件表达式在条件语句中作为判断依据的表达式称为条件表达式,条件表达式的取值为逻辑值的真(.T.、.t.)或假(.F.、.f.)。条件表达式可以分为关系表达式与逻辑表达式两类。(1)关系运算符与关系表达式(2)逻辑运算符与逻辑表达式(3)运算符的优先级(1)关系运算符与关系表达式 F关系表达式是指用关系运算符连接起来的两个或两个以上的表达式。关系运算符用来对两个表达式的值进行比较,又称比较运算符,其比较的结果是一个逻辑值(.T.或.F.),这个结果就是关系表达式的值。关系运算符关系运算符名称名称例子例子说明说明小于25.T.=小于或等于7大于01.F.=大于或等于ab=bc.F.=
39、等于、!=不等于$包含于Fox$FoxPro.T.=等同于VFPVFP提供的关系运算符有提供的关系运算符有8 8种,如表所示种,如表所示。(2)逻辑运算符与逻辑表达式 F逻辑表达式是指用逻辑运算符连接若干关系表达式或逻辑值而成的式子。VFP提供的逻辑运算符有3种,如表所示。逻辑运算符逻辑运算符名称名称例子例子说明说明AND与(23)AND(33)OR(30)值为.F.,由真变假或由假变真,进行取“反”操作逻辑运算的真值表如表所示。aba AND ba OR bNOT a.T.T.T.T.F.T.F.F.T.F.F.T.F.T.T.F.F.F.F.T.(3)运算符的优先级当一个表达式中存在多种操
40、作时,VFP会按一定的顺序进行求值,这个运算顺序为运算符的优先顺序,也叫运算符的优先级。运算符的优先顺序为:注意:1)同级运算按照它们从左到右出现的顺序进行计算。2)可以用括号改变优先顺序,强令表达式的某些部分优先运行。3)括号内的运算总是优先于括号外的运算,在括号之内,运算符之间的优先顺序不变。2条件选择语句(1)单条件选择语句(2)多分支条件选择语句(1)单条件选择语句 单条件选择语句可以使用IF语句和IIF函数。IF语句IF语句的语法结构为:IF 语句1 ELSE 语句2 ENDIFIIF函数 除了IF语句,也可以使用IIF函数来实现一些比较简单的选择结构。IIF函数的语法结构为:IIF
41、(条件,真部分,假部分)IF语句的嵌套如果在IF语句中操作块(语句1)或(语句2)本身也是IF语句,则称为IF语句的嵌套(2)多分支条件选择语句多分支条件选择结构 利用IF语句也可以实现多分支选择,但是用IF嵌套的办法编写的程序会比较长,程序的可读性会很差。为此VFP专门提供了多分支条件选择语句(DOCASE语句)来实现多分支选择结构。DO CASE语句的格式DO CASE语句的语法格式为:DO CASECASE CASE .OTHERWISE 其它语句列ENDCASE阶段3 循环结构1、当型循环 2、步长型循环 3、表扫描型循环 1当型循环当型循环的语法格式为:DOWHILE EXIT LO
42、OP ENDDO2步长型循环步长型循环可以根据给定的次数重复执行循环体。其语法结构为:FOR =TO STEP EXIT LOOP ENDFOR|NEXT3表扫描型循环表扫描型循环的语法结构为:SCAN 范围 FOR 条件 EXITLOOPENDSCAN任务6 常用语句和命令阶段1 常用语句1、输入字符串语句 2、输入表达式语句 3、屏幕输出语句 4、显示提示信息 5、清屏语句 6、返回语句 7、注释语句 1输入字符串语句格式:accept 字符串 to 内存变量功能:执行该语句时,暂停程序的运行,在屏幕上显示“字符串”的内容作为提示信息,等待用户通过键盘输入数据;输入数据后回车,输入的内容保
43、存到指定的内存变量中,同时,程序继续向下执行。2输入表达式语句格式:input 表达式 to 内存变量3屏幕输出语句格式:?|?表达式功能:在屏幕上输出表达式的内容。1个问号为换行输出,2个问号为不换行输出。4显示提示信息格式:wait window 提示信息字符串 at 行,列 timeout 秒数功能:在屏幕的指定位置出现提示窗口。说明:“timeout 秒数”用于规定延时秒数。5清屏语句格式:clear功能:清除屏幕上的显示信息。6返回语句格式:return功能:返回调用处或命令窗口。该语句可省略,因为在每个程序执行的最后,系统都会自动执行1个return语句。7注释语句格式:&注释内容
44、功能:为程序中的语句作注释,注释内容不被执行。阶段2 常用命令 1、内存变量操作命令 2、文件操作命令 3、常用设置命令 4、其它常用命令 1.内存变量操作命令(1)显示内存变量 格式:display memory to printerto 文本文件名 或 list memory to printerto 文本文件名(2)清除内存变量 格式1:release 变量名表 格式2:release all extended 格式3:clear memory(3)保存内存变量 格式:save to 文件名 功能:将内存变量保存到指定的文件中(4)恢复内存变量 格式:restore from 文件名 功
45、能:从指定的文件中恢复内存变量2文件操作命令(1)显示文件目录命令 格式:dir 盘符路径to printer(2)关闭文件 格式1:close all 格式2:close database 格式3:close database all 格式4:close index 格式5:close tables(3)文件的复制 格式:copy file 文件名1 to 文件名2(4)文件更名 格式:rename 文件名1 to 文件名2 说明:该命令用于给磁盘文件改名,文件名一般应带扩展名。(5)删除文件 格式1:erase 文件名|?格式2:delete file 文件名|?(6)显示文本文件 格式:
46、type 文本文件名 to printer|to 输出文件名 功能:执行该命令,将文本文件的内容输出到屏幕,窗口,打印 机或一个文本文件中。3常用设置命令set命令常用于设置系统工作的环境和状态,如:命令执行的反馈信息、屏幕的色彩等。多数set命令都有on和off两种状态,设为on时开关打开,设为off时开关关闭。(1)settalkon|off:功能:该命令规定是否将命令执行信息显示在屏幕或窗口中。隐含设置为on,显示执行信息;设为off时,不显示命令执行信息。(2)setdefaultto路径功能:该命令用于设置当前目录。例如:set default to d:vfp.设置默认目录后,凡遇
47、到未标明路径的各类文件,系统会自动到默认目录下去操作。(3)设置日期格式命令 格式1:set date american 格式2:set date ansi(4)setcenturyon|off 功能:该命令设置年份显示格式。设为on时年份显示占4位宽度,即年份中包括世纪;设为off时,年份占2位宽度,系统默认为off。因此,在设为on时需用10位显示日期,而设为off时用8位显示日期。(5)setconsoleon|off功能:用于程序中规定是否允许将输出信息送住屏幕或窗口,on允许,off不允许,默认设置为on。(6)setfilterto表达式功能:该命令用于从当前打开的表中过滤出一组满
48、足条件的记录,使其后的操作只对过滤出的记录有效。不带选择项的set filter to命令解除对当前表的过滤约束,恢复原状态(7)setdeleteon|off功能:如果设置为on状态,不对带有删除标记的记录进行操作;设为off,则对带有删除标记的记录也进行操作。(8)setexacton|off功能:该命令用于指定两个字符串进行比较的方式。当设为off时,比较是从两个字符串最左边开始的,然后逐个比较字符,一直到较短字符串结束。若进行比较的等号右边的字符串是左方字符串的子串时,认为两个字符串相等,否则不相等。4其他常用命令在程序中经常要用到一些在命令窗口中不需要甚至不能执行的命令。(1)终止命
49、令 Cancel命令能使程序终止执行,并清除程序中的局部变量。执行cancel命令后强制返回到命令窗口,该语句可在程序的任何位置出现。(2)退出命令执行 QUIT 命令能退出 Visual FoxPro 系统返回到 Windows 操作系统,该命令与文件菜单中的“退出”命令功能相同。任务7 过程和函数阶段1 过程 1、过程的概念 2、过程的结构 3、过程的调用 1过程的概念在同一个程序的不同处,或在不同程序中重复出现的具有相同功能的程序段可以单独设计成一个共用程序段,需要时再调用。这些共用程序在VFP中称为过程。调用过程的程序就称为主程序或调用程序,调用程序与过程之间的关系是调用关系。从结构和
50、调用方法上看,过程可以分为内部过程和外部过程。内部过程是指调用程序尾部所附过程的过程。外部过程是用户根据需要建立的过程,外部过程的建立方法与建立源程序(即程序文件)的方法完全相同,其扩展名也是.prg。2过程的结构 在VFP中,程序尾部所附的过程和过程文件中的过程都属内部过程,其结构为:procedure 过程名 parameters 参数表列 过程体语句 return3过程的调用 在vfp中,无论内部过程还是外部过程,都可用do命令调用,其格式为:do 过程名 with 表达式表列阶段2 函数 1、数学运算函数 2、字符及字符串处理函数 3、日期函数 4、转换函数 5、测试函数 6、其它函数