第七章 Visual FoxPro 程序设计

合集下载

第7章 Visual_FoxPro程序设计基础

第7章 Visual_FoxPro程序设计基础




<命令序列2> [RETURN[<表达式>]] [ENDPROC︱ENDFUNC]
(2)打开过程文件 【命令】SET PROCEDURE TO <过程文件 名1> [,<过程文件名2>……][ADDITIVE] (3)执行过程文件中的过程 【命令】DO <过程名> 或 <过程名>() (4)关闭过程文件 【命令】CLOSE PROCEDURE 或 SET PROCEDURE TO

2.过程文件 过程(或称子程序)是作为一个文件独立 地存储在磁盘上,为提高系统的运行效率, 可以把多个过程写入到—个过程文件中。一 个过程文件由多个过程组成,过程文件的扩 展名仍然是.PRG。 (1)建立过程文件 【命令】MODIFY COMMAND <过程文件名 >



过程文件的基本书写格式: PROCEDURE︱FUNCTION <过程名 1> <命令序列1> [RETURN[<表达式>]] [ENDPROC︱ENDFUNC] PROCEDURE︱FUNCTION <过程名 2>







7.2.1分支结构 单向分支 单向分支,即根据用户设置的条件表达式 的值,决定某一操作是否执行。 【命令】 IF <条件表达式> <命令行序列> ENDIF 【例7-7】编写程序P6.PRG,其程序功能 是找出任意两个数中最大值。
(2)双向分支 双向分支,即根据用户设置的条件表达式 的值,选择两个操作中的一个来执行。 【语句】IF <条件表达式> <命令行序列1> ELSE <命令行序列2> ENDIF 【例7-8】编写程序P7.PRG,其程序功能 是:请用户输入待查询学生的姓名,显示 该学生基本情况。

Visual FoxPro 9.0 基础教程第7章 面向对象程序设计基础

Visual FoxPro 9.0 基础教程第7章 面向对象程序设计基础
类的事件、方法和属性的定义
类的事件和方法的定义
类的属性的定义
对象的操作
由类创建对象 objectname =createobject(classname) 设置对象的属性 父类.对象.属性=值 mand1.Caption=“退出” 调用对象的方法和触发对象的事件 Parent.Object.Method Parent.Object.Event 对象触发则执行事件的对应代码
7.1.2 类的概念
类(Class) 所谓类,就是一组对象的属性和行为特征的抽象描述。或者说,类是具有共同属性、共同操作性质的对象的集合。 类是对象的抽象描述;对象是类的实例。类是抽象的,对象是具体的。
7.2.1 基类
基类又可以分成容器类和控件类: 容器类(Containers class)可以容纳其它对象,并允许访问所包含的对象。如表单,自身是一个对象,它又可以把按钮、编辑框、文本框等放在表单中。 控件类不能容纳其它对象,它没有容器类灵活。如文本框,自身是一个对象,在文本框中不可放其它对象。由控件类创造的对象,是不能单独使用和修改的,它只能做为容器类中的一个元素,通过由容器类创造的对象修改或使用。
面向对象的可视化程序设计方法举例
7.1.1 对象的概念
对象(Object) 对象是反映客观事物属性及行为特征的描述。 对象是面向对象编程的基本元素,是“类”的具体实例。 属性(Properties) 对象的属性特征标识了对象的物理性质;对象的行为特征描述了对象可执行的行为动作。 对象的每一种属性,都是与其它对象加以区别的特性,都具有一定的含义,并赋予一定的值。
设计对象的两种方式
用编程方式设计对象 用面向对象方式设计对象
对象设计实例:编程方式
form1.SHOW 调用方法

《Visual-Foxpro程序设计》教学大纲精选全文完整版

《Visual-Foxpro程序设计》教学大纲精选全文完整版

可编辑修改精选全文完整版《Visual Foxpro程序设计》教学大纲一、课程的性质和任务Microsoft Visual Foxpro关系数据库是新一代小型数据库管理系统的杰出代表。

它具有强大的性能、完整而丰富的工具、较高的处理速度、友好的界面以及完备的兼容性等特点。

是用户收集信息、查询数据、创建集成数据库系统、进行应用系统开发较为理想的工具软件。

目前在我国有广泛的应用基础和用户群。

《Visual FoxPro程序设计》课程是目前国内各高校普遍开设的一门计算机公共课程,学习本课程将有助于学生巩固、加深和拓展已有的计算机和信息技术知识;掌握基本的数据库应用技术和基于数据库的应用程序设计技术;培养逻辑思维能力,以及分析问题和解决问题的能力。

