VFP程序设计基础(完整版)
Visual FoxPro 6.0程序设计基础教材版

结束
(2)按Enter键,或单击鼠标右键并在
弹出的快捷菜单中选择“运行所选区域”。
《大学计算机基础教程》
普通高等院校“十一五” 规划教第材11章 程序设计基础
11.1 程序与程序文件 P378
11.1.2 程序文件的建立与执行 目 录 11.1.2.1 程序文件的建立与修改 上一页 要建立程序文件,可按以下步骤操作: 下一页 (1)打开文本编辑窗口。 结 束 (2)在文本编辑窗口中输入程序内容。
需要分行书写,应在一行终了时键入续行
符“;”,再按回车键。
《大学计算机基础教程》
普通高等院校“十一五” 规划教第材11章 程序设计基础
11.1 程序与程序文件 P378
另外,还可以在命令窗口中像执行程 目 录 序一样一次执行多条命令。方法是:
上一页
(1)在命令窗口中选择需要执行的多条
下一页 命令;
程序是完成某一任务相关命令的集合。 在VFP中命令文件的扩展名为 .PRG,保 存在磁盘上。
《大学计算机基础教程》
普通高等院校“十一五” 规划教第材11章 程序设计基础
11.1 程序与程序文件 P378
目录
应用程序:为完成某项任务所需执行的命 上一页 令序列,这些命令按照一定的结构有机地 下一页 组合在一起,并以文件的形式存储在磁盘 结 束 上,又称为命令文件。
目 录 Visual FoxPro
上一页
下一页 数据库6管.0理系统 结束
教程
《大学计算机基础教程》
普通高等院校“十一五” 规划教第材11章 程序设计基础
第11章 Visual Foxpro 程序设计基础
目录
上一页 11.1 程序与程序文件 11.2 程序的基本结构
VF程序设计基础

第二章 Visual FoxPro程序设计基础
功能: ①格式1表示清除所有内存变量。 ②格式2表示清除指定的内存变量。 ③格式3表示清除所有的内存变量。在人机会话状态时 其作用与格式1相同。如果出现在程序中,则应该加 上短语ENTENDED,否则不能删除全局内存变量。 ④格式4表示选用LIKE短语清除与通配符相匹配的内存 变量,选用EXCEPT短语清除与通配符不相匹配的内存 变量。
第二章 Visual FoxPro程序设计基础
1.简单的内存变量 变量都有名,通过变量名来使用变量中存放的数 据(访问变量值)。 向简单内存变量赋值不用先定义,赋值时变量不 存在将自动产生。有两种赋值格式: ① <内存变量名>=<表达式> ② STORE <表达式> TO <内存变量名表> ●等号一次给一个变量赋值。STORE 命令可以同时给多 个变量赋相同值,变量名间用逗号隔开。
第二章 Visual FoxPro程序设计基础
③SET CENTURY ON | OFF | TO [ 世纪值] ROLLOVER [年份参照值] 命令功能:用于决定如何显示或解释一个日期数据 的年份。ON显示世纪,即用4位数字表示年份。 OFF不显示世纪,即用2位数字表示年份。该项是 系统默认设置。 ④SET STRICTDATE TO [0|1|2] 命令功能:用于设置是否对日期格式进行检查。 0:不进行严格的日期格式检查。 1:进行严格的日期格式检查。为系统默认设置。 2:进行严格的日期格式检查,并且对CTOD和CTOT 函数的格式也有效。
VFP程序设计基础

