2.1 程序设计概述
1. 程序设计方法简介
设计方法
主要概念
设计过程
程序执行方式
结构化程序设计功能模块(即过程、自定义函数)编制各个功能模块,再用主程序将它们串起来将应用程序分解成若干功能模块,通过各模块的相互调用来完成整个执行过程,是过程驱动的。面向对象程序设计类、对象、属性、事件、方法设计类、子类、对象(设计外观、设置属性、为事件编写方法程序)将应用程序分解成具有特定属性的对象,通过调用各对象的不同方法来完成相关事件,是事件驱动的。2.数据类型
通用的数据类型VFP 包含下列数据类型:
Character
Currency
Date
DateTime
Logical
Numeric
仅用于字段的数据类型Double
Float
Integer
General
Memo
3. 数据容器
VFP中用来存储数据的容器有:常量、变量、数组、记录和对象。
(1) 常量(constants):
一个在操作过程中保持不变的数值或字符串。
常用的常量类型
常量类型
数值型常量
字符型常量
逻辑型常量
日期型常量
表示方式
-25.36
"abc","123","中国"
.T. .F.
{^2005/07/10}
(2)变量(variables):
是内存中的一个存储单元的位置,其中的内容可以变化,但标识该存储位置的名称(即变量名)不变。
变量的命名习惯: 类型变量代号
如:cStud 、nCj 、dCsrq ——
分别代表一个字符型、数值型、日期型的变量名
变量的赋值方式: 1) 用 STORE 命令 如:STORE "王兰" TO cStud
2) 用赋值操作符 = 如:cStud = "王兰"
变量的作用域: 即变量起使用的有效范围。
变量作用域
定义作用域的关键字
特点
局部变量
local variable(本地变量)
LOCAL只能在一个函数或过程中被访问,其他过程或函数不能访问此变量的数据。当其所属程序停止运行时,局部变量将被释放。private variable
PRIVATE私有变量在 VFP 中是默认的,不需要特殊的关键字定义。但是,如果在更高一级例程(routine)中已经有同名变量,可以用PRIVATE 关键字予以声明,以限定其范围。当定义此变量的例程结束时,此变量也被相应释放。可使用私有变量在被调用的函数中共享数据。public variable
PUBLIC可用于所有过程和函数,而不限于定义该变量的过程和函数。可使用全局变量在多个过程或函数之间共享数据,在命令窗口中创建的任何变量自动具有全局属性。
变量的访问:
当变量和字段同名时,字段有优先被访问权。要在变量名前加 m. 或 m -> 以示区别,如 m.cStud
(3)数组(array):
是存储在一个变量中由单个变量名引用的有序数据集合。在 VFP中,一个数组中的数据不必是同一种数据类型。常用的有一维数组,二维数组。
数组元素的标识:通过一个数值下标来引用,如 AA[2],AA[2,3]
数组类型的声明:
私有数组 ——用DECLARE 或 DIMENSION定义
全局数组 ——用PUBLIC命定义
局部数组 ——用LOCAL定义
数组元素的赋值:
用赋值语句: 如 AA=45
用SCATTER从当前记录中取特定字段的值赋给数组:
如: scatter fields xh, xm, xb to aa
(数组长度、类型自动与所给字段相同)
用 COPY TO ARRAY从当前记录中取所有字段的值赋给数组:
如: copy to array aa
(数组长度、类型自动与表中全部字段相同)
把数组中的数据传给当前表中的当前记录:
gather from 数组名 [fields 字段名表]
用数组向当前表添加记录:
append from array 数组名 [for 条件] [[fields 字段名表]
(用二维数组可以同时添加多条记录)
数组处理的常用函数:
排序SORT(),搜索ASCAN(),删除ADEL(),插入AINS()
(4) 记录:
表中的一行,由字段组成。
(5) 对象:
对象是类的一个实例,类是对拥有数据和一定行为特征的对象集合的描述。VFP对象可以是表单、表单集、控件。
[1] [2] [3] 下一页
2.2 VFP 6.0的语言成分
1. 命令
即:由用户发出的、指示VFP进行某种操作的指令。
如 USE aaa & 打开 一个名为 aaa.dbf的数据表
2. 函数
即:一个预先编制好的模块,可由VFP程序在任何地方调用。
函数的使用方法:名称、功能、参数、返回值