将专业知识与计算机信息管理知识和技能结合起来,使之在今后的学习和工作中适应新时代的要求。

二、课程教学目标(一)知识教学目标本课程为必修课,按照本大纲采用同一程序设计语言开课的各专业统一内容、统一要求、统一考试。

通过本课程的课堂教学与上机实训,要求学生:1、了解信息(Information)、数据(Data)、数据库(Data Base)、数据库管理系统(DBMS)和数据库系统(DBS)的基本概念,以及数据库技术在当今社会各个层面管理中应用的重要性。

2、熟悉Visual FoxPro的用户界面和运行方式,掌握Visual FoxPro的各种数据类型,以及常量、变量、表达式、函数等各种数据元素,掌握Visual FoxPro 的命令格式和主要文件类型等基础知识。

3、掌握数据表的创建方法,以及数据记录的插入、删除、修改、排序、索引、查找、统计汇总等基本操作,同时掌握多个数据表之间的关联、更新等操作。

4、掌握数据库创建与维护的方法,以及数据字典、数据视图、数据库表之间的永久关系和参照完整性等知识,掌握应用数据库技术管理大量信息的基本技能。

5、熟悉SQL结构化查询语言,了解该语言的特点;着重掌握SQL的数据定义语言、数据修改语言和数据查询语言,能够使用基本SQL命令创建、维护和查询数据库和数据表。

Visual FoxPro程序设计课程知识点

Visual FoxPro程序设计课程知识点

Visual FoxPro程序设计课程学习要点第1章数据库基础1.Visual FoxPro就是一种关系数据库管理系统。

2.关系数据库系统中常用的关系术语:(1)关系:一个关系就是一张二维表。

在Visual FoxPro中,一个关系存储为一个文件,文件的扩展名为.dbf,称为“表”。

(2)元组:在一个二维表(一个具体的关系)中,水平方向的行称为元组,每一行是一个元组。

元组也可以称之为记录。

(3)属性:二维表中垂直方向的一列称之为关系的一个属性,也就是表中的一个字段。

3.专门的关系运算(选择、投影、联接)(1)选择:是指从指定的关系中选择某些满足条件的元组构成一个新的关系。

(2)投影:是指从指定的关系中选择某些属性的所有值组成的新关系。

(3)联接:是将两个关系联接在一起,形成一个新的关系。

4.计算机数据管理发展经历了人工管理、文件管理、数据库系统、分布式数据库系统、面向对象数据库系统。

第2章 Visual FoxPro系统初步1.Visual FoxPro 6.0主要有两种工作方式:交互操作方式和程序执行方式。

2.VFP的命令和子句的书写规则。

(1)VFP每条命令必须以命令动词开始,回车键结束。

(2)命令动词与子句、子句与子句、子句内的各部分之间必须用空格(至少一个空格)隔开。

(3)命令子句写在命令动词后,数量不限,次序不影响命令的执行结果。

(4)命令动词与各子句中的保留字,包括以后将介绍的函数名都可简写为前4个字符,而且对其中出现的英文字母,使用大小写等效。

(5)一般情况下,一行只能写一条命令,若一行写不下,可在行尾使用续行符“;”并回车分行,并在下一行继续键入该命令。

(6)命令中出现的所有符号,如括号、逗号、双引号等应在英文半角状态下输入。

3.VFP常用的命令子句主要有如下几种。

(1)范围子句范围子句用来确定执行该命令涉及的记录范围,一共有4种限定方法。

①ALL 所有记录。

②NEXT <n> 从当前记录起的N个记录。

VFP

VFP
39
f=2*x-1
case x<3
f=3*x+5
case x<5 f=x+1
2013年秋
VFP程序设计
四、循环结构:
重复执行相同的操作(循环体) 1、条件循环
条件成立? 假
do while<逻辑表达式>
真 循环体
<语句序列>
enddo
enddo 后面语句
40
2013年秋
VFP程序设计
例:编写计算s=1+2+3+……+100和的程 序,要求输出结果格式为: s=1+2+3+…+100=5050 clear 循环 s i s=0 次数 初始值 0 1 i=1 1 1 2 do while i<=100 2 3 3 s=s+i 3 6 4 i=i+1 …… …… …… enddo 99 4950 100 ?"s=1+2+3+...+100=",s 100 5050 101 cancel
X Y X 2 X 2
2
( X 1) (0 X 1) ( X 0)
VFP程序设计
33
2013年秋
VFP程序设计
如何去掉空格?
34
2013年秋
VFP程序设计
35
2013年秋
VFP程序设计
3、多分支结构
do case case <逻辑表达式1> <语句序列1> case<逻辑表达式2> <语句序列2> …… case<逻辑表达式n> <语句序列n> [otherwise <语句序列n+1>] endcase