第三章程序设计基础一、知识点:1、VFP命令的两种执行方式:交互方式和程序方式。
2、程序与程序文件1)程序:完成某项指定的任务而须执行的命令序列。
2)程序文件:以文件的形式存储在磁盘上的命令序列。
3、结构化程序设计的三种基本结构.1)顺序结构:简单的输入语句(如INPUT、ACCEPT、WAIT)。
赋值语句(=、STORE、REPLACE、SCA TER、GA THER)。
简单的输出语句(?、??)。
辅助语句(CLEAR、SUSPEND、CONTINUE、CANCEL、NOTE | *、&&)。
环境设置语句(如:、SET TALK ON/OFF 等)2)选择结构(IF~ENDIF、IF~ELSE~ENDIF、DO CASE~ENDCASE)3)循环结构(DO WHILE~[loop]~[exit]~ENDDO、SCAN~ENDSCAN、FOR~ENDFOR)4、多种结构嵌套的原则:只能包含,不能交叉。
5、子程序:相对与主程序而言的一个独立的程序文件,其建立方法与建立程序文件的法相同。
子程序的调用与返回:调用:DO<文件名>[WITH<参数列表>]返回:RETURN[TO MASTER][<表达式>]6、过程与过程文件1)过程:以PROCEDURE<过程名>开头,以ENDPROC结尾的子程序段。
2)过程文件:由若干个过程或自定义函数组成,以文件形式保存在外存的.prg文件;使用时要打开该文件,然后选择其中的过程或函数调用,不用时要关闭。
3)过程文件的打开:SET PROCEDURE TO <过程文件名>4)过程文件的关闭:SET PROCEDURE TO 或CLOSE PROCEDURE7、参数的传递及作用域1)利用内存变量的属性传递参数内存变量的属性小结2)利用DO <文件名> WITH <参数表达式列表>传递参数传递参数命令格式:DO <文件名> WITH <参数表达式列表>接收参数命令格式:PARAMETER<变量列表>参数传递与接收的规则:(1)接收参数的命令必须出现在被调用程序(子程序)中的第一行;(2)当WITH <参数表达式列表>中是简单内存变量列表时,称为传址或引用。
vfp程序设计基础

• 若所有CASE表达式都为.F., 则执行OTHERWISE后面的命 令序列。
• 通常,用于多于两个分支的 情况
17
DO CASE
条件1
条件2
命令组1 命令组2
条件 n 命令组n
其他命令组
ENDCASE
18
例7-case,根据分数输出等级。
cj>=90 75<=cj<90 60<=cj<75 cj<60
[注] 该程序应在项目中
三、命令窗口输入
Modify command [程序名]
[注] 该程序应在默认位置
四、命令窗口输入
Modify command ? 显示对话框
3
7.1.3 运行程序 (3种方式)
一、VFP系统菜单
程序 | 运行 | 显示对话框,选择程序
二、项目管理器
代码 | 选择程序 | 运行 [注] 该程序应在项目中
13
7.2.3 分支结构程序设计
条件分支根据条件的测试结果执行不同的操作。
2种命令:
当条件表达式结果为.T..时,执行命令组1。
IF…ELSE…ENDIF
当条件表达式结果为.F.时,执行命令组2。 执行完组1或组2后,执行ENDIF后面命令。
DO CASE…ENDCA通S常E,使用于只有两个分支的情况。
19
分支结构程序举例
1、编写程序, 实现功能为:判断一个数的奇偶性。
INPUT "请输入数据:" TO C IF C%2=1
? STR(C)+"是奇数" ELSE
? STR(C)+"是偶数" ENDIF
VFP第5章 程序设计基础

考点5:用户自定义函数的定义与调 用
• • • • • • • 1、定义 FUNCTION 函数名 [PARAMETERS 形参变量列表] 语句块 [RETURN 表达式] ENDFUNC 注:RETURN选项将表达式的值返回给调用程序, 若缺省该项,则将逻辑.T.值返回给调用程序。
考点5:用户自定义函数的定义与调 用
考点9:对象的属性、事件和方法
• 对象:是类的一个实例,包括了数据和过程。具 有所在类所定义的全部属性和方法。 • VFP有两种对象:容器对象和控件对象。 • 属性:控件、字段或据库对象的特性。 • 事件:由对象识别的一个动作。 • 方法:与对象相联系的由程序执行的一个处理过 程,即处理事件的一组代码。 • 用户不可以为对象创建新的事件,但可以创建新 的方法程序。 • P188 例31、37,P174 例13,P189 例41,P192 8、10,P199 14、18
考点10:VFP的基类
• VFP的基类分为两大类:容器类和控件类。 • 容器类可以包容其他类,容器类有:容器、工具 栏、表单集、表单、表格、表格列、页框、页面、 命令按钮组和选项按钮组。 • 控件类可以包含在容器类中,但不可以包含其他 类的基类。除了容器类的其他基类都是控件类。 • P173 例10、11、14,P192 12,P199 12、16、 19
第5章 程序设计基础
考点1:程序的创建、修改与运行
• 创建程序文件:modify command[文件名/?] • 运行程序文件:do 文件名 [with……]
考点2:分支(选择)结构语句
• 1、IF 表达式 • 语句块1 • [ELSE • 语句块2] • ENDIF
考点2:分支(选择)结构语句
考点11:对象的引用
(完整版)vfP程序设计基础习题集

