为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

第2章 Visual FoxPro 6.0基础

2011-11-13 50页 ppt 886KB 26阅读

用户头像

is_113933

暂无简介

举报
第2章 Visual FoxPro 6.0基础null第二章 Visual FoxPro基础 第二章 Visual FoxPro基础 null本章主要内容 2.1 Visual FoxPro概述 2.2 VFP 6.0的数据类型 2.3 VFP 6.0的常量与变量 2.4 运算符与表达式 2.5 常用标准函数2.1 Visual FoxPro概述2.1 Visual FoxPro概述微机关系数据库系统的发展 Visual FoxPro 6.0的功能与性能指标 VFP 6.0的运行环境、安装、启动与退出 中文VFP开发环境简介 VFP项目管理器 ...
第2章 Visual FoxPro 6.0基础
null第二章 Visual FoxPro基础 第二章 Visual FoxPro基础 null本章主要内容 2.1 Visual FoxPro概述 2.2 VFP 6.0的数据类型 2.3 VFP 6.0的常量与变量 2.4 运算符与表达式 2.5 常用函数2.1 Visual FoxPro概述2.1 Visual FoxPro概述微机关系数据库系统的发展 Visual FoxPro 6.0的功能与性能指标 VFP 6.0的运行环境、安装、启动与退出 中文VFP开发环境简介 VFP项目管理器 VFP向导、器与生成器 2.1.1微机关系数据库系统的发展2.1.1微机关系数据库系统的发展发展总过程: DBase→Foxbase→Foxpro→Visual Foxpro Dbase: Ashton Tate公司(80年代初期) Foxbase :Fox公司(1986) Foxpro 1.0:Fox公司(1989) 1992年Fox公司被微软收购 Foxpro 2.5:微软(1993) Visual Foxpro 3.0:微软(1995) Visual Foxpro 6.0:微软(1998)2.1.2 VFP 6.0的功能与性能指标2.1.2 VFP 6.0的功能与性能指标一、VFP主要功能 (1)快速创建应用程序(通过向导、生成器、工具栏和设计器 ) (2)功能更为强大(支持面向过程和面向对象编程) (3)开发客户机/服务器模式(C/S)的应用 (4)与其他应用程序的数据共享 (5)灵活方便的调试手段(程序调试器 )null二、VFP的主要性能指标2.1.3 VFP 6.0的运行环境、安装、启动与退出2.1.3 VFP 6.0的运行环境、安装、启动与退出一、运行环境 操作系统: Windows95/98(中文版)或Windows NT 4.0 (中文版)或更高版本 浏览器 :IE4.0或更高版本 CPU:80486 66MHz以上 内存:16M以上 硬盘:典型安装85MB,最大安装90MB 其他:鼠标和光驱等2.1.3 VFP 6.0的运行环境、安装、启动与退出2.1.3 VFP 6.0的运行环境、安装、启动与退出二、安装 将VFP6.0 安装盘CD-ROM放入光驱找到序列号文件(若需要)找到setup.exe,双击安装安装过程根据提示选择或选择下一步,直到完成。2.1.3 VFP 6.0的运行环境、安装、启动与退出2.1.3 VFP 6.0的运行环境、安装、启动与退出三、启动 方法一:“开始”“所有程序”“Microsoft Visual FoxPro 6.0” 方法二:双击桌面上的快捷方式(如果有) 方法三:单击任务栏中的快捷方式(如果有)2.1.3 VFP 6.0的运行环境、安装、启动与退出2.1.3 VFP 6.0的运行环境、安装、启动与退出 四、退出 方法一:从“文件”下拉菜单中选择“退出”选项。 方法二: 用鼠标单击VFP系统窗口右上角的“×”关闭窗口图标。 方法三:在VFP的命令窗口中键入Quit命令,再按Enter键。 方法四: 单击VFP主窗口左上方的狐狸图标,从弹出的下拉菜单中选择“关闭”,或按Alt+F4组合键。2.1.4 中文VFP开发环境简介2.1.4 中文VFP开发环境简介一、Visual FoxPro 6.0窗口标栏菜单栏常用工具栏工作区状态栏命令窗口调色板工具栏布局工具栏命令窗口的显示/隐藏2.1.4 中文VFP开发环境简介2.1.4 中文VFP开发环境简介二、 VFP环境配置 对VFP运行环境进行配置 ,包括主窗口标题、默认、项目、编辑器、调试器及表单工具选项、临时文件存储位置等. 配置临时配置 (SET命令 ,退出VFP6.0 时从内存中释放 ) 永久配置 (修改配置文件(.FPW)和Foxuser.dbf文件 ,每次启动VFP6.0时自动装载 ) 2.1.4 中文VFP开发环境简介2.1.4 中文VFP开发环境简介1、 VFP配置文件 是一个文本文件 (.FPW,默认Config.fpw ) 作用:VFP启动时会自动查找配置文件,并根据该配置文件进行环境设定 内容:通过SET命令指定配置信息 , 语句格式:<项目>=<值> 其中<项目>可以包括如下几种: ① SET命令对象; ② 系统变量; ③ COMMAND关键字。用以指定启动时的执行命令或要调用的函数; ④ 只有在配置文件中使用的关键字。2.1.4 中文VFP开发环境简介2.1.4 中文VFP开发环境简介1、 VFP配置文件 例子:用编辑软件建立配置文件MYAPP.FPW,包括如下语句: TALK = OFF &&关闭了VFP的交互会话特性 _SCREEN.Caption = "人事管理系统" &&VFP应用系统主窗口的标题设为“人事管理系统” MVCOUNT = 2048 &&设置 VFP中变量的最大数目是2048 COMMAND = DO Myapp.APP &&在Visual FoxPro启动时执行Myapp.APP。 注意:COMMAND命令只能用于配置文件的最后一行。2.1.4 中文VFP开发环境简介2.1.4 中文VFP开发环境简介2、VFP资源文件(Foxuser.dbf) 由VFP维护的一个数据表文件 它保存了VFP退出时的状态 该文件了命令窗口的位置及大小、当前键盘宏、显示哪些工具栏等。 用户可以在应用程序需要时读取甚至更改该资源文件。 2.1.4 中文VFP开发环境简介2.1.4 中文VFP开发环境简介三、通过“选项”对话框设置环境 位置:“工具” 菜单下的“选项” 对话框 2.1.4 中文VFP开发环境简介2.1.4 中文VFP开发环境简介1、设置日期和时间格式—区域选项卡 年月日、月日年、日月年等/ - . 等年份是两位还是四位时间是12还是24小时制时间是否显示秒数2.1.4 中文VFP开发环境简介2.1.4 中文VFP开发环境简介2、设置货币符号和数字格式--区域选项卡 设定运算中小数位数 设定货币符号 货币符号在数字前还是后设定千位分隔符号 2.1.4 中文VFP开发环境简介2.1.4 中文VFP开发环境简介3、设置默认工作目录--文件位置选项卡 作用:将自己的文件保存在设定的默认目录中临时设置永久设置2.1.4 中文VFP开发环境简介2.1.4 中文VFP开发环境简介注1:大多数选项都可以通过SET命令进行设置 如:设置日期分隔符等同于命令: SET MARK TO [日期分隔] 设置默认目录等同于命令: SET DEFAULT TO [文件路径] 注2:SET命令设置与选项对话框的相应取值同步变化 注3:利用DISPLAY STATUS或者LIST STATUS命令可以显示系统的全部环境设置 注4:通过SET命令修改环境变量只在当前工作期有效,属于临时设置。2.1.4 中文VFP开发环境简介2.1.4 中文VFP开发环境简介四、VFP的三种工作方式 (1)菜单工作方式:选择需要的菜单 (2)命令工作方式:在命令窗口中输入命令(3)程序工作方式:编写程序 文件 2.1.4 中文VFP开发环境简介2.1.4 中文VFP开发环境简介五、VFP命令的格式 (1)语法书写规则 ① 必须以一个命令动词开头,大小写字母等效。 ② 命令动词和子句中的短语可用其前四个或四个以上字符的缩写表示。 ③ 大多数命令动词后可以跟一个或多个限定该动词的子句。命令行中的各个子句可以按任意次序排列。 ④ 命令行中如果有多个词就以一个或多个空格隔开 ⑤ 一个命令行的最大长度不能超过254个字符。 ⑥ 一行只能写一条命令,每条命令的结束标志是按回车键。如果一个命令太长,一行写不下,可以使用续行符“;”,然后回车,并在下一行接着书写该命令。但总长不能超过254个字符。 ⑦所有命令,一律在英文输入状态下进行。标点符号均用英文,否则系统提示:“命令中含有不能识别的短语或关键字”。2.1.4 中文VFP开发环境简介2.1.4 中文VFP开发环境简介六、VFP的系统帮助 获得帮助的前提:安装了MSDN后 获得帮助的方法:单击主菜单的“帮助”菜单下的“Microsoft Visual Foxpro 帮助主题”项,或者按功能键F1 ,就会出现MSDN帮助窗口。2.1.4 中文VFP开发环境简介2.1.4 中文VFP开发环境简介选择“目录”选项卡,左窗口选主题,右窗口显示相应的信息 2.1.4 中文VFP开发环境简介2.1.4 中文VFP开发环境简介从“索引”选项卡的文本框中输入键入要查找内容的关键字 2.1.5 VFP项目管理器2.1.5 VFP项目管理器项目管理器是一个项目集成管理的工具,它集成并管理所有与开发的应用系统有关的各种类型文件 开发设计VFP数据库管理系统,一般是先利用项目管理器建立一个项目文件,然后在项目中建立数据库、数据表、查询文件、程序设计以及其他与数据库相关文件的设计。 项目管理器的主要功能是建立、打开项目以及维护各类文件,包括建立、新增、删除、修改、浏览及执行文件等工作 2.1.5 VFP项目管理器2.1.5 VFP项目管理器1.项目的建立-菜单法 第一步: “文件”菜单“新建”,启动“新建”对话框,或单击工具栏中的“新建”图标,系统将弹出“新建”对话框 选择“项目”选项。然后单击“新建文件”按钮2.1.5 VFP项目管理器2.1.5 VFP项目管理器第二步:在弹出的“新建”对话模式 中确定存放项目文件的路径,输入项目名称(默认名称为“项目1”),单击“保存”按钮,即可建立一个新项目。 2.1.5 VFP项目管理器2.1.5 VFP项目管理器注:建立一项目文件后,VFP会在磁盘上产生两个相关的文件:一个是扩展名为 .PJX的文件,此为项目文件,保存应用系统所包含各类文件的相关信息,另一个是扩展名为 .PJT的文件,此为项目说明文件,保存项目文件的备注数据 2.1.5 VFP项目管理器2.1.5 VFP项目管理器1.项目的建立-向导法 第一步:从“文件”菜单中,选择“新建”按钮,启动“新建”对话框, 选择“项目”选项。然后单击“向导”按钮2.1.5 VFP项目管理器2.1.5 VFP项目管理器1.项目的建立-命令法 在命令窗口中直接输入命令 CREATE PROJECT <项目名>2.1.5 VFP项目管理器2.1.5 VFP项目管理器2.打开一个已存在的项目 方法一:“文件”菜单“打开”选择项目名“确定” 方法二:单击工具栏里“打开”图标选择项目名“确定”2.1.5 VFP项目管理器2.1.5 VFP项目管理器3.项目管理器的窗口操作 (1)移动位置或改变大小:拖动窗口标题可移动窗口位置,把鼠标移动到窗口边线可调整窗口大小。 (2)设置窗口位置:一般项目管理器窗口是以浮动模式设置的,若拖动标题栏到系统工具栏下方,可以将项目管理器窗口放到工具栏上,若想还原,点击选项卡空白处,拖动到其他位置即可。 2.1.5 VFP项目管理器2.1.5 VFP项目管理器3.项目管理器的窗口操作 (3)设置折叠模式:单击右上方的折叠按钮(向上箭头),此窗口将折叠,向上箭头变成向下箭头。此时,单击任一选项卡,会自动在其下方列出相关文件的信息,再单击一次选项卡将消失。要还原为正常模式,单击右上方的向下箭头即可。 2.1.5 VFP项目管理器2.1.5 VFP项目管理器3.项目管理器的窗口操作 (4)拖下选项卡:当项目管理器是折叠方式或位于工具栏时,可将任一选项卡拖下。 例如利用鼠标按住“数据”选项卡,移动鼠标即可将数据选项卡变成独立的浮动窗口。原来选项卡名“数据”处变成灰色字,表示不能在此处选取该选项。 若要回到原来的状态,可以单击数据选项卡右上方窗口关闭按钮,或拖动标题栏回到原来的位置。 2.1.5 VFP项目管理器2.1.5 VFP项目管理器3.项目管理器的窗口操作 (5)钉住浮动选项卡:当选项卡处在拖下状态时,单击该选项卡右上方的钉子按钮(钉子形状),可将此窗口保持在最上方,这样该选项卡就不会被Visual FoxPro的其他窗口所覆盖。再次单击钉子按钮则恢复为浮动选项卡状态。 (6)折叠和展开:用户可以扩展或压缩某一类型文件的图标。如果某种类型的文件存在一个或多个,那么在其相应图标的左侧就会出现一个“+”,单击这个“+”可列出这种类型的所有文件,这就是展开图标,此时“+”将变成“—”,单击这个“—”可隐去文件列表,这就是折叠图标。 2.1.5 VFP项目管理器2.1.5 VFP项目管理器“全部”、“数据”、“文档”、“类”、“代码”和“其他”六个选项卡六个命令按钮 4.项目管理器的组成2.1.5 VFP项目管理器2.1.5 VFP项目管理器4.项目管理器的组成-选项卡 ① “全部”选项卡:该选项卡把“数据”、“文档”、“类”、“代码”和“其他”等五个选项卡的内容全部集中于此。 ② “数据” 选项卡:该选项卡主要用于显示和管理数据文件。包含的数据文件有:数据库、自由表、查询、连接、存储过程文件等。 ③ “文档” 选项卡:该选项卡主要用于显示和管理文档。2.1.5 VFP项目管理器2.1.5 VFP项目管理器4.项目管理器的组成选项卡 ④ “类” 选项卡:该选项卡主要用于显示和管理类库文件。 ⑤ “代码” 选项卡:该选项卡主要用于显示和管理Visual FoxPro各种类型的程序代码,包括三种程序:程序、API库和应用程序。 ⑥ “其他” 选项卡:该选项卡主要用于管理菜单文件、文本文件和其他文件,如BMP图形文件2.1.5 VFP项目管理器2.1.5 VFP项目管理器4.项目管理器的组成-命令按钮 ① “新建”按钮:用于建立新文件或新对象,新的对象类型为当前所选择的类型。 ② “添加”按钮:用于加入已存在的文件。 ③ “修改”按钮:打开并允许修改选择的文件。2.1.5 VFP项目管理器2.1.5 VFP项目管理器4.项目管理器的组成-命令按钮 ④ “运行”按钮:此按钮用于运行所选定的查询、表单或程序。 ⑤ “移去”按钮:从项目中移去或删除所选定的文件或对象。首先选取要移去的文件,然后单击“移去”按钮,将出现“确认”对话框,在此对话框中,如果选择“移去”,则将此选定文件从项目管理器中移去;如果选择“删除”,则该文件将从磁盘上删除;如果选择“取消”,将取消本次操作。2.1.5 VFP项目管理器2.1.5 VFP项目管理器4.项目管理器的组成-命令按钮 ⑥ “连编”按钮:重新构造一个项目,也可以构造一个可执行文件。 创建Visual FoxPro应用程序时,可以每次只建立一部分模块。这种模块化构造应用程序的方式可以使我们在每完成一个模块后,就对其进行检验。在项目建立之后,可以为它添加数据库、表、报表和表单等。完成了所有的功能模块之后,就可以进行应用程序的编译了。2.1.5 VFP项目管理器2.1.5 VFP项目管理器5.项目管理器的功能 (1)项目文件的管理:包括文件的新建、添加、移去(或删除)、重命名等工作。 (2)文件的运行与修改:对于选中的可执行文件,在项目管理器中可以直接运行,也可以将它在相应的窗口中打开予以修改,或者进行浏览、预览等工作。2.1.5 VFP项目管理器2.1.5 VFP项目管理器5.项目管理器的功能 (3)程序调试和项目连编:项目管理器提供了完整的程序调试环境,可以对项目中的程序、表单等进行调试,排错和试运行。 也可以对整个项目实施连编,形成可直接执行的应用程序,甚至形成可脱离VFP环境直接在Windows下运行的EXE程序。 (4)对各种资源的管理:对项目中所用到的各种资源,如图片文件、图标文件、各种音频视频文件、所用到的各种类库文件等,可以自动或者人工注册到项目管理器中统一管理,以利于这些资源的有效利用,对于将来应用程序的发布也非常有利。2.1.6 VFP向导、设计器与生成器2.1.6 VFP向导、设计器与生成器1.设计器 能够使用户轻松地创建高效的表、表单、数据库、查询、视图和报表等; 还可以把用设计器创建的上述各项加进应用程序中。2.1.6 VFP向导、设计器与生成器2.1.6 VFP向导、设计器与生成器2.向导 向导是一种交互式的实用程序,集简捷的操作和完善的功能于一体,能逐步帮助用户快速完成日常任务,。 在用户使用“项目管理器”或从“文件”菜单创建某种类型的新文件时,用户可选择使用“向导”按钮来帮助创建该文件,也可从“工具”、“向导”弹出的子菜单中直接选择某种向导。 2.1.6 VFP向导、设计器与生成器2.1.6 VFP向导、设计器与生成器3.生成器 VFP 6.0生成器是一个方便易用的工具,它简化了创建和修改表单、控件及数据库完整性约束等工作。 每一个生成器都由一系列选项卡组成,它们允许用户访问并设置所选对象的属性。 如同VFP向导一样,生成器也是简便、快捷、有效的。 生成器根据用户对其问题的回答,自动地设置控件属性、生成表达式等。 2.2 VFP 6.0的数据类型 2.2 VFP 6.0的数据类型 VFP提供了多种数据类型,这些数据类型可分为两大类: 一类只适用于数据表中的字段 另一类则不仅适用于字段,还适用于程序设计中要用到的内存变量和数组等。2.2 VFP 6.0的数据类型 2.2 VFP 6.0的数据类型 (1)字符型(Character) 字符型(C型)数据可以包含任何可显示的字符、汉字和符号。 在程序编制过程中,如果需要定义包含字母、数字、空格、符号和标点的变量时,如职工的姓名、电话号码和邮政编码时,一般以字符型数据类型表示。 字符型字段或变量的数据长度不能超过254个字节,每个字符占用一个字节,每个汉字占用两个字节。2.2 VFP 6.0的数据类型 2.2 VFP 6.0的数据类型 (2)数值型(Numeric) 数值型(N型)用于表示数量,是由数字符号0~9以及小数点和正负号及E组成。 数值型的长度不能超过20个字节,其中负号、小数点各占一位。N型值的取值范围在 -0.9999999999E+19到+0.9999999999E+20之间。常用来存储成绩、工资、人数等。 数值型固定占用8个字节。除了十进制数外,VFP6.0还支持十六进制数,如十进制数128可以表示为十六进制的0x80。2.2 VFP 6.0的数据类型 2.2 VFP 6.0的数据类型 (3)整型(Integer) 整型(N型)用于对整数类数值的表示,仅适用于字段的定义。 整型数据占用4个字节,而且是用二进制形式表示的,因此其取值介于-2147483647(即-231+1)到2147483647(即231-1)之间。因此比数值型数据占用的空间要少得多。2.2 VFP 6.0的数据类型 2.2 VFP 6.0的数据类型 (4)浮点型(Float) 浮点型(N型)与数值型是完全等价的。它的设置主要考虑到FoxPro各版本的兼容处理。 (5)双精度型(Double) 双精度型(N型)能够提供更高的数值精度。Double型只用于字段的定义,固定占用8个字节(固定存储长度的浮点数表示)。Double型不同于数值型,其小数点位置由输入的数据值来决定。2.2 VFP 6.0的数据类型 2.2 VFP 6.0的数据类型 (6)货币型(Currency) 在VFP6.0中,一般使用货币型(Y型)数据表示货币,而不是使用数值型。 如果货币型数据的小数位数超过四位,系统会自动对其进行舍入处理。 系统默认的货币符号是“$”,用户可以通过“Set Currency”语句设置货币符号。 货币型数据的取值范围介于922337203685477.5808到922337203685477.5807之间,用8个字节存储。 2.2 VFP 6.0的数据类型 2.2 VFP 6.0的数据类型 (7)日期型(Date) 日期型(D型)数据主要用于表示没有时间显示的日期值。 日期型数据的存储格式为“yyyymmdd”,其中yyyy表示年,占4个字节,mm表示月,占2个字节,dd表示日,占用2个字节。共8个字节。 日期格式和范围由“Set Date”、“Set Mark to”和“Set Century”命令确定。为了解决Y2K问题,VFP6.0还提供了“严格日期”格式,在这种格式下,日期型数据的有效范围为公元元年3月1日到公元9999年12月31日。2.2 VFP 6.0的数据类型 2.2 VFP 6.0的数据类型 (8)日期时间型(DateTime) 日期时间型(T型)数据可以表示既包含时间又包含日期的数据,也可以表示只包含日期或只包含时间的数据,如果只包含了时间,系统将1899年12月30日作为默认日期,如果只包含了日期,系统将午夜12点作为默认时间。 时间格式可以由“Set Hours”、“Set Seconds”命令确定。同日期型一样,日期时间型固定占用8个字节存储。2.2 VFP 6.0的数据类型 2.2 VFP 6.0的数据类型 (9)逻辑型(Logical) 逻辑型(L型)用于存储只有两个值的数据,是一种高效的存储方法,存入的值为真(.T.)和假(.F.)两种状态。固定占用1个字节存储。 逻辑型变量多用于程序分支设置。2.2 VFP 6.0的数据类型 2.2 VFP 6.0的数据类型 (10)备注型(Memo) 备注型(M型)只适用于表中的字段,存储时,备注字段固定为4个字节,用来表示一个指向存储备注文件(.FPT)内容的指针。而实际的备注内容的多少只受限于内存可用空间。 VFP的备注可以包含任意的数据,只要适用于字符串的所有内容都可以写入备注中。 一般来说,表中的备注型字段多用来存放简历、注释等内容。2.2 VFP 6.0的数据类型 2.2 VFP 6.0的数据类型 (11)通用型(General) 通用型(G型)用于存储OLE对象,仅适用于表中的字段。固定存储空间为4个字节。 在通用型字段中,包含了对OLE对象的引用。一个OLE对象的具体内容可以是一个电子表、一个字处理文档、一幅图片等,这些OLE对象是由相应的应用软件建立的。 通用型字段实际存储的内容、类型和数据量取决于建立该OLE对象的服务器以及是采用链接还是嵌入方式载入OLE对象。2.2 VFP 6.0的数据类型 2.2 VFP 6.0的数据类型 (12)对象型(Object) 对象型(O型)用于存储OLE对象,仅适用于内存变量。与通用型字段相对应。 (13)字符型(二进制) 与字符类型相似,但若代码页改变时,其值并不会随之改变,而字符类型的数据则会改变。所谓代码页是指各国因为语系不同,必须使用不同的代码,当换成另一个代码时,VFP会自动转换成相应的语系,因此不需担心语系不同的问题,而二进制字符类型的数据并不随着代码页的改变而改变。 (14)备注型(二进制) 与字符类型(二进制)一样,当代码页改变时,其值不会随之改变。 2.3 VFP 6.0的常量与变量 2.3 VFP 6.0的常量与变量 2.3.1 常量 2.3.2 内存变量 2.3.3 数组 2.3.4 字段变量 2.3.1 常量2.3.1 常量常量是程序运行过程中保持不变的数据。 1. 字符型 字符型常量是由双引号、单引号或方括号括起的字符。如,"ABC"、'1234'、[王小二]等。 2. 数值型 数值型常量是由数字0~9、小数点、正负号和E(科学计数法中指数的底10)组成的。 例如128、0.234、-123.34、1.2E+5等都是数值型常量。其中1.2E+5是1.2×10的5次方在VFP中的表示方法。2.3.1 常量2.3.1 常量3. 逻辑型 逻辑型常量只有真和假两个值,通常用.T.或.Y.表示真,用.F.或.N.表示假,字母两侧的小圆点(用小数点表示)不能省略,字母大小写通用。 4. 货币型 货币型常量是以“$”作为前缀的数值,如$12.35、$1234.5678。 2.3.1 常量2.3.1 常量5. 日期型 日期型常量是用大括号按一定格式括起的符合日期规定的常量 日期型及日期时间型数据的正确格式为{^yyyy-mm-dd [hh[:mm[:ss]] [a|p]]} 例如{^1999-11-23}、{}、{ }、{/}均是符合语法的日期型常量,其中后三个均表示值为空的日期型常量。2.3.1 常量2.3.1 常量6. 日期时间型 日期时间型常量也是用大括号定义,如{^1999-11-23 5:12:00P} 可以用“{/:}”符号表示值为空的日期时间型常量。 日期时间型数据{00:00:00AM}与{12:00:00AM}相同,表示午夜,{00:00:00PM}和{12:00:00PM}相同,表示中午。2.3.2 内存变量2.3.2 内存变量内存变量是在内存中开辟的存放数据的临时工作单元,它独立于数据表而存在。 内存变量名的命名规则是:由字母、汉字或下划线开头,后跟字母、数字或下划线等,但总长度不超过254个字符。 注意:内存变量名不要使用系统的保留字(系统中含有特定意义的文字,如命令、函数名等)。2.3.2 内存变量2.3.2 内存变量1.简单变量的定义和赋值 给简单变量赋值不需要事先定义,常用的命令有“=”和“Store命令”。 【格式一】<内存变量名>=<表达式> 【格式二】STORE <表达式> TO <内存变量名表> 【功能】格式一只能将表达式的值赋给一个内存变量,格式二则可以将表达式的值分别赋给若干个内存变量,各内存变量之间用逗号分开。2.3.2 内存变量2.3.2 内存变量【例2-1】在命令窗口中执行如下赋值命令 STORE 0 TO a1,a2,a3 &&a1、a2、a3的值均为0 s=3*5^2 &&此时s的值为75,数据类型为数值型 s=s+10 &&此时s的值为85,可见“=”不同于等号 s=“1234” &&此时s的值为“1234”,数据类型为字符型 S={^2010-3-16} 变量的数据类型由赋给此变量的值决定2.3.2 内存变量2.3.2 内存变量2.内存变量的显示 【格式】LIST|DISPLAY MEMORY [LIKE <通配符>] [TO PRINTER [PROMPT] |TO FILE <文件名>] 【功能】显示当前已定义的内存变量名、作用范围、类型和值。 说明:① LIKE子句表示将选出与通配符相匹配的内存变量,<通配符>有?和*两种,前者代表单个字符,后者代表一个或多个字符。 2.3.2 内存变量2.3.2 内存变量例如,若要显示例2-1中建立的内存变量,执行命令LIST MEMORY LIKE ?? 主窗口中显示下列内容: S Pub C “1234” A1 Pub N 85 (85.00000000) A2 Pub N 85 (85.00000000) A3 Pub N 85 (85.00000000)2.3.2 内存变量2.3.2 内存变量【格式】LIST|DISPLAY MEMORY [LIKE <通配符>] [TO PRINTER [PROMPT] |TO FILE <文件名>] 说明(续): ② 选项TO PRINTER 能将屏幕显示内容输出到打印机,使用[PROMPT]则能提供是否打印的提示窗口。 选项TO FILE<文件名>能将显示内容存入文件,文件的扩展名为.txt。 ③ LIST和DISPLAY的不同之处在于:当变量较多,一屏显示不下时,前者将滚屏显示,后者则可以分屏显示,按任意键后才能显示下一屏。2.3.2 内存变量2.3.2 内存变量3.内存变量的清除 【格式一】CLEAR MEMORY 【格式二】RELEASE ALL [EXTENDED] 【格式三】RELEASE ALL [LIKE|EXCEPT<通配符>] 【功能】从内存清除指定的内存变量。 说明:① 格式一清除所有内存变量,格式二在人机会话状态下的作用与格式一相同,如果出现在程序中,则应该加上短语EXTENDED,否则不能清除公共内存变量。 ② 格式三中,LIKE短语用于清除与通配符相匹配的内存变量,EXCEPT短语用于清除与通配符不相匹配的内存变量。2.3.2 内存变量2.3.2 内存变量例: RELEASE a1,a3 &&清除内存变量a1和a3 RELEASE ALL LIKE A* &&清除所有首字母为 A的内存变量 RELEASE ALL EXCEPT ?b* &&清除除第二 个字符为B以外的所有内存变量2.3.2 内存变量2.3.2 内存变量4.变量的输出 VFP提供的输出命令很多,这里只介绍基本输出命令?和??的使用。 【格式一】?[<表达式1>[,<表达式2>]…] 【格式二】??[<表达式1>[,<表达式2>]…] 【功能】先计算表达式的值,再显示各值。格式一从下一行的第一列起显示,格式二则不换行显示。 说明: 1) 表达式可以是常量、变量、函数或一般表达式。 2) N型值的整数部分占10位,超出10位时按需分配,小数部分按需分配。 3)C型值占用位数与串长相同,其他各类数据按定义的位数输出。 2.3.3 数组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.3 数组2.3.3 数组1.数组变量的定义 【格式】 DECLARE|DIMENSION <数组名1>(<数值表达式1>[,<数值表达式2>])[,<数组名2>(<数值表达式3>[,<数值表达式4>] )]… 【功能】用来定义一个或多个一维或二维数组变量。2.3.3 数组2.3.3 数组说明: ① 命令动词DECLARE和DIMENSION的功能相同,二者只需选择其中之一。 ② 数组名的命名同简单变量。 ③数组的维数由数值表达式个数决定,若是一维数组,则只须一个数值表达式说明。一维数组的最大下标由<数值表达式1>决定,二维数组由<数值表达式1>和<数值表达式2>决定,其中前者表示行数,后者表示列数,共有行数×列数个元素。 ④表示维数可以用圆括号,也可以用方括号 ⑤VFP系统只允许使用一维数组及二维数组。 2.3.3 数组2.3.3 数组定义数组举例: DECLARE am(20),bm(10,3),cm[2,5] DIMENSION dm(12)2.3.3 数组2.3.3 数组2.数组元素的表示方法 为了标识各个数组元素,每个数组元素都用一个下标来表示。 VFP提供了下标法和序号法访问数组元素。 (1)一维数组元素的表示方法 一维数组元素按其下标排列。例如数组a(4),其各元素的下标是:a(1)、a(2)、a(3)、a(4)。2.3.3 数组2.3.3 数组(2)二维数组各元素的表示方法 ① 下标法:用行号和列号标识各元素。例如,若定义了数组D(3,3),则D(3,2)表示数组D中第3行第2列的元素。 ② 序号法:同一维数组一样,二维数组也可以按其下标大小排列。(a) 下标法 (b) 序号法2.3.3 数组2.3.3 数组3.数组元素的赋值 数组被定义了以后,系统为每一个数组元素赋了一个初值为.F.。 若要改变数组元素的值,也可以使用赋值语句。可以给整个数组的各个元素赋同一个值(必须对数组名赋值),也可以给每一个元素赋不同的值(必须指定该元素的下标)。2.3.3 数组2.3.3 数组【例2-2】将数组ab的各元素都初始化为0,将数组ba的两个元素分别赋3和4。 DECLARE ab(3,3),ba(2) STORE 0 TO ab &&或ab=0 Ba(1)=3 &&注意一行只能有一个赋值语句 Ba(2)= "FoxPro" &&数组各个元素的数据类型可以不同2.3.4 字段变量2.3.4 字段变量字段变量(又称字段名变量)是指数据库表文件中的某一字段,它的具体值是当前记录中该字段存放的数据。 字段变量名可以使用字母、数字、下划线和汉字,但第一个字母必须是字母或汉字。 在变量名中字母不区分大小写。例如name和NAME是同一个变量。 字段变量的数据类型与该字段定义的类型一致,使用字段变量首先要有数据表并处于打开状态。2.3.4 字段变量2.3.4 字段变量注意,内存变量名最好不要与当前区当前打开的数据表字段变量同名。如果同名,系统将默认字段变量,若特指内存变量,可加上前缀“M->”或加“M.”表示内存变量名,以免冲突,例如“M->姓名”或“M.姓名” 2.3.4 字段变量2.3.4 字段变量【例2-3】内存变量和字段变量的访问。现有表文件“学生.dbf”,其结构如下: 学生(学号C(6),姓名C(6),性别C(2)),通过在命令窗口中输入如下命令来区别内存变量和字段变量的使用。 USE 学生 &&打开表文件学生.dbf LIST &&显示表文件学生.dbf的内容 记录号 学号 姓名 性别 1 990001 王晓东 男 2 990002 李子清 男 3 990003 赵小芳 女 4 990004 何桦君 女 GO 1 &&将表记录指针移动到第一条记录上 姓名=“刘远征” &&定义与字段变量同名的内存变量“姓名”,并赋值为“刘远征” ?姓名,M.姓名 &&显示同名的字段变量和内存变量“姓名”的值 &&显示结果为:王晓东 刘远征 2.4 运算符与表达式2.4 运算符与表达式VFP中的变量(包括字段变量、内存变量)、数组元素、常量、函数以及通过运算符将它们组合而成的有意义的式子,就是表达式。 每个表达式都有一定的数据类型,VFP中的表达式主要有:算术表达式、字符表达式、日期时间表达式、逻辑表达式和关系表达式。 2.4 运算符与表达式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 算术运算符及表达式算术表达式又称为数值表达式,是由算术运算符将数值型的常量、变量和函数连接起来形成的表达式,其运算结果是数值型数据。 算术运算符及其含义如下表所示 2.4.1 算术运算符及表达式2.4.1 算术运算符及表达式算术运算符的优先级如表从高到底排列,同一级别的运算符按自左向右相结合的顺序运算。 求余运算和MOD()函数的作用相同,其结果的正负号与除数一致。例如,求下列表达式的值: ?15%4,-15%-4 结果是: 3 -3 求余运算举例:求余运算举例:? 42.20%4.0 结果:2.20 ? -42.20%-4.0 结果:-2.20 ? 42.20%-4.0 结果:-1.80 ? -42.20%4.0 结果:1.80规则: 1、结果的符号位与除数相同 2、结果的小数位与被除数次相同 3、如除数与被除数符号相异,先按无符号求余数,再用无符号的除数减去余数后,再根据规则1决定正负号。2.4.2 字符串运算符及表达式2.4.2 字符串运算符及表达式字符表达式是由字符串运算符将字符型数据连接起来形成的表达式,其运算结果为字符型数据。字符串运算符及其含义如下表所示。注:字符串运算符的优先级相同 2.4.3 日期时间运算符及表达式2.4.3 日期时间运算符及表达式日期时间运算符是对日期或日期时间型数据进行运算的运算符。 日期时间运算符也有两个:“+”和“-”,它们的运算优先级相同,但与字符串运算符的含义不同,如下表所示。 2.4.3 日期时间运算符及表达式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 关系运算符及表达式2.4.4 关系运算符及表达式2.4.4 关系运算符及表达式2.4.4 关系运算符及表达式说明: (1)除日期型和日期时间型数据、数值型和货币型数据可以比较之外,其他情况下前后两个运算对象的数据类型要一致。 (2)==和$运算符只适用于字符型数据。==表示当左右两个字符串必须完全相同结果才为.T.,否则为.F.。 $表示当左字符串是右字符串的一个子字符串时,结果才为.T.,否则为.F.。2.4.4 关系运算符及表达式2.4.4 关系运算符及表达式(3)大小比较规则: 对日期/日期时间型数据的比较,规则是越晚的日期/日期时间越大; 对逻辑型数据的比较,规则是.T.大于.F.; 对字符型数据的比较,是自左向右逐个对比相应位置的字符,一旦发现不同的字符,就由这两个字符的大小决定两个字符型数据的大小 注:字符顺序的大小可以有三种次序:Machine(机器)次序、PinYin(拼音)次序和Stroke(笔画)次序。 1) Machine次序中西文字符由小到大的顺序是:空格、大写字母、小写字母,汉字按拼音顺序决定大小; 2) PinYin次序中西文字符由小到大的顺序是:空格、小写字母、大写字母,汉字按拼音顺序决定大小; 3) Stroke次序中字符的大小由笔画多少决定。 2.4.4 关系运算符及表达式2.4.4 关系运算符及表达式(4)“=”运算符在进行字符串比较运算时,其结果受命令SET EXACT ON|OFF(系统的默认值为OFF)影响: a)当处于OFF状态时,比较时以“=”右侧的字符串为准,只要右侧的字符串与左侧字符串的前面部分内容相匹配,系统即认为两者相等,比较结果为.T.; b)当处于ON状态时,将会在较短的字符串尾部增加若干个空格,使两个字符串等长后再比较。 注:SET EXACT ON|OFF命令对“==”运算没有影响。2.4.4 关系运算符及表达式2.4.4 关系运算符及表达式【例2-4】SET EXACT命令对字符串用“=”进行比较的影响。 SET EXACT OFF &&系统默认,以右串为结束标志 A1= "FoxPro" A2= "FoxPro " A3= "FoxPro教材" ? A1=A2,A2=A1,A1=A3,A3=A1,A2=A3,A3=A2 &&结果为.F. .T. .F. .T. .F. .F. SET EXACT ON ? A1=A2,A2=A1,A1=A3,A3=A1,A2=A3,A3=A2 &&结果为 .T. .T. .F. .F. .F. .F.2.4.5 逻辑运算符及表达式2.4.5 逻辑运算符及表达式逻辑表达式由逻辑运算符将逻辑型数据连接起来形成的表达式,其运算结果为逻辑型数据。 逻辑运算符按优先级从高到低为:NOT或!、AND和OR 2.4.5 逻辑运算符及表达式2.4.5 逻辑运算符及表达式逻辑表达的运算规则如下表所示 各类运算符的优先级各类运算符的优先级当不同类型的运算符出现在同一表达式中时,它们也有优先级 其顺序由高到低为:算术运算符、字符串运算符、日期时间运算符,关系运算符,逻辑运算符。 括号运算符“()”是所有运算符中优先级最高的,即圆括号能改变表达式的运算顺序,有括号的先算括号里面的。 各类运算符的优先级各类运算符的优先级各类运算符混合运算举例2.4.6 宏替换2.4.6 宏替换存入内存变量或数组元素中的字符型数据,可以利用宏替换进行处理。 VFP中的宏替换的形式是:&.。 其中代表字符型内存变量,圆点字符(.)指示宏替换的结束。 当VFP进行宏替换处理时,将使用要替换的变量中的内容来代换“&”及这个变量名和圆点符。 例如,执行下面的命令 a1='Fox' ? 'Visual &a1.Pro‘ &&显示字符串“Visual FoxPro” 2.4.6 宏替换2.4.6 宏替换宏替换的用途很广,可以在任何能接受字符串的命令或函数中使用。 可以把一些频繁重复使用的表达式或命令行先存到一个内存变量中,然后在需要该表达式或命令行的位置上写上&<变量名>.即可。 例如,在命令窗口中依次输入下列命令: m=2 x=12 n=3 y=“x” k='m+n‘ z=&y+3 ?&k &&结果为5 2.5 常用标准函数2.5 常用标准函数2.5.1 数值函数 2.5.2 字符函数 2.5.3 日期和时间函数 2.5.4 数据类型转换函数 2.5.5 测试函数 2.5 常用标准函数2.5 常用标准函数函数的一般形式是: 〈函数名〉([〈参数1〉,〈参数2〉,…] 具有有函数名、参数和函数值3个要素 1)函数名起标识作用 2)参数是函数计算时的自变量,一般是表达式,写在括号内,有的函数不需要 3)函数运算后会返回一个值,称为函数值。 函数是有数据类型的,函数值的数据类型就是函数的数据类型。 2.5.1 数值函数 2.5.1 数值函数 (1)绝对值函数 【格式】ABS(<数值表达式>) 【功能】返回<数值表达式>的绝对值。 (2)平方根函数 【格式】SQRT(<数值表达式>) 【功能】 返回<数值表达式>的平方根,作为自变量的数值表达式的值不能为负。 (3)符号函数 【格式】SIGN(<数值表达式>) 【功能】返回<数值表达式>的符号,当表达式的值分别为正、负和零时,函数值分别为1、-1和0。2.5.1 数值函数 2.5.1 数值函数 (4)圆周率函数 【格式】PI() 【功能】 返回圆周率的值,该函数没有自变量。 (5)取整函数 【格式】INT(<数值表达式>) 【功能】返回<数值表达式>的整数部分。2.5.1 数值函数 2.5.1 数值函数 (6)最大值函数 【格式】MAX(<表达式1>,<表达式2>[,<表达式3>…]) 【功能】 分别为计算各表达式的值并返回最大值。自变量可以为数值型、字符型、日期型、日期时间型、货币型等,但所有的表达式必须具有相同的数据类型。2.5.1 数值函数 2.5.1 数值函数 (7)最小值函数 【格式】MIN(<表达式1>,<表达式2>[,<表达式3>…]) 【功能】 分别为计算各表达式的值并返回最小值。自变量可以为数值型、字符型、日期型、日期时间型、货币型等,但所有的表达式必须具有相同的数据类型。 例如: ? MAX(54,39,100) && 显示100 ? MAX({^2010/1/1},DATE()) && 显示01/01/10 ? MIN("abc","abd","aade") && 显示“aade”2.5.1 数值函数 2.5.1 数值函数 (8)求余数函数 【格式】MOD(<被除数>,<除数>) 【功能】取两数相除后的余数。 说明: 1)MOD()和%运算返回的结果相同。 2)<被除数>的小数位数决定了结果的小数位数 3)<除数>的符号决定了返回值的正负。 例如: ? MOD(42.20,-4.0), MOD(42.20,4.0) &&显示 -1.80 2.20 ? MOD(-42.20,4.0), MOD(-42.20,-4.0) &&显示 1.80 -2.202.5.1 数值函数 2.5.1 数值函数 (9)四舍五入函数 【格式】ROUND(<要四舍五入的数>,<小数点第几位>) 【功能】 对小数点后面的数字进行四舍五入。 例如: X=1234.1996 ? ROUND(X,2) &&舍入到百分位,显示1234.20 ? ROUND(X,0) &&舍入到个位,显示1234 ? ROUND(X,-1) &&舍入到十位,显示12302.5.2 字符函数2.5.2 字符函数(1)子字串位置函数 【格式】AT(<字符表达式1>,<字符表达式2>[,<数值表达式>]) 【功能】 返回<字符表达式1>在<字符表达式2>中第<数值表达式>次出现的位置,函数值为数值型。 如果未找到,AT()将返回数值0。<数值表达式>缺省值为1。 例如: ? AT("s","Foxpro System") &&显示10 注:AT()函数区分字母的大小写,如果不希望区分字母的大小写,应使用ATC()函数,其格式与AT()相同。2.5.2 字符函数2.5.2 字符函数(
/
本文档为【第2章 Visual FoxPro 6.0基础】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索