Visual FoxPro VF 第7章 查询与视图(1)

Visual FoxPro  VF 第7章 查询与视图(1)

• 注意:视图与查询最大的区别:视图是可 更新的,而查询不可以; • 查询有“查询去向”功能,可视图没有。
• 05-4考题: • 19、在Visual FoxPro中,关于查询和视图的正确描述 是______。 • A、查询是一个预先定义好的SQL SELECT语句 文件 • B、视图是一个预先定义好的SQL SELECT语句 文件 • C、查询和视图是同一种文件,只是名称不同 • D、查询和视图都是一个存储数据的表 • 30、在Visual FoxPro中,以下关于视图描述中错误的 是______。 • A、通过视图可以对表进行查询 • B、通过视图可以对表进行更新 • C、视图是一个虚表 • D、视图就是一种查询
• 33、删除视图myview的命令是______。 • A、DELETE myview VIEW • B、DELETE myview • C、DROP myview VIEW • D、DROP VIEW myview • 07-4考题: • 15、在Visual FoxPro中,以下关于查询的描述正 确的是______。 • A、不能用自由表建立查询 • B、只能用自由表建立查询 • C、不能用数据库表建立查询 • D、可以用数据库表和自由表建立查询
• 2、视图
• 如:CREATE VIEW e_w AS SELECT 职 工号,仓库号 FROM 职工
– 视图是一个定定的虚拟表,可以是本地的、远程的 或带参数的。 – 视图可引用一个或多个表,或引用其他视图。 – 视图是可更新的。 – 在关系数据库中,视图也称作窗口,即视图是操作 表的窗口,可以把它看作是从表中派生出来的虚表 (依赖于表,不独立存在)。 – 视图是数据库中的一个特有功能,只有在包含视图 的数据库打开时,才能使用视图。 – 视图一经建立就基本可以像基本表一样使用,适用 于基本表的命令基本都可以用于视图。 – 视图的建立:

VFB程序设计教程教学课件丶第七章

VFB程序设计教程教学课件丶第七章

值 对话框按钮属性 0 仅有一个“确定”按钮 1 有“确定”和“取消”按 钮 2 “终止”、“重试”、 “忽略” 3 “是”、“否”、“取消”
4 “是”和“否”按钮 5 “重试”和“取消”按钮
(3) 对话框窗口标题
MESSAGEBOX(提示信息 [, 对话框的属性 [, 对话框窗口标题]])
例如:messagebox("请选择", 32 + 3 + 0 , "测试") (4) 返回值:该函数执行后有返回值,类型为数值型 n=messagebox("请选择", 32 + 3 + 0 , "测试") ?n
7.3.1 顺序结构
命令序列1
顺序结构程序的含义 命令序列2 按语句排列的先后顺序,从上到下 …… 依次执行各语句。 每个语句执行一次,且只执行一次。 命令序列n 【例7-3】编程计算圆的周长和面积。 清屏幕 Clear Input "请输入圆的半径" To R 输入半径R的值 Pi=3.14 定义圆周率变量pi L=2*PI*R 计算周长L和面积S S=PI*R*R ?"圆的周长为:" , L 输出L和S的值 ?"圆的面积为:" , S Return
7.3.2 选择结构
选择结构又称分支结构,它是在程序执行过程
中,通过判断某些条件是否成立来控制程序走 向的程序结构。 分支程序结构的分类: 单(向)分支 双(向)分支 多(向)分支
1.单(向)分支
格式: IF <条件>
条件? 不成立
<命令序列1> 成立 ENDIF clear 命令序列1 功能:若<条件>成立, input "请输入一个正整数" to x 则执行<命令序列1>;if x>0 ?"输入的是正整数" 否则执行ENDIF后面的语句。 ?"x=" , x 说明: endif IF 和ENDIF必须成对出现。 return <条件>是一个逻辑值表达式。 <命令序列1>可以是多条语句的集合。

Visual_FoxPro第7章学案 程序设计

Visual_FoxPro第7章学案 程序设计

六程序设计基础命令文件1命令文件的格式A2命令文件的建立与修改C3命令文件的运行C常用命令1输入输出命令C2常用的系统设置命令C3其它命令C程序文件1结构化程序设计的三种基本结构:顺序,选择,循环D2过程文件的建立及重要性C3子程序与过程的调用B4参数的传递与变量的作用域B命令文件VFP6支持过程化程序设计和面向对象程序设计两种程序设计与开发的类型。