VFP程序设计习题习题一一、判断题(1分/题,共20分,对打画√,错打×)1.建立自由表分两步:定义表结构和输入数据。
2.表间的关系分三种:一对一关系、一对多关系和多对多关系。
3.若要使用多个表,就要使用多个工作区。
4.在应用程序中可以通过使用该工作区的表的别名来标识工作区。
5.对象具有属性,而属性只能在设计阶段设置。
6.引用对象的方法分绝对引用和相对引用。
7.表单集是指两个以上的表单同时输出,并且可以通过程序或鼠标交换输出权。
8.一条命令可分几行写,在行结束处用“:”表示一行未完,转入下一行。
9.VFP主要数据容器有:表记录、变量和数组。
10.报表包括两个基本组成部分:数据源和布局。
11.如果不想使用“报表向导”或“快速报表”设计报表,可以从空白报表布局开始,然后自己添加控件。
12.表选择查询输出的去向可以是浏览、报表或表单。
13.视图与查询相类似的地方是:可以用来从一个或多个相关联的表中提取有用信息。
14:视图与表相类似的地方是:可以用来更新其中的信息,并将更新结果永久保存在磁盘上。
15.在“数据库设计器”中,视图的显示方式与表在分层结构中的显示方式相同,所不同的是视图名代替了表名。
16.一个视图在使用时,将作为临时表在自己的工作区中打开。
17.如果打开基于本地表的视图,则在Visual FoxPro的另一个工作区中基表被同时打开。
18.在视图中更新数据与在表中更新数据类似,使用视图还可以对其基表进行更新。
19.VFP中的NULL表示未知数据,便于与含有NULL值的SQL数据库一起工作。
20.索引是改变表的物理顺序,排序是排列表的逻辑顺序。
二、选择题(每个选择3分,共24分)1.统计女生人数并将结果存放于变量X中的命令是()(A).COUNT FOR .NOT. 性别=”男” TO X(B).COUNT FOR ( 性别=”女”)=.T. TO X(C).SUM FOR ( 性别<>”男”)=.T. TO X(D).SUM FOR 性别=”女” TO X2. 在已打开的表中,要永久删除当前记录位置开始的10条记录,可用()(A)先执行DELETE NEXT 10命令,后用PACK命令(B)先执行DELETE RECORD 10命令,后用PACK命令(C)先执行DELETE FOR RECORD> 10命令,后用PACK命令(D)ZAP NEXT 103.按数值型字段”总分”进行索引,使其按降序排列的命令是()(A)INDEX ON -总分TO WP(B)INDEX ON 总分/A TO WP(C)INDEX ON 总分TO WP(D)INDEX ON 总分/D TO WP4.下列操作后,不改变表记录指针的命令是()(A)RECALL(B)LIST(C)SUM(D)REPL ALL5.按照数据库的数据模型分类,VFP属于()(A)层次型(B)关系型(C)网状型(D)混合型6.函数LEN(SPACE(5)-SPACE(1))的返回值是()(A)错误信息(B)17(C)6(D)47.某表文件中有日期型字段”出生日期”,设N=’01/01/80’,下列命令正确的是()(A)LOCATE FOR 出生日期=’01/01/80’(B)LOCATE FOR 出生日期=&N(C)LOCATE FOR DTOC(出生日期)=N(D)LOCATE FOR DTOC(出生日期)=CTOD(N)8.从表customer中提取所有记录生成查询,并将查询结果存放于表MyCursor的SQL命令为()(A)SELECT * FROM customerINTO CURSOR MyCursor(B)SELECT * FROM customerINTO TABLE MyCursor(C)SELECT ALL FROM customerINTO TABLE MyCursor(D)CREATE SQL VIEWMyCursor ASSELECT * FROM customer答案一.1.(√)2.(√)3.(√)4.(√)5.(×)6.(√)7.(√)8.(×)9.(√)10.(√)11.(√)12.(×)13.(√)14.(√)15.(√)16.(√)17.(√)18.(√)19.(√)20.(×)二.AAAABCCB习题二一.判断题(1分/题,共21分,对画√,错画×)1.VFP程序每行必须以“;”结尾。
程序设计基础(vfp)第五章程序设计基础1

