【vfp精品源码栏目提醒】:网学会员在vfp精品源码频道为大家收集整理了“【精品】第7章VFP 6.0程序设计基础 - 其它资料“提供大家参考,希望对大家有所帮助!
第7章
VFP 6.0程序设计基础
VFP提供了面向过程的程序设计和面向对象的程序设计。
面向过程的程序设计使用结构化编程语言来编写结构化的程序。
过程是指完成某一功能的程序片段。
面向对象的程序设计是将若干个对象有机地组合在一起,将数据和程序捆绑在一起。
封装在对象之中,采用事件驱动机制编程。
1 7.1 程序与程序文件7.1.1 程序的概念 程序是能够完成特定任务的命令序列。
这些命令序列以文件形式存入磁盘,这个文件称为程序文件或命令文件。
与命令窗口逐条输入命令相比,采用程序方式有如下好处:(1)可以利用编辑器,方便地输入、修改和保存程序。
2(2)有多种方式,多次执行程序。
(3)可以在一个程序中调用另一个程序。
(4)能够在不同的系统环境下运行经过编辑后生成的可执行的程序。
3计算圆的面积:set talk off ———— 初始化部分clearinput 请输入圆的半径: to rspirr“s”s ———— 程序主体部分set talk on ———— 结束部分初始化部分主要设置程序运行环境程序主体部分完成特定处理任务结束部分控制返回,恢复运行前状态。
4 7.1.2 程序文件的建立、修改和运行 1.程序文件的建立和修改 程序文件的建立有菜单、命令、项目管理器3种方式。
命令程序文件的扩展名是.PRG。
(1)命令方式格式:MODIFY COMMAND 功能:打开程序编辑窗口,从中可以修改或创建程序文件。
说明:缺省,则新建以默认名或等命名的
VFP程序文件。
5可以包含路径和扩展名.prg。
如果缺省路径,则默认当前路径,如果缺省扩展名,则在存盘时,系统自动加上.prg扩展名。
保存程序例7.1 用命令放式建立程序,将引例中
VFP程序示例以文件名EX7_1.prg保存到当前文件夹中。
6(2)菜单方式(3)项目管理器方式编辑程序文件时,应注意以下几点:每条命令都必须以回车键结尾,一行只能写一条命令,需分行写一条命令时,分行处要添加续行符“”。
可以在程序编辑过程中使用“编辑”菜单的复制、剪切、粘贴等功能。
编辑完成后注意保存。
72.程序文件的运行用命令方式运行程序格式:DO功能:将指定的程序文件调入内存并运行。
说明:a. 默认程序扩展名为.PRG,可不必输入;b. 该命令可在命令窗口里输入执行,也可以出现在另一个程序文件中,后者可实现在一个程序中调用另一个程序。
在程序打开并且为当前程序的情况下,单击常用工具栏上【】命令按钮也可以执行程序。
例7.2 以命令方式执行程序EX7_1.prg。
8
VFP程序文件通过编辑、连接,可以产生不同的目标代码文件,这些文件具有不同的扩展名。
当用DO命令执行程序文件时,如果没有指定扩展名,系统将按下列顺序寻找该程序文件的源代码或某种目标代码文件执行:.exe→.app→.fxp→.prg。
如果用DO命令执行查询文件、菜单文件,那么中必须要包括相应的扩展名(.qprg、.mpr)。
93.程序的注释
VFP提供了3种程序设计注释命令:格式1: 格式2:NOTE格式3:功能:NOTE,一般放在一行的开始,多用于对该程序的注释,放在语句的后面,用于对该语句进行注释。
10 7.1.3 程序中常用的简单语句1.输入语句(1)输入单字符语句格式:WAIT TO WINDOWSAT NOWAITCLEARNOCLEARTIMEOUT功能:显示一条信息并暂停程序的执行,等待用户输入单个字符或单击鼠标。
11说明:a. ,指定要显示的自定义信息。
若省略该参数,则 Visual FoxPro 显示默认的信息“按任意键继续……”。
如果该参数为空字符,则不显示信息。
b. WINDOWS:在 Visual FoxPro 主窗口右上角的系统信息窗口中,显示提示信息。
如果指定AT ,则该窗口在指定屏幕坐标位置显示。
c. TIMEOUT :指定在执行 WAIT命令之后,程序暂停的时间,参数指定等待的时间秒数。
d. NOWAIT子句指在前述指定的Windwos窗口中显示WAIT信息的同时,程序继续执行而不暂停。
12e.CLEARNOCLEAR 子句是表示将信息窗口是否保留在系统主窗口上。
WAIT PLEASE INPUT: TO X WINDOWS AT1230 TIMEOUT 15 13(2)输入字符串语句格式:ACCEPT TO功能:暂停程序的执行,等待用户输入一个字符串 给变量。
说明:a.用户在键盘输入的任何字符信息都被赋值给“内 存变量”。
输入的数据将作为字符型数据处理, 不需要定界符括起来,如果输入了定界符,则这 些定界符也被作为输入字符的一部分,一起存入 到内存变量中。
b.输入完需要的信息后,按Enter键结束本命令的输 入。
如果没有输入其他信息,只输入一个回车键, 将把一个空字符赋值给内存变量。
14例如:ACCEPT 请输入姓名: to name例7.3 编程通过SQL查询数据库JSGL中数据库表“职工.DBF”中职称是“教授”或“副教授”的记录。
职称由键盘输入。
set talk offset century onopen database jsglclearaccept 请输入职称: to zcselect from 职工 where zc职称close databaseset talk onreturn 15(3)输入任意型数据格式:INPUT TO功能:暂停程序的执行,接受用户输入合法表达式并将表达式的值赋值给内存变量。
说明:a. 用户可输入任何一个合法的数值型(N)、字符型(C)、日期型(D)、逻辑型(L)表达式,系统先计算表达式的值并将该值赋值给内存变量。
b. 如果输入字符串信息,则必须加上双引号或单引号定界符,如“ABC”,输入逻辑型常量用圆点定界,输入日期时间型常量时用CTOD、CTOT函数格式或花括号格式。
16例7.4 利用INPUT命令将日期时间2004年7月15日上午8时15分45秒赋值给变量MYDT。
执行命令:INPUT 请输入时间日期: TO MYDT2.输出语句(1)格式: ?表达式功能:将表达式的值输出到光标所在行的下一行起始处。
(2)格式: ??表达式功能:将表达式的值输出到光标所在的位置。
(3)文本输出语句格式:TEXT END TEXT功能:将文本内容原样输出。
17例7.5 文本输出语句示例set talk offcleartext 1.录入数据 2.删除数据 3.修改数据 4.查询 请选择14 endtextwait按任意键继续... window timeout 5return 183.格式输入输出命令格式: SAY GET READ功能:在指定位置输出提示信息并接受键盘输入,同时赋给GET后面的变量。
说明:a. 用于指定在屏幕上输出的行、列位置坐标。
行和列均应是数值表达式,并且系统将自动对其进行取整数。
b. 必须有READ语句激活GET变量才能编辑。
若没有READ语句则只能显示。
一个READ语句可以同时激活多个GET变量。
c.在SAY后面只能跟一个数据输出项。
19例7.6 建立程序EX7_4.prg,用一组...GET命令,对表“职工.DBF”中的某条记录进行编辑,记录号通过键盘输入。
set talk offset century onclearuse 职工input 请输入记录号: to ngo n315 say 职工编号: get 职工号333 say 姓名: get 姓名361 say 照片 get 照片515 say 性别: get 性别 20