程序可以分为三个部分:第一部分是程序的说明部分,一般用于说明程序的功能、文件名等需要说明的有关信息。

第二部分是进行数据处理的部分,通常这部分程序常包括下列三个部分,依次为:环境设置、数据处理(输入运算输出)、环境恢复。

第三部分是程序的控制返回部分,它控制程序返回到调用该程序的调用处。

1命令文件的格式AVFP的程序是由若干有序的命令行组成,且满足下列规则:(1)用于结束的语句Cancel :其功能是结束程序的执行,返回命令窗口。

Return:结束本程序模块的执行,返回上一级调用处。

如果是主程序最高级调用,返回命令窗口。

(2)每一行可以从任一列开始,为便于阅读,一般程序结构左对齐,而控制结构内的语句序列比控制结构的语句缩进若干格。

每条命令以回车键结束。

(3)一个命令行内只能写一条命令,命令行以回车键结束。

一条命令在一个物理行内写不下时,可以分成几行。

换行的方法有两种:一种是在物理行的末尾加符号“;”,表示下一行输入的内容是本行的继续;另一种是系统自动换行,即输入程序时,只管逐条命令输入,无需考虑本条语句是否超过屏幕行宽的最大限度,当输入的语句超过屏幕的最大行宽时,系统自动换行。

输入时只需在一行结束时按回车键,通知系统本命令行输入完毕。

(4)各命令动词、系统保留字、系统函数可以取前四个字母。

各命令动词、系统保留字、选项之间至少有一个空格作为分隔符。

使用“命令”窗口可以在“命令”窗口中键入 Visual FoxPro 命令并按 ENTER 键执行。

若要重新执行该命令,还可以将光标移到此命令所在行并按 ENTER 键。

第七章 Visual FoxPro程序设计基础

第七章 Visual FoxPro程序设计基础

2.运行程序 命令格式 DO [FileName] 命令功能 该命令用于运行指定的程序。 该命令用于运行指定的程序。 命令说明 FileName参数是要运行的程序名称。 参数是要运行的程序名称。 参数是要运行的程序名称
3.其它关键命令
命令格式: 命令格式:CANCEL 命令功能:终止程序运行,清除所有私有变量, 命令功能 :终止程序运行, 清除所有私有变量 , 并返 回命令窗口。 回命令窗口。 命令格式: 命令格式:DO 命令功能:转去执行另一个程序。 命令功能:转去执行另一个程序。 命令格式: 命令格式:RETURN 命令功能:结束当前程序的执行, 命令功能 :结束当前程序的执行, 返回到调用它的上 级程序,若无上级程序则返回到命令窗口。 级程序,若无上级程序则返回到命令窗口。 命令格式: 命令格式:QUIT 命令功能:退出VFP系统,返回到操作系统。 命令功能:退出VFP系统,返回到操作系统。 VFP系统
语句功能:判断给定的条件是否成立。成立, 则执行语句序列1;否则执行语句序列2。 (1)ELSE是一个可选项。当ELSE子句缺省时, 如果条件不成立,将不执行任何语句。直接转 向ENDIF后的下一条语句。 (2)IF和ENDIF必须成对出现,IF是本结构的 入口,ENDIF是本结构的出口。 (3)条件语句可以嵌套,但不能出现交叉。 在嵌套时,为了使程序清晰、易于阅读,可按 缩进格式书写。
输ቤተ መጻሕፍቲ ባይዱ工资,判断等级
CLEAR INPUT "请输入工资:" to gz 请输入工资: 请输入工资 Do Case case gz>=1250 Level= "高" 高 case gz>=1230 Level= "中" 中 Otherwise Level= "低" 低 endcase ? "工资等级为 工资等级为:"+Level 工资等级为 Return SET TALK ON

VisualFoxPro程序设计

VisualFoxPro程序设计