如:
USE RSGZ.DBF brow SUM 实发工资,基本工资*12 TO SFGZ, NJBGZ AVERAGE 基本工资 TO JBGZ ?"实发工资=",SFGZ ?"基本工资*12=", NJBGZ ?"平均基本工资=", JBGZ USE
5.警告信息显示控制命令 [格式] SET SAFETY ON | OFF 说明:为了安全,在执行一些不能再恢复的操作前,系统 在屏幕上显示“警告信息”提示谨慎操作。如ZAP命令删除 记录,INDEX 命令是否覆盖文件等。设置OFF状态将不作提 示直接操作,默认为ON状态。 6.输出文本信息语句 [格式] TEXT <文本信息> ENDTEXT 说明:在光标当前位置显示文本信息,TEXT — ENDTEXT 成对出现,缺一不可。相当于多个?语句,但能控制输出文 本的位置。
SET TALK OFF CLEAR .T. INPUT "请输入第一个数据:" TO A a<b INPUT "请输入第二个数据:" TO B IF A<B &&满足条件两个数据发生交换,否则不执行条件语句 交换a,b的值 T=A A=B B=T ENDIF ?a,b ?A,B SET TALK ON RETURN
程序的运行
编译源程序
先在程序编辑窗口打开要编译的源程序。选择[程序]菜单 的[编译]命令,开始编译。如有错误,出现编译对话框并 指出错误类型。 编译后生成.FXP文件。 执行程序时,若有.FXP文件就立即执行;若没有.FXP文 件只有.PRG源程序,则解释执行.PRG源程序,并同时 编译为.FXP文件。
2024年度VFP程序设计完教学课件完整版电子教案

ODBC概述
介绍ODBC的基本概念、工作原理和配置方法。
2024/3/23
配置ODBC数据源
详细讲解如何配置ODBC数据源,包括添加数据源、设置数据源属性 和测试连接等步骤。
VFP连接ODBC数据源
阐述在VFP中如何连接ODBC数据源,以及如何使用SQL语句对数据 源进行操作。
ODBC连接常见问题及解决方法
感谢您的观看
THANKS
2024/3/23
45
35
报表布局设置和打印输出功能实现
打印报表
导出报表为其他格式(如PDF、Excel等)
2024/3/23
36
自定义函数和过程编写技巧
自定义函数编写技巧
编写函数体,实现特 定功能
2024/3/23
确定函数名称和参数 列表
37
自定义函数和过程编写技巧
确定过程名称和参数列表
自定义过程编写技巧 返回函数结果
数据库优化与维护
监控数据库性能,对数据库进行优 化调整。定期进行数据库维护,如 更新统计信息、重建索引等,确保 数据库稳定运行。
12
03
程序设计基础与流程控制
2024/3/23
13
程序设计风格及规范
01
02
03
04
简洁明了
程序应简单易懂,避免冗余和 复杂的代码结构。
命名规范
变量、函数、类等命名应符合 规范,易于理解和维护。
通过类可以创建多个具有相同 属性和方法的对象,每个对象 都有自己的状态和行为。
20
继承、多态和封装概念实现
继承是子类自动共享父类属性和 方法的一种机制,可以实现代码
重用和扩展。
2024/3/23
chap2vfp程序设计基础知识

