VFP中三种模块化程序设计方法的研究与实践

时间:2022-06-14 05:27:19

VFP中三种模块化程序设计方法的研究与实践

摘 要: VFP是基于数据库管理和应用程序开发的高级语言。VFP中可以用子程序、过程、函数三种方式实现模块程序设计。这三种方式功能相同,但格式、调用方式、数据传递方式又不尽相同;这三种方式可以相互转换。学生在学习中常常不能确认应该采用哪种方式实现模块功能。为此,详细分析了三种方式的设计过程,以帮助学生理解并掌握这三种方式的结构及其转换格式,各种不同格式的调用方式,以及它们的用处和模块的编程方法。

关键词: 子程序; 过程; 函数; 局部变量

中图分类号:TP392 文献标志码:B 文章编号:1006-8228(2012)11-44-04

Research and practice of three modularized program design methods in Visual FoxPro

Wang Xiujuan1, Hong Jun2

(1. School of electronics and computer science and technology, North University of China, Taiyuan, Shanxi 030051;

2. School of Software, North University of China)

Abstract: Visual FoxPro is an advanced language which is based on database management and application program development. There are three kinds of modularized programming method including subprogram, procedure and function. Though they have the same function, they are different in format program invocation, data transmission and can be transformed to each other which make the students unclear about which method they should use to design the module. A detailed analysis of the three methods and some examples are given to help the students to learn the structure, transition and invocation of the three methods and master the modularized program design easily.

Key words: subprogram; procedure; function; local variable

0 引言

VFP(Visual FoxPro)是一种关系型数据库管理系统,它不仅支持面向对象的可视化程序设计,还支持传统的面向过程的程序设计。面向过程的程序设计方法要求将一个大的系统分解为多个模块,用以实现功能的分解和代码的重用。VFP中实现模块的程序设计方法比较多,包括:子程序、过程、函数。下面举例分析三种方式的异同。

1 三种设计方法详解

1.1 子程序

在VFP中子程序的结构和程序的结构基本相同,通常使用MODIFY COMMAND命令单独建立一个程序文件,以扩展名.PRG保存成一个程序文件[1]。一般习惯在子程序的末尾加上RETURN命令返回调用处。调用子程序的格式为:DO 子程序文件名[WITH ]。

1.2 过程

VFP中按照过程是否单独保存成程序文件将过程分为两种:内部过程和外部过程。内部过程与主程序放在一个文件里,通常放在主程序文件的后面;外部过程单独保存成一个程序文件,优点是不依附于主程序,可以被多个程序共享[2]。

内部过程格式:

PROCEDURE

[PARAMETERS ]

RETURN|ENDPRO

调用格式:DO 过程名 WITH

下面举例说明内部过程和外部过程之间的区别,编写程序实现输出任意两个数值之间的所有素数,在过程中判断单个数是否素数。

例1:内部过程。

*MAIN.PRG文件代码如下:

INPUT TO X1

INPUT TO X2

FOR M=X1 TO X2

FLAG=.T.

DO PRIME WITH M,FLAG

IF FLAG

?M

ENDIF

ENDFOR

CANCEL

PROCEDURE PRIME

PARAMETERS N,FLAG1

K=INT(SQRT(N))

J=2

DO WHILE J

IF MOD(N,J)=0

FLAG1=.F.

ENDIF

J=J+1

ENDDO

RETURN

例2:外部过程。

*MAIN.PRG文件代码如下:

INPUT TO X1

INPUT TO X2

FOR M=X1 TO X2

FLAG=.T.

DO P1.PRG WITH M,FLAG

IF FLAG

?M

ENDIF

上一篇:基于软系统方法论的针织流行趋势开发系统模型... 下一篇:初中英语教学如何培养学生的主体意识