在标签编辑器中,可以创建和编辑标签 模板,包括标签大小、边距、背景色、 字体等属性设置。
通过拖拽字段到标签模板中,实现数据 的动态显示。
打印功能在程序中调用方法
在VisualFoxPro程序中, 可以使用REPORT FORM 命令来调用报表进行打印 。
使用USE命令打开需要打 印的表或视图,然后执行 REPORT FORM命令并指 定报表名称。
打开已有的视图,在视图设计器中可以对 视图的字段、条件和排序等进行编辑修改 。
使用视图
视图更新
视图可以作为虚拟表在SQL语句中使用,也 可以作为数据源提供给其他应用程序使用 。
当基表数据发生变化时,可以通过刷新视图 来更新视图中的数据,保持数据的一致性。
04
表单设计与编程实践
表单基本元素及属性设置
在菜单设计器中,可以添加、删除和 修改菜单项。可以通过设置菜单项的 属性和事件来处理用户的操作。
03
生成菜单程序
完成菜单设计后,可以通过“生成” 功能将菜单转换为可执行的菜单程序 。生成的程序可以在VisualFoxPro环 境中运行,也可以作为独立的应用程 序运行。
工具栏按钮添加及事件处理
添加工具栏按钮
字段属性设置
在创建表结构时,可以为字段设置多种属性,如字段名、数据类型、宽度、小数位数、默 认值、是否允许空值等。这些属性可以在表设计器中进行设置。
数据完整性设置
为了保证数据的完整性和准确性,可以为表设置一些规则,如字段验证规则、记录验证规 则、触发器等。这些规则可以在表设计器中的"验证"和"触发器"选项卡中进行设置。
VisualFoxPro程序 设计
contents
目录

Visual FoxPro程序设计教程VFP 第7章

Visual FoxPro程序设计教程VFP 第7章

,将执行包含在事件过程中的全部代码。
方法(Method)则是附属于对象的行为和动作,方法也称方法程序 。方法程序过程代码由VFP定义,对用户是不可见的。
7.1.4 Visual FoxPro类的创建
1.用菜单方式创建类 2.用命令方式创建类
命令格式:Create Class <类名>
或: Create Class <类名> Of <类库名>
2. 类的特性
类具有继承性、封装性和多态性等特性。
(1) 继承性(Inheritance)
继承性是指通过继承关系利用已有的类构造新类。
继承表达了一种从一般到特殊的进化过程。在面向对象 的方法里,继承是指在基于父类(现有的类)创建子类(新
类)时,子类继承了父类里的方法和属性。当然可以为子类
添加新的方法和属性。
5.执行对象的事件
对象.事件名[([参数表])] 例如: FORM1.activate && COMM1的激活事件 comm1.Click && COMM1的单击事件

6.用编程方式设计对象
7.2 表单的基本操作
表单(Form)是Visua FoxPro提供的用于建立应 用程序界面的最主要的工具之一 。
器可以使用如下方法:
单击“文件”菜单中的“打开”命令,然后在“打 开”对话框中选择需要修改的表单文件。 在“项目管理器”窗口中选择“文档”选项卡,选 择其中需要修改的表单,然后单击“修改”按钮。
在命令窗口输入命令:
MODIFY FORM <表单文件名>
7.2.4 运行表单
在项目管理器窗口中,选择要运行的表单,然后单 击窗口里的“运行”按钮。

vfp第7章程序设计

vfp第7章程序设计

<语句行序列1>
CASE <条件表达式2>
<语句行序列2>
…………
CASE <条件表达式n>
<语句行序列n>
[OTHERWISE
<语句行序列n+1>]
ENDCASE
28
7.3.3 多分支结构 执行流程
条件表达式1
.F.
条件表达式2
.F.
……
.F.
条件表达式n
.F.
.T.
语句行序列1
.T. 语句行序列2
INPUT [<信息提示>] TO <内存变量>
字符串常量
可接收任意类型数 据,需加定界符
功能:从键盘输入数据赋值给<内存变量>。
12
7.1.3 程序中常用的基本语句
【例7-3】在成绩表cj.dbf中,按学号查询学
生的成绩情况。
CLEAR
USE cj.dbf
INPUT "输入要查询的学号:" TO xh2
最大等待 时间
提示窗口 的位置
WAIT "单字符输入语句测试" WINDOW AT 15,22 TIMEOUT 5
14
7.1.3 程序中常用的基本语句
4、定位输入输出语句
@ <行>,<列> [SAY<表达式1>] [GET<变量名>]; [DEFAULT<表达式2>]
[<READ>]
功能:在屏幕的指定行列位置(行列的编号从0 开始)输出<表达式1>的值,并可以修改GET子 句的变量值。

Visual FoxPro程序设计幻灯片.第7章

Visual FoxPro程序设计幻灯片.第7章