(2)常量
常量的值在操作过程中始终保持不变
★数值型常量
即常数,表示数量大小,由数字、小数点和 正负号构成,占8字节
对于特大或特小可用浮点数表示 例: 3.12E28
★货币型常量
表示货币值,表示时需加上﹩符号
可整理ppt
10
★字符型常量
也称字符串,它是由字符串“定界符”括起来的一 串字符,这些字符可以是一切可以表示的字符
取值有两个真或假 表示形式:表示真.T.或.t.或.Y.或.y. ;表示假有.F.
或.f.或 .N.或 .n.
★日期型常量和日期时间型常量
用花括号作定界符 分隔符:年月日间用斜扛或连字符或点符号或空
格;时分秒用冒号 传统日期格和严格日期格式
可整理ppt
12
变量
变量的创建
不特别说明的话, 通常变量就是指
SET MARK、SET CENTURY命令设置日期格式,
或通过系统的“选项”对话框中的“区域”卡中
设置
可整理ppt
4
2.4 数据类型和字段类型
❖ 日期时间型(T)
在保存日期、时间或二者兼有时使用
宽度为8字节,第一个4字节保存日期,其余保 存时间
与日期型一样,要用“{}”将数据括起来
可同时包含日期时间,也可只包含两者之一
第2章 语言概述及程序 设计基础
淮海工学院计算机系 陈加顺
可整理ppt
1
2.4 数据类型和字段类型
1.数据类型
❖ 字符型(C)
由任意字符(字母、数字、空格、符号等)组成 每个字符占一个字节,最多可有254个字符 字符型的常量要用英文的单引号或双引号括起来
(不可用中文标点)如:“A0001”、’数学系‘ 由数字组成的编码,它们认同字符型数据
VFP程序设计基础

VFP程序设计基础??不换行输出?另起一行的开始处输出常量1.数值型常量长度8字节数据类型N2.货币型常量长度8字节,在数值型常量前加上$, 数据类型Y3.字符型常量定界符:单引号,双引号,方括号注意:不包含任何字符的字符串叫空串,空串与包含空格的字符串不同。
数据类型C,英文字符为1个长度,汉字为2个长度测试字符串长度函数len()4.日期型常量严格的日期格式{^yyyy-mm-dd}Set mark to 设置日期分隔符Set century on 显示世纪数据类型:D 长度8字节注意点:越晚的日期越大,日期型可以相减(值为两者相差的天数),但不可以相加5.日期时间型格式:{^yyyy-mm-dd,hh:mm:ss am|pm}数据类型T,长度8字节注意点:日期时间型可以相减,值为两者相差的秒数,不可以相加混淆点:函数time()的返回值为字符型,不为日期时间型6.逻辑型常量表示形式有: .t. .f. .T. .F. .y. .n.占用1个字节数据类型为L其中.t.>.f.变量1.变量的命名规则字母、汉字和下划线开头,后接字母,数字,汉字和下划线构成。
注意点:变量名不可以用vfp系统保留关键字。
例如:xyz,年龄,A2为正确的变量名,2x,if,for则为错误的变量名2.变量分为内存变量和字段变量同一个字段名可能取值不同,因此打开表后表中的字段名是变量当出现内存变量名与字段变量名同名时,优先访问字段变量,如果要访问内存变量,则必须在变量名前加上前缀M.或者M->.3.内存变量的赋值①内存变量名=表达式②store 表达式to 内存变量名表4.数组数组是内存中连续的一片存储区域,它由一系列元素组成。
声明数组变量dimension <数组名> <下标上限1>[,<下标上限2>]….. declare <数组名> <下标上限1>[,<下标上限2>]…..注意点:①组声明好后,初始值为逻辑假,而不是0或者空值;②给数组名赋值,相当于给数组中所有元素赋同一个值;③数组名不能与简单变量名重复;④可以用一维数组的形式访问二维数组。
VFP程序设计基础

