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 1 2 下一页 尾页 |