9
7.2 程序中常用的一些语句
7.2.1 常用的基本语句
(1)注释语句
可以提高程序的可读性,运行程序时不执行注释。 格式1:NOTE [<注释内容>] 格式2:* [<注释内容>] 格式3:&& [<注释内容>]
功能:添加注释语句。
说明:
注释内容可以是任何注释文本。
格式1和格式2从行首开始,且独自作为一行,格式3可用在一条 语句行的尾部。
在选择结构中,程序只能执行语句序列A或语句序列B之一,两 条执行路径汇合到一个出口,再执行其后的语句。其中语句序列 A和语句序列B中可以有一个空操作。 在VFP中IF语句和DO CASE语句实现选择结构。
选择结构执行流程(双分支)如图所示:
真 语句序列A
条件(或 逻辑)表 达式
假 语句序列B
21
16
(4)格式化输入输出命令
格式:@<行,列> [SAY <表达式1>] [GET <变量名>] [DEFAULT
<表达式2>] [VALID <关系/逻辑表达式>] [RANGE <下限>,<上 限>]
功能:在VFP主窗口中的指定位置上输入、输出和编辑数据。
说明:
若选用SAY而不选用GET子句,则在规定的行列处输出表达式1的值; 若选用了GET子句,则表达式1一般为字符串,作为提示信息。当执 行本命令后的READ命令时,将激活GET后的变量。 变量名通常指已存在的内存变量或字段变量。若使用字段变量,应 先打开相应的数据表。若变量不存在,则需要用表达式2定义变量 的初值,初值的具体内容和类型直接影响以后的编辑与输入。

visual foxpro数据库程序设计第七章知识点

visual foxpro数据库程序设计第七章知识点

.
• 7.程序的基本结构:顺序结构 (单分支 • if + end,双分支if+else+endif) 分支结构 • 循环结构 (loop返回到循环入口,exit强行退出循环) • 8.(1)子程序调用:do 返回:return (2)全局变量 public 私有变量 private 局部变量 local
• 3.(1)ctrl+w保存 (2)ctrl+q或esc退出 (3)建立和编辑程序文 件modify command(文件名可省略扩展名),Modify file文件名 中必须包括扩展名,系统会自动生成扩展名“.txt”.(4)运行程 序文件 do《程序文件名》(5).exe可执行文件 .app应用程序文 件 .fxp目标程序文件 .prg源程序文件 • 4.程序中的常用文件 a.input:输入多种类型(数值型 字符型 用 定界符 日期型 逻辑型)数据命令 b.accept:输入字符串命令,不 能用定界符. • 5.输入单个字符命令 wait. • 6.在程序中常用的辅助命令a.注释命令 b.文本输出:text或endtext, 两者必须成对出现c.set talk on、off,系统默认值为on,该命令一 般放在程序第一行. D.set default to设置默认路径 e.返回命令 return f.终止程序文件的执行 cancel g.退出程序 quit
第七章 程序ห้องสมุดไป่ตู้计基础
• 1.程序以文件形式存放在磁盘上,文件扩展名 为“.prg”,其备份文件的扩展名为“.bak”. • 2.程序的书写规则:(1)一行只能写一条命 令,每条命令用enter键结束.(2)一条命令在 一行写不完时允许用分号“;”继行.(3)注 释行:若程序注释单独占用一行,用“*”或 “note”作注释行开头;若注释在命令行之后, 用“&&”作为注释开头,注明每条语句的功 能及含义.
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第五章Visual FoxPro 程序设计基础5.1 Visual FoxPro 的工作方式VFP提供了两种工作方式:即交互方式和程序执行方式,其中,交互方式又分为命令方式和菜单方式(可视化操作方式)两种类型。

为了理解程序的工作方式,需要回顾命令方式和菜单方式。

5.1.1 命令方式VFP的命令方式是利用命令(Command)窗口来实现的。

用户在命令窗口输入命令,VFP 执行相应的操作。

所谓命令方式,即输入一条命令,完成一个操作的工作方式。

5.1.2 菜单/图标方式所谓菜单/图标方式,即通过打开不同的菜单(点击不同的图标)选择并完成不同的操作。

以前各章所介绍的操作基本都是这样的方式。

5.1.3 程序文件方式程序文件(简称程序)也常称作命令文件。

在VFP中,通过程序文件编辑工具,将对事务进行处理的一系列的命令,按一定的逻辑关系组合在一起,并以文件的方式存放在磁盘中,然后再通过命令方式或菜单/图标方式执行该程序以完成相应的操作。

在VFP中我们使用的任何命令都是由若干个更“小”的命令集成的。

从这个意义上说,命令只是以用户能直接操作的形式(图标、菜单或命令窗口中输入的字符串)所表征的程序,其作用相当于启动程序运行的“按钮”。

通常将集成在软件系统内并能直接为用户使用程序称为命令;而将能完成一些特定的操作,并以文件方式存放的相关命令的集合称为程序。

5.2 程序的建立、编辑与运行5.2.1 程序的建立与编辑1. 以命令方式建立、编辑程序在命令窗口中建立及编辑程序的操作方法如下:命令格式:MODIFY COMMAND [路径]<程序文件名>功能:VFP启动内置的程序文本编辑器,建立一个空白程序或装入用户指定的程序。