目文件中的程序代码文件。
• 2、例题 • 为项目文件“Myxm.Pjx”添加“F:\vfp\
program”文件夹中的所有程序文件。
9/28/2020
8
二、项目管理器的使用
• (五)用“其他”选项卡管理其他类型文
件
• 1、作用
• 使用“其他”选项卡,可以组织和管理项
9/28/2020
14
一、概念
• 3、属性(Attribute) • ①含义:属性是用来描述对象特征的参数。 • ②属性是属于某一个类的,不能独立于类
而存在。
9/28/2020
15
一、概念
• 4、事件与方法 • ①含义 • 事件(Event)是每个对象可能用以识别和
响应的某些行为和动作。
• 方法(Method)是附属于对象的行为和动
作。
• ②对象可以响应多种事件、多种方法。
9/28/2020
16
二、类的创建
• 创建类可以通过菜单方式和命令方式来完
成。
9/28/2020
17
二、类的创建
• 1、用菜单方式创建类 • ①步骤:“文件”→“新建”→在“新建”对话框中选择
“类”,再按“新建文件”按钮→在“新类”窗口…操作 →在“类设计器”窗口…操作
• 其中,标题是用来设置报表标题的区域,而标头
是用来设置报表表头的区域,细节是用来设置报 表中数据输出格式的区域,页注脚是用来设置报 表注释说明信息的区域。
9/28/2020
29
一、报表布局
• 3、添加报表控件 • 在“报表设计器”窗口,对于数据的输出
控制,是要通过报表控件属性控制输出操 作,这些控件的属性决定了数据的输出格 式、大小、颜色及位置等。
第11章VFP程序设计基础

(二)、源程序编写方法 )、源程序编写方法
1、通过VFP提供的集成环境来进行(项目管理器) 2、通过命令方式来进行。 具体的实现方法: (在命令窗口中) modify command 文件名
(三)、源程序执行方法 )、源程序执行方法
DO 文件名
返回
第二节、常用的命令语句
1、输入语句(P219) 、输入语句( ) input 提示信息 to 变量名 accept 提示信息 to 变量名 说明: 说明: 1)input可以用来输入各种类型的数据。输入相 应的数据时,对应的定界符不能缺省。 2)accept只能用来输入字符型数据。(输入字 符数据时不需要定界符)
4、除了可以分别对数组元素赋值以外,也可对数组中的所有元 素赋同一初值。 5、DIMENSION和DECLARE功能完全相同,常用DIMENSION。 定义数组命令使用示例
DIMENSION <数组名1>(<行>[,<列>])[,<数组名2> (<行>[,<列>])……]
DIMENSION A
( 2
C、例: 、 Clear Public sum Sum=0 Do jc with 2 S=S+sum Do jc with 3 S=S+sum Do jc with 4 S=S+sum ?s retu
Proc jc(t) Jc=1 For I=1 to t Jc=jc*I Next Sum=jc Retu
4、简单控制语句 、
1) do 程序名 子程序名:执行一个VFP程序或子程序 程序名/子程序名 2)clear : 清除主窗口显示的内容。
3)set talk off/ON :禁止非输出性的执行结果显示
VFP程序设计教学课件汇总整本书电子教案全套教学教程完整版电子教案最新