2. 以菜单方式建立、编辑程序采用这种方式,建立与编辑程序是分开的,建立程序选择“新建”菜单命令,而编辑程序选择“打开”命令。

5.2.2 运行程序1. 用命令方式运行程序在命令窗口输入如下格式的命令,运行所指定的程序:命令格式:DO [路径]<程序文件名>功能:将指定的程序文件从磁盘调入内存并执行。

2. 用菜单/图标方式运行程序单击VFP系统窗口“程序”菜单的“运行”命令,在“运行”对话框中输入程序名即可。

5.3 程序中常用命令5.3.1 输入/输出语句1. 交互式输入语句语句1:W AIT [提示信息] [ TO <内存变量>]语句2:ACCEPT [提示信息] TO <内存变量>语句3:INPUT [提示信息] TO <内存变量>功能:程序执行上述语句时将等待用户从键盘输入数据,输入的数据存放在指定的<内存变量>中,程序然后才继续往下执行。

2. 格式输入/输出语句用户在与程序交换数据时,总希望这些数据是在合理的位置出现的(这也是编程者的希望),这在表格数据输入时尤其重要。

前面的输入/输出语句是不能指定输入/输出数据位置的,当需要在屏幕指定的位置输入/输出数据时,可使用格式输入/输出语句。

5.3.2 VFP程序中常用的命令和函数VFP程序中常用的命令和函数5.4 结构化程序设计5.4.1算法与流程图1. 算法通俗的说,算法即是解决某一实际问题的方法和步骤的数理逻辑描述。

2. 流程图流程图是一种用简单的几何图形和简短的文字说明组成的用以描述算法的一种工具。

常用的流程图有美国国家标准协会ANSI推出的标准ANSI流程图。

5.4.2 顺序结构程序设计顺序结构程序是按语句排列的顺序,从上到下依次执行各语句。

各语句间的逻辑关系由编写程序的人(比如只有先打开了数据表,才能执行查询命令)控制。

结构化程序从总体上讲是“顺序”的,因为这种程序总是从上到下运行的。

5.4.3 分支结构程序设计分支结构又称选择结构,它是一种在程序执行过程中,根据某些条件的是否满足来控制程序走向的结构。

分支程序结构一般分为单向分支、双向分支和多向分支结构。

5.4.4 循环结构程序设计分支结构语句解决了程序可根据不同情况执行不同操作的问题,但有时会遇到这样的情况,某项操作需要执行的次数将根据特定的条件而定,可能是0次,也可能几十上百次不等。

例如,对求任意正整数P的阶乘的程序,若只有顺序和分支结构语句是无法编写出来的。

因为相应的运算语句到底要执行多少次,只有当程序运行时,输入了具体的P后才能确定。

对于类似的情况,可使用循环结构来解决。

5.5 子程序、过程与过程调用5.5.1 子程序1. 子程序的概念子程序是解决上述问题的一种常用方法。

在程序设计中常把重复书写的一段程序抽出来,编写为一个独立的程序,这种具有相对独立性和通用性的程序(段)称为子程序。

2. 子程序的建立与调用子程序是以独立的程序文件形式存放在磁盘上,建立和编写子程序的方法与一般程序相同,但在子程序中要加上返回语句,以便子程序在执行到返回语句时能返回到调用它的主程序中。

主程序是通过调用语句调用子程序的,这两条语句的格式和说明如下。

返回语句格式:RETURN [<Exp>| TO <程序文件名>| TO MASTER]调用语句格式:DO <子程序文件名>功能:执行调用语句时,系统将指定的子程序调入内存并执行该子程序,程序转到子程序中;当执行到子程序中的返回语句时,程序返回主程序,执行其调用下的第一条可执行语句。

3. 程序的嵌套主程序调用子程序,子程序又调用另一个子程序(调用者此时又充当主程序的角色)……,如此形成嵌套的调用方式。

5.5.2 内存变量的作用域和参数传递1. 全局变量和局部变量全局变量是指能在各级程序均被承认的内存变量。

当程序运行结束后,全局变量仍然存在,其值为最后一次所处理的结果。

局部变量是只能在说明它的程序及被它调用的各级子程序(嵌套调用)中所承认的内存变量。

2. 参数的传递参数传递的原理是在主程序的调用语句中将需要传送的数据(实参)加以说明,而在子程序的加上接受数据的语句,该语句中的变量(形参)用来接受主程序中传送的数据。

需要特别注意的是:VFP规定,实参和形参的个数和数据类型必须一一对应。

5.5.3 过程文件过程与子程序的概念基本相同,所不同的是:过程既可以像子程序那样独立存放,也可以放在调用它的主程序后面作为程序的一部分。

另外还可以将多个过程写在一个文件中,其中的每个过程是相互独立的,这样便于文件管理。

5.6 数组应用5.6.1 数组与表文件之间交换数据1.记录数据→数组语句格式:SCA TTER [FIELD <当前数据表字段名表>] TO <数组名>功能:将当前数据表文件的当前记录各字段(或指定的字段)值存入数组。

2.数组数据→表文件语句格式:GA THER FROM <数组名> [FIELD <当前数据表字段名表>]功能:将数组的值传送给当前数据表文件的当前记录的各字段(或指定的字段)。

3.数据表→数据语句格式:COPY TO <数组名>功能:将当前数据表中的数据复制到数组中。

5.6.2 数组的应用数组的最大用处在与其下标可以是变量这点上,如此我们可以使用编程的手段控制数据的存储与获取。

5.7 程序的调试在程序的编写和运行中,常常会出现两种错误,语法错误和逻辑错误。

语法是指编写的语句出现错误,这种错误在编写程序和调试程序时一般容易发现和改正。

逻辑错误是指程序在运行过程中或运行的结果不正确的一类错误,这种错误的隐含性较高,有时很难发现。

在程序运行过程中发现错误,改正错误,……,一直到程序完全正确,这一过程称为程序调试。

5.7.1 常见的语法错误1.语句格式书写错误对于这类错误,系统往往提示“命令中含有不能识别的短语和关键字”。

2.表达式书写错误3.结构语句错误在分支和循环结构出现嵌套时,结构语句的开始和结束语句不配套。

4.相关语句错误如变量没有定义就应用;没有打开数据表就执行对表文件的操作命令等。

5.7.2 逻辑错误逻辑错误的种类几乎不可枚举,这些错误往往并不中断程序的运行,它们通常导致程序运行的结果出现错误或产生错误的运行。

逻辑错误的发现和修改都比较困难,需要积累编程和调试程序的经验,发现和修改这类错误常借助一些调试程序的手段和专用的程序。

5.7.3 调试程序对初学者而言,调试程序往往比编写程序还困难,其主要原因是对VFP语言不是很熟悉,对程序的理解不够,没有调试程序的经验等。

对于语法错误,VFP往往能发现,改正时要仔细查看该语句的说明,特别是一些选项的作用,另外要注意前后语句的相关性。

调试程序对VFP 命令的理解要比编写程序更深刻一些。

调试程序最常用的手段是设置断点和查看中间结果,这是诊断逻辑错误的有效方法。

设置断点的语句一般是W AIT语句,利用它等待按键输入的功能让程序停下来,并使用其<提示信息>选项输出要查看的变量值,分析程序已执行过的语句是否正确。

5.8 考点解析5.8.1 考点扫描根据全国计算机等级考试大纲的要求,涉及本章内容的知识点主要有:1、命令文件的建立与运行:(1)程序文件的建立。

(2)简单的交互式输入输出命令。

(3)应用程序的调试与执行。

2、结构化程序设计:(1)顺序结构程序设计。

(2)选择结构程序设计。

(3)循环结构程序设计。

3、过程与过程调用。

(1)子程序设计与调用。

(2)过程与过程文件。

(3)局部变量和全局变量、过程调用中的参数传递。

5.8.2 例题分析1.选择题例题1 建立一个程序文件的命令是。

A)MODIFY COMM <程序文件名> B)DO <程序文件名>C)EDIT <程序文件名> D)CREATE <程序文件名>【答案】A)【解析】VFP的程序文件是纯文本文件,只能使用纯文本文件编辑器(如Windows的记事本)编写。

MODIFY COMM 命令即启动VFP自带的一个纯文本编辑器。

程序文件的创建与编辑使用的是一个命令,区别只在于给定的<程序文件名>是否存在。

若不存在,则生成一空白的程序文件;若存在,则打开该程序文件。

使用本命令时,特别注意路径。

例题2 假设有一个程序文件WIN.PRG,执行该程序的命令是。

A)OPEN WIN.PRG B)DO WIN.PRGC)USE WIN.PRG D)CREATE WIN.PRG【答案】B)例题3 VFP输入语句中只能接收数值数据的语句是。

A)? B)W AITC)ACCEPT D)INPUT【答案】A)【解析】INPUT 默认的输入数据是数值,但它也能接收其他类型的数据。

不过使用程序的用户往往不会在输入一串字符时加上引号,所以在编写程序时一定要注意使用者的一般习惯。

例题4 VFP程序设计语句的三种基本结构是。

相关文档
最新文档