2.1 表的建立与修改
(4)当光标停在备注型或通用型字段的memo或 gen区时,若不想输入数据可按回车键跳过;若 要输入数据,按Ctrl+PgDn或用鼠标双击都能打 开相应的字段编辑窗口。某记录的备注型或通用 型字段非空时,其字段标志首字母将以大写显示, 即显示为Memo或Gen。
退出编辑按Ctrl+W键或单击窗口右上角的 关闭按钮,即可将数据存盘。
1.4 数据模型
层次模型:像一棵倒放的树,这种模型用结点来表示 不同的记录型,结点间的连线则表示记录型之间的联 系,结点之间的关系是1:N。其特点是: 1)仅树根结点无父结点,其层次最高。 2)一个父结点向下可以有多个子结点,但一个子结点 向上只有一个父结点。 3)同层次的节点之间没有联系。
1.4 数据模型
差,记为﹣A ﹣ B
【例】求 R ∪ S, R ∩ S, R ﹣ S
RABC
x 1k x3e y 5k
SA B C
x3e x6e y5k
注意:参加运算的 关系必须是相容的 和可并的,即它们 应有相同的度(属 性个数相等),且 相应的属性值来自 同一个域。
1.4 数据模型
2. 关系运算
选择运算:从一个关系中找出满足给定条件的元组操作, 或者说从一个二维表格中找出满足给定条件的记录的操 作称为选择。
(四)1对.5话V框isual FoxPro 6.0用户界面
典型的对话框由若干按钮和矩形框构成
列表框
文本框、选择框、列表框
单选框、复选框
文本框
复选框 单选框
1.5 Visual FoxPro 6.0用户界面
(2)VFP的界面操作
主要有四种
1 鼠标操作 2 窗口操作 3 菜单操作 4 对话框操作
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
教学目标及重点难点
教学目标
掌握程序的基本概念及简单程序的编写 掌握分支语句的使用方法 掌握循环语句的使用方法 能灵活应用程序结构编程解决实际问题
重点难点
分支结构
IF…ELSE…ENDIF DO CASE…ENDCASE
循环结构
FOR…ENDFOR DO WHILE…ENDDO SCAN..ENDSACN
功能
命令等待用户从键盘输入字符串 命令只能接收字符串,输入字符串不需要加 定界符,否则,系统会把定界符作为字符串 的一部分 不输入任何内容按回车键,则把空串赋给指 定的内存变量
格式输入语句
格式
@ <行号>,<列号> Say <提示> GET <变量名 > … 可以是多个语句 READ
功能
VFP等待用户输入一个或多个值
9.3.3 循环结构
根据条件或计数要求重复执行一段代码 基于"计数"的循环:FOR – ENDFOR 不知重复次数的循环:DO WHILE – ENDDO 数据表记录循环:SCAN – ENDSCAN
FOR – ENDFOR语句
语法 FOR < 循环变量 > = < 初值 > TO < 终值 > [STEP < 步长>] <语句序列> ENDFOR|NEXT 功能
求二元一次方程的根
输入二元一次方程系数a,b,c,计算二元一 次方程根 计算公式如下:
分支语句嵌套
IF <条件 条件> 条件 IF <条件 条件> 条件 <语句序列 语句序列1> 语句序列 ENDIF ELSE IF <条件 条件> 条件 <语句序列 语句序列2> 语句序列 ELSE <语句序列 语句序列3> 语句序列 ENDIF ENDIF
重复执行<语句序列>,直到<循环变量>的值大于<终 值> 执行次数=ABS(循环终止值-循环起始值)/步长+1
执行过程
计算1+2+3+…+100 的和
S=0 FOR i=1 TO 100 S=S+i NEXT ? "1+2+3+…+100=",S
WORKHELPER 办公助手提供
输入半径,求圆的面积
R=0 &&指定变量为数据类型和初值 @ 10,10 SAY "请输入圆的半径:" GET R READ S=3.1415926*R*R @ 12,10 SAY "圆的面积为:"+str(s)
9.2.4 输出语句
格式
ACCEPT [<字符表达式>] TO <内存变量>
WORKHELPER 办公助手提供
9.2 简单的输入输出命令
9.2.1 INPUT命令 格式
INPUT [<字符表达式>] TO <内存变量>
功能
命令等待用户从键盘输入数据后按回车键确认 字符表达式为提示信息 输入的数据可以是常量、变量、表达式,但不能不 输入数据直接按回车 输入不同的数据类型数据时时加定界符,如’李 明’、.T.、.F.、{^2005-10-28}
求圆周长和圆面积程序
当输入半径大于零时,计算圆周长和圆面积,否则显示"半径值不 能小于等于零"的提示信息。 CLEAR SET TALK OFF INPUT "半径=" TO R IF R>0 L=2*PI()*R S=PI()*R*R ? " 圆周长=",L ? "圆面积=",S ELSE ?" 半径值不能小于等于零" ENDIF SET TALK On
菜单方式
文件→新建→程序 打开→编辑已有程序
程序文件的保存
指定程序文件的存放位置和文件名(*.prg) 保存
"文件"菜单→"保存" Ctrl+W键保存文件
放弃本次修改
"文件"菜单→ "还原" Esc键
程序文件的执行
命令方式
命令格式:DO <命令文件名> 命令功能:将指定的命令文件调入内存并从 第一条命令语句开始执行。
菜单方式
"程序"菜单→"运行" 从文件列表框中选择要执行的命令文件,并 单击"运行"命令按钮。
几个特殊命令
当程序文件被执行时,文件中包含的命令将被 依次执行,直到所有的命令被执行完毕 几个特殊命令
(1)CANCEL:终止程序运行,清除所有的私有变 量,返回命令窗口; (2)DO <程序>:转去执行另一个程序; (3)RETURN:结束当前程序的执行,返回到调用 它的上级程序,若无上级程序则返回到命令窗口; (4)QUIT:退出Visual FoxPro系统,返回到操作 系统
输入姓名查询学生信息
输入三角形三边长a,b,c,计算周长和面积 周长计算公式
L=a+b+c
面积计算公式
WORKHELPER 办公助手提供
9.3.2 分支结构
IF…ENDIF语句 语法 IF <条件> <语句序列> ENDIF 语句功能
判断给定条件是否成立 成立,则执行语句序列
分支结构IF…ELSE…ENDIF语句
9.2.2 ACCEPT命令
格式
ACCEPT [<字符表达式>] TO <内存变量>
功能
命令等待用户从键盘输入字符串 命令只能接收字符串,输入字符串不需要加 定界符,否则,系统会把定界符作为字符串 的一部分 不输入任何内容按回车键,则把空串赋给指 定的内存变量
输入半径,求圆的面积
Set talk Off &&关闭对话模式 Set echo off &&关闭结果回显 Set step off &&关闭单步跟踪 Clear &&清屏 ACCEPT "请输入圆的半径R=" TO R S=3.1415926*VAL(R)*VAL(R) ? "圆的面积为S="+Str(s) Return Set step on Set echo on Set TALK ON格式
DO CASE…ENDCASE语句
DO CASE CASE <条件1> <语句序列1> CASE <条件2> <语句序列2> …… CASE <条件n> <语句序列n> [OTHERWISE <语句序列>] ENDCASE
输入成绩,判断成绩等级
SET TALK OFF CLEAR INPUT "请输入成绩:" to StudScore 请输入成绩: 请输入成绩 Do Case case StudScore>=90 StudLevel="优秀 优秀" 优秀 case StudScore>=80 StudLevel="良好 良好" 良好 case StudScore>=70 StudLevel="中等 中等" 中等 case StudScore>=60 StudLevel="及格 及格" 及格 Otherwise StudLevel="不及格 不及格" 不及格 endcase ?"成绩等级为 成绩等级为:"+StudLevel 成绩等级为 Return SET TALK ON
功能
命令等待用户从键盘输入字符串 命令只能接收字符串,输入字符串不需要加 定界符,否则,系统会把定界符作为字符串 的一部分 不输入任何内容按回车键,则把空串赋给指 定的内存变量
9.3 结构化程序
格式
ACCEPT [<字符表达式>] TO <内存变量>
功能
命令等待用户从键盘输入字符串 命令只能接收字符串,输入字符串不需要加定界符, 否则,系统会把定界符作为字符串的一部分 不输入任何内容按回车键,则把空串赋给指定的内 存变量
第九讲 VFP程序设计基础
鲁 宁 学时: 节 学时:2节
教学内容
9.1 程序概念 9.2 简单的输入输出命令 9.3 程序结构
9.3.1 顺序结构 9.3.2 分支结构
IF…ELSE…ENDIF DO CASE…ENDCASE
9.3.3 循环结构
FOR…ENDFOR DO WHILE…ENDDO SCAN..ENDSACN
Set talk Off Clear INPUT "请输入边长 请输入边长a=" to a 请输入边长 INPUT "请输入边长 请输入边长b=" to b 请输入边长 INPUT "请输入边长 请输入边长c=" to c 请输入边长 L=a+b+c D=(a+b+c)/2 S=sqrt(d*(d-a)*(d-b)*(d-c)) ? "三角形的周长 三角形的周长L="+str(L) 三角形的周长 ? "三角形的面积 三角形的面积S="+str(S) 三角形的面积 SET TALK ON
ACCEPT [<字符表达式>] TO <内存变量>
功能
命令等待用户从键盘输入字符串 命令只能接收字符串,输入字符串不需要加定界符,否则,系统会把定界符作 为字符串的一部分 不输入任何内容按回车键,则把空串赋给指定的内存变量
9.2.3 WAIT命令