第 2章 Visual FoxPro编程基础第 2章 Visual FoxPro编程基础
2.1 Visual FoxPro 6.0语言基础
2.2 可视化编程的基本概念
2.3 VFP的控件与对象第 2章 Visual FoxPro编程基础
2.1 Visual FoxPro 6.0语言基础
2.1.1 数据和数据类型
1,数据的分类从数据的类型来分,数据可分为:数值型数据,
字符型数据,逻辑型数据等 。
从数据的处理层次上分,数据又可分为:常量、
变量、函数和表达式。
第 2章 Visual FoxPro编程基础
2,数据类型与其他程序设计语言一样,Visual FoxPro提供了多种数据类型 。
(1) 字符型 ( Character)
由字母(汉字)、数字、空格等任意 ASCII码字符组成。字符数据的长度为 0~ 254,每个字符占 1个字节。
(2) 货币型 ( Currency)
在使用货币值时,可以使用货币型来代替数值型 。
小数位数超过 4位时,系统将进行四舍五入的处理。
每个货币型数据占 8个字节。
第 2章 Visual FoxPro编程基础
(3) 日期型 ( Date)
用以保存不带时间的日期值 。 日期型数据的存储格式为,yyyymmdd”其中 yyyy为年,占 4位,mm为月,
占 2位,dd为日,占 2位 。
日期型数据的表示有多种格式,最常用的格式为
mm/dd/yyyy。
日期型数据取值的范围是:公元 0001年 1月 1日~
公元 9999年 12月 31日第 2章 Visual FoxPro编程基础
(4) 日期时间型 ( DateTime)
用以保存日期和时间值 。 日期时间型数据的存储格式为,yyyymmddhhmmss”。
(5) 逻辑型 ( Logical)
用于存储只有两个值的数据。存入的值只有真(,T.)
和假(,F.)两种状态,占 1个字节。
(6) 数值型 ( Numeric)
用来表示数量,它由数字 0~ 9、一个符号( +或 -)
和一个小数点(,)组成。数值型数据的长度为 1~ 20,
每个数据占 8个字节。
第 2章 Visual FoxPro编程基础
(7) 双精度型 ( Double)
双精度型只能用于数据表中字段的定义,它采用固定存储长度的浮点数形式 。 与数值型不同,双精度型数据的小数点的位置是由输入的数据值来决定的 。
每个双精度型数据占 8个字节。
(8) 浮点型 ( Float)
只能用于数据表中字段的定义,浮点型在功能上与数值型等价 。
(9) 通用型 ( General)
用于存储 OLE对象,只能用于数据表中字段的定义。
该字段包含了对 OLE对象的引用。
第 2章 Visual FoxPro编程基础
(10) 整型 ( Integer)
用于存储无小数部分的数值,只能用于数据表中字段的定义 。 在数据表中,整型字段占用 4个字节 。
整型以二进制形式存储,不象数值型那样需要转换成 ASCII字符存储。
(11) 备注型( Memo)
备注型用于字符型数据块的存储,只能用于数据表中字段的定义。在数据表中,备注型字段占用 10个字节,
并用这 10个字节来引用备注的实际内容。实际备注内容的多少只受内存可用空间的限制。
第 2章 Visual FoxPro编程基础
(12) 字符型 ( 二进制 )
用于存储任意不经过代码页修改而维护的字符数据,只能用于数据表中字段的定义 。
(13) 备注型 ( 二进制 )
用于存储任意不经过代码页修改而维护的备注型数据,只能用于数据表中字段的定义。
第 2章 Visual FoxPro编程基础
2.1.2 常量与变量
1,常量常量是一个命名的数据项,在整个操作过程中其值保持不变 。
Visual FoxPro 6.0定义了以下类型的常量:
(1) 数值型常量,如,5,28.23,-3;
(2) 字符型常量,用单引号或双引号括起来的字符串,
如,"ABCD",'你好 ';
(3) 逻辑型常量,只有两种,.T,和,F.;
(4) 日期型常量和日期时间型常量,如,{^2001-10-
30},{^2001-10-30 11:25am}。
第 2章 Visual FoxPro编程基础
2,变量
(1) 变量的概念
VFP有 3种形式的变量:内存变量,数组变量和字段变量 。
内存变量是存放单个数据的内存单元;
数组变量是存放多个数据的内存单元组;
字段变量则是存放在数据表中的数据项。
第 2章 Visual FoxPro编程基础
(2) 变量名的命名规则每个变量都有一个名称,叫做变量名,VFP通过相应的变量名来使用变量 。
变量名的命名规则是:变量名由字母、数字及下划线组成,以字母或下划线开头,长度为 1~ 128个字符。但要注意,不能使用 VFP的保留字。中文 VFP中,可以使用汉字作变量名,可以汉字开头,每个汉字占 2个字符。
(3) 变量的作用域变量的作用域包括定义它的过程以及该过程所调用的子过程范围。在 Visual FoxPro中,还可以使用 LOCAL、
PRIVATE和 PUBLIC命令强制规定变量的作用范围。
第 2章 Visual FoxPro编程基础
2.1.3 运算符与表达式运算是对数据进行加工的过程,描述各种不同运算的符号称为运算符 。
表达式用来表示某个求值规则,它由运算符和配对的圆括号将常量,变量,函数,对象等操作数以合理的形式组合而成 。
表达式可用来执行运算、操作字符或测试数据,每个表达式都产生唯一的值。表达式的类型由运算符的类型决定。
第 2章 Visual FoxPro编程基础
1,算术运算符与算术表达式算术表达式也称数值型表达式,由算术运算符,
数值型常量,变量,函数和圆括号组成,其运算结果为一数值 。 例如,3 * 4 + ( 6 – 2 ) / 2。
算术表达式的格式为:
〈 数值 1〉〈 算术运算符 1〉〈 数值 2〉 [〈 算术运算符 2〉〈 数值 3〉 …]
第 2章 Visual FoxPro编程基础
(1) 算术运算符表 2-1 算术运算符运算符 名称 说明及示例
+ 加 同数学中的加法,如 3 + 5
- 减 同数学中的减法,如 8 - 2
* 乘 同数学中的乘法,如 2 * 6
/ 除 同数学中的除法,如 8 / 4
^ 或 ** 乘方 同数学中的乘方,如 6 ^ 2表示 62
% 求余 26 % 3 表示 26除以 3所得的余数,结果为 2
算术运算符的优先级依次为,( ) → ^ 或 ** → * 和 / → % → + 和 -
第 2章 Visual FoxPro编程基础
(2) 表达式的书写规则
1) 每个符号占 1格,所有符号都必须一个一个并排写在同一横线上,不能在右上角或右下角写方次或下标 。 例如,52要写成 5 ^ 2,x1 + x2要写成 x1 + x2。
2) 原来在数学表达式中省略的内容必须重新写上 。 例如,3xy要写成 3 * x * y。
3) 所有括号都用小括号 ( ),括号必须配对 。 例如,
2[x+5(y+z)]必须写成 2 *(x+5*(y+z))。
4) 要把数学表达式中的有些符号,改成 VFP中可以表示的符号。例如,需要把 πr2改为 pi * r ^ 2。
第 2章 Visual FoxPro编程基础
2,字符串运算符与字符串表达式字符串表达式由字符串常量,字符串变量,字符串函数和字符串运算符组成 。 字符串表达式的值为字符串 。
VFP提供的字符运算符有两个(其运算级别相同),见表 2-2。
第 2章 Visual FoxPro编程基础表 2-2 字符运算符运算符 名 称 说 明
+ 连接 将字符型数据进行连接
- 空格移位 连接 两字符型数据连接时,将前一数据尾部的 空格移到后面数据的尾部字符串表达式的格式为:
〈 字符串 1〉〈 字符串运算符 1〉〈 字符串 2〉 [〈 字符串运算符 2〉〈 字符串 3〉 …]
第 2章 Visual FoxPro编程基础
3,日期时间运算符与日期时间表达式日期型表达式由算术运算符,+,-”,算术表达式,
日期型常量,日期型变量和函数组成 。 有下面 3种情况:
(1) 两个日期型数据相减,结果是一个数值型数据
( 两个日期相差的天数 ) 。
(2) 一个表示天数的数值型数据加到日期型数据中,
其结果为一日期型数据 ( 向后推算日期 ) 。
(3) 一个表示天数的数值型数据从日期型数据中减掉它,其结果为一日期型数据(向前推算日期)。
第 2章 Visual FoxPro编程基础
4,类与对象运算符类与对象运算符专门用于实现面向对象的程序设计。
5,名表达式
(1) VFP中使用的名在 VFP中,许多命令和函数需要提供一个名。可在
VFP中使用的名有:表 /.DBF(文件名)、表 /.DBF(别名)、表 /.DBF(字段名)、索引文件名、文件名、内存变量和数组名、窗口名、菜单名、表单名、对象名、
属性名等。
第 2章 Visual FoxPro编程基础
(2) 定义名的原则在 VFP中定义一个名时,应遵循以下原则:
1) 只能由字母,数字和下划线字符组成 。
2) 以字母或下划线开头 。
3) 长度为 1~ 128个字符,但自由表中的字段名,索引标记名最多为 10个字符 。 文件名按操作系统的规定 。
4) 不能使用 VFP的保留字。
第 2章 Visual FoxPro编程基础
2.1.4 函数
VFP的函数有两种,即系统函数和用户定义函数 。
(1) 系统函数:是由 VFP提供的内部函数,用户可以随时调用 。
(2) 用户定义函数:由用户根据需要自行编写。
第 2章 Visual FoxPro编程基础
2.2 可视化编程的基本概念
2.2.1 对象、对象的属性、方法
1,对象从可视化编程的角度来看,对象是一个具有属性
(数据)和方法(行为方式)的实体。一个对象建立以后,其操作就通过与该对象有关的属性、事件和方法来描述。
第 2章 Visual FoxPro编程基础
2,对象的属性每个对象都有其特征,在计算机程序语言中叫做属性 ( Property) 。 记录属性数据的地方就叫做属性栏 。
属性栏中记录的属性数据叫做属性值 。
在可视化编程中,每一种对象都有一组特定的属性。
常见的属性有标题( Caption)、名称( Name)、背景色( BackColor)、字体大小( FontSize)、是否可见
( Visible)等。通过修改或设置某些属性便能有效地控制对象的外观和操作。
第 2章 Visual FoxPro编程基础对象属性的设置一般有两条途径:
(1) 如果在程序设计时设置对象的属性,需要使用属性窗口 。
(2) 如果要在程序运行中更改对象的属性,可以使用 VFP的赋值语句,在代码中通过编程设置,格式为:
表单名,对象名,属性名 = 属性值第 2章 Visual FoxPro编程基础
3,方法
VFP的方法用于完成某种特定功能。 VFP的方法也属于对象的内部函数,如添加对象( AddObject)
方法、绘制矩形( Box)方法、释放表单( Release)
方法等。方法被“封装”在对象之中,不同的对象具有不同的内部方法。
第 2章 Visual FoxPro编程基础
2.2.2 事件与程序
1,事件对于对象而言,事件( Event)就是发生在该对象上的事情。例如,在按钮上用鼠标按一下,在 Windows
环境下中称为“单击”,于是说按钮会有一个单击
( Click)事件。
第 2章 Visual FoxPro编程基础
2,事件过程当对象上发生了某个事件后,处理这个事件的步骤就是事件过程 ( Event Procedure) 。
事件过程是针对事件而来的,而事件过程中的处理步骤在 VFP程序设计中就是所谓的程序代码。
3,事件驱动程序设计写完程序后开始执行时,程序会先等待某个事件的发生,然后再去执行处理此事件的事件过程。事件过程要经过事件的触发才会被执行,这种动作模式就称为事件驱动程序设计( Event Driven Programming Model),也就是说,
由事件控制整个程序的执行流程。
第 2章 Visual FoxPro编程基础
4,事件与方法的程序调用事件过程由事件的激发而调用其代码,也可以在运行中由程序调用其代码,而方法的代码只能在运行中由程序调用 。
在程序中调用事件代码的格式是:
表单名,对象名,事件名在程序中调用对象方法的格式是:
[[〈 变量名 〉 ] = ]〈 表单名 〉,〈 对象名 〉,〈 方法名 〉 ( )
第 2章 Visual FoxPro编程基础
2.3 VFP的控件与对象控件( Control)是某种图形构件的统称,如“标签控件”、“文本框控件”、“列表框控件”等,构造应用程序界面的具体方法就是利用控件创建对象。
第 2章 Visual FoxPro编程基础
(1) Visual FoxPro 6.0的常用控件
Visual FoxPro 6.0的常用控件有:
表示标签 ( Label) 控件,通过它可以创建一个标签对象,用于保存不希望用户改动的文本,如复选框上面或图形下面的标题;
表示文本框( Text Box)控件,创建用于单行数据输入的文本框对象,用户可以在其中输入或更改单行文本。
1,常用控件和内部对象第 2章 Visual FoxPro编程基础
(2) 内部对象
VFP提供了一些内部对象,如表单对象、表单集对象、页对象和工具栏对象等。内部对象一般可以直接使用,但某些对象是要在建立某对象之后才能被使用。
例如:分隔符( Separator)对象可以直接加入到一个工具栏( ToolBar)对象中当间隔。
第 2章 Visual FoxPro编程基础
2,表单对象表单 ( Form) 是应用程序的用户界面,也是进行程序设计的基础 。 各种图形,图象,数据等都是通过表单或表单中的对象显示出来,因此表单是一个容器对象 。
(1) 表单的结构表单有:图标、标题、极小化按钮、极大化按钮、
关闭按钮、移动栏、表单体及其周围的边框,其中除了表单体之外的所有特征都可以部分或全部从表单中被删除。
第 2章 Visual FoxPro编程基础
(2) 表单的属性
VFP中表单的属性就是表单的结构特征。通过修改表单的属性可以改变表单的内在或外在的特征。常用的表单属性,见表 2-4。
表 2-4 Visual FoxPro 6.0中常用的表单属性属性名 作 用
BackCol
or 用于确定表单的背景颜色
BorderSt
yle 用于控制表单是否有边框:系统(可调)、单线、双线
Caption 表单的标题
Movable 用于控制表单是否可移动第 2章 Visual FoxPro编程基础
(3) 表单的事件与方法
Visual FoxPro 6.0中最常用的表单事件,见表 2-5。
表 2-5 Visual FoxPro 6.0中常用的表单事件事 件 含 义 说 明
Load事件 当表单被装入内存时发生 事件被激发的顺序为 Load、
Init,ActivateActivate事件 当表单被激活时发生
Destroy 事件 当表单被释放时发生 事 件 被 激 发 的 顺 序 为
Unload,DestroyUnload 事件 当表单被关闭时发生第 2章 Visual FoxPro编程基础
Visual FoxPro 6.0中常用的表单方法,见表 2-6。
表 2-6 Visual FoxPro 6.0中常用的表单方法方法 含义
Hide方法 隐藏表单
Show方法 显示表单
Release方法 释放表单
Refresh方法 刷新表单第 2章 Visual FoxPro编程基础
3,对象的引用
(1) 对象的包容层次
VFP中的对象根据它们所基于的类的性质可分为两类:容器类对象和控件类对象 。
1) 容器类对象:可以包含其他对象,并且允许访问这些对象,例如表单集,表单,表格等 。
当一个容器包含一个对象时,称该对象是容器的子对象,而容器称为该对象的父对象。所以,容器对象可以作为其他对象的父对象。
2) 控件类对象:只能包含在容器对象之中,而不能包含其他对象,例如命令按钮、复选框等。
第 2章 Visual FoxPro编程基础
(2) 对象的引用若要引用一个对象,需要知道它相对于容器层次的关系 。
1) 绝对引用:通过提供对象的完整容器层次来引用对象称为绝对引用 。
2) 相对引用:在容器层次中引用对象时,可以通过快捷方式指明所要处理的对象,即相对引用。
2.1 Visual FoxPro 6.0语言基础
2.2 可视化编程的基本概念
2.3 VFP的控件与对象第 2章 Visual FoxPro编程基础
2.1 Visual FoxPro 6.0语言基础
2.1.1 数据和数据类型
1,数据的分类从数据的类型来分,数据可分为:数值型数据,
字符型数据,逻辑型数据等 。
从数据的处理层次上分,数据又可分为:常量、
变量、函数和表达式。
第 2章 Visual FoxPro编程基础
2,数据类型与其他程序设计语言一样,Visual FoxPro提供了多种数据类型 。
(1) 字符型 ( Character)
由字母(汉字)、数字、空格等任意 ASCII码字符组成。字符数据的长度为 0~ 254,每个字符占 1个字节。
(2) 货币型 ( Currency)
在使用货币值时,可以使用货币型来代替数值型 。
小数位数超过 4位时,系统将进行四舍五入的处理。
每个货币型数据占 8个字节。
第 2章 Visual FoxPro编程基础
(3) 日期型 ( Date)
用以保存不带时间的日期值 。 日期型数据的存储格式为,yyyymmdd”其中 yyyy为年,占 4位,mm为月,
占 2位,dd为日,占 2位 。
日期型数据的表示有多种格式,最常用的格式为
mm/dd/yyyy。
日期型数据取值的范围是:公元 0001年 1月 1日~
公元 9999年 12月 31日第 2章 Visual FoxPro编程基础
(4) 日期时间型 ( DateTime)
用以保存日期和时间值 。 日期时间型数据的存储格式为,yyyymmddhhmmss”。
(5) 逻辑型 ( Logical)
用于存储只有两个值的数据。存入的值只有真(,T.)
和假(,F.)两种状态,占 1个字节。
(6) 数值型 ( Numeric)
用来表示数量,它由数字 0~ 9、一个符号( +或 -)
和一个小数点(,)组成。数值型数据的长度为 1~ 20,
每个数据占 8个字节。
第 2章 Visual FoxPro编程基础
(7) 双精度型 ( Double)
双精度型只能用于数据表中字段的定义,它采用固定存储长度的浮点数形式 。 与数值型不同,双精度型数据的小数点的位置是由输入的数据值来决定的 。
每个双精度型数据占 8个字节。
(8) 浮点型 ( Float)
只能用于数据表中字段的定义,浮点型在功能上与数值型等价 。
(9) 通用型 ( General)
用于存储 OLE对象,只能用于数据表中字段的定义。
该字段包含了对 OLE对象的引用。
第 2章 Visual FoxPro编程基础
(10) 整型 ( Integer)
用于存储无小数部分的数值,只能用于数据表中字段的定义 。 在数据表中,整型字段占用 4个字节 。
整型以二进制形式存储,不象数值型那样需要转换成 ASCII字符存储。
(11) 备注型( Memo)
备注型用于字符型数据块的存储,只能用于数据表中字段的定义。在数据表中,备注型字段占用 10个字节,
并用这 10个字节来引用备注的实际内容。实际备注内容的多少只受内存可用空间的限制。
第 2章 Visual FoxPro编程基础
(12) 字符型 ( 二进制 )
用于存储任意不经过代码页修改而维护的字符数据,只能用于数据表中字段的定义 。
(13) 备注型 ( 二进制 )
用于存储任意不经过代码页修改而维护的备注型数据,只能用于数据表中字段的定义。
第 2章 Visual FoxPro编程基础
2.1.2 常量与变量
1,常量常量是一个命名的数据项,在整个操作过程中其值保持不变 。
Visual FoxPro 6.0定义了以下类型的常量:
(1) 数值型常量,如,5,28.23,-3;
(2) 字符型常量,用单引号或双引号括起来的字符串,
如,"ABCD",'你好 ';
(3) 逻辑型常量,只有两种,.T,和,F.;
(4) 日期型常量和日期时间型常量,如,{^2001-10-
30},{^2001-10-30 11:25am}。
第 2章 Visual FoxPro编程基础
2,变量
(1) 变量的概念
VFP有 3种形式的变量:内存变量,数组变量和字段变量 。
内存变量是存放单个数据的内存单元;
数组变量是存放多个数据的内存单元组;
字段变量则是存放在数据表中的数据项。
第 2章 Visual FoxPro编程基础
(2) 变量名的命名规则每个变量都有一个名称,叫做变量名,VFP通过相应的变量名来使用变量 。
变量名的命名规则是:变量名由字母、数字及下划线组成,以字母或下划线开头,长度为 1~ 128个字符。但要注意,不能使用 VFP的保留字。中文 VFP中,可以使用汉字作变量名,可以汉字开头,每个汉字占 2个字符。
(3) 变量的作用域变量的作用域包括定义它的过程以及该过程所调用的子过程范围。在 Visual FoxPro中,还可以使用 LOCAL、
PRIVATE和 PUBLIC命令强制规定变量的作用范围。
第 2章 Visual FoxPro编程基础
2.1.3 运算符与表达式运算是对数据进行加工的过程,描述各种不同运算的符号称为运算符 。
表达式用来表示某个求值规则,它由运算符和配对的圆括号将常量,变量,函数,对象等操作数以合理的形式组合而成 。
表达式可用来执行运算、操作字符或测试数据,每个表达式都产生唯一的值。表达式的类型由运算符的类型决定。
第 2章 Visual FoxPro编程基础
1,算术运算符与算术表达式算术表达式也称数值型表达式,由算术运算符,
数值型常量,变量,函数和圆括号组成,其运算结果为一数值 。 例如,3 * 4 + ( 6 – 2 ) / 2。
算术表达式的格式为:
〈 数值 1〉〈 算术运算符 1〉〈 数值 2〉 [〈 算术运算符 2〉〈 数值 3〉 …]
第 2章 Visual FoxPro编程基础
(1) 算术运算符表 2-1 算术运算符运算符 名称 说明及示例
+ 加 同数学中的加法,如 3 + 5
- 减 同数学中的减法,如 8 - 2
* 乘 同数学中的乘法,如 2 * 6
/ 除 同数学中的除法,如 8 / 4
^ 或 ** 乘方 同数学中的乘方,如 6 ^ 2表示 62
% 求余 26 % 3 表示 26除以 3所得的余数,结果为 2
算术运算符的优先级依次为,( ) → ^ 或 ** → * 和 / → % → + 和 -
第 2章 Visual FoxPro编程基础
(2) 表达式的书写规则
1) 每个符号占 1格,所有符号都必须一个一个并排写在同一横线上,不能在右上角或右下角写方次或下标 。 例如,52要写成 5 ^ 2,x1 + x2要写成 x1 + x2。
2) 原来在数学表达式中省略的内容必须重新写上 。 例如,3xy要写成 3 * x * y。
3) 所有括号都用小括号 ( ),括号必须配对 。 例如,
2[x+5(y+z)]必须写成 2 *(x+5*(y+z))。
4) 要把数学表达式中的有些符号,改成 VFP中可以表示的符号。例如,需要把 πr2改为 pi * r ^ 2。
第 2章 Visual FoxPro编程基础
2,字符串运算符与字符串表达式字符串表达式由字符串常量,字符串变量,字符串函数和字符串运算符组成 。 字符串表达式的值为字符串 。
VFP提供的字符运算符有两个(其运算级别相同),见表 2-2。
第 2章 Visual FoxPro编程基础表 2-2 字符运算符运算符 名 称 说 明
+ 连接 将字符型数据进行连接
- 空格移位 连接 两字符型数据连接时,将前一数据尾部的 空格移到后面数据的尾部字符串表达式的格式为:
〈 字符串 1〉〈 字符串运算符 1〉〈 字符串 2〉 [〈 字符串运算符 2〉〈 字符串 3〉 …]
第 2章 Visual FoxPro编程基础
3,日期时间运算符与日期时间表达式日期型表达式由算术运算符,+,-”,算术表达式,
日期型常量,日期型变量和函数组成 。 有下面 3种情况:
(1) 两个日期型数据相减,结果是一个数值型数据
( 两个日期相差的天数 ) 。
(2) 一个表示天数的数值型数据加到日期型数据中,
其结果为一日期型数据 ( 向后推算日期 ) 。
(3) 一个表示天数的数值型数据从日期型数据中减掉它,其结果为一日期型数据(向前推算日期)。
第 2章 Visual FoxPro编程基础
4,类与对象运算符类与对象运算符专门用于实现面向对象的程序设计。
5,名表达式
(1) VFP中使用的名在 VFP中,许多命令和函数需要提供一个名。可在
VFP中使用的名有:表 /.DBF(文件名)、表 /.DBF(别名)、表 /.DBF(字段名)、索引文件名、文件名、内存变量和数组名、窗口名、菜单名、表单名、对象名、
属性名等。
第 2章 Visual FoxPro编程基础
(2) 定义名的原则在 VFP中定义一个名时,应遵循以下原则:
1) 只能由字母,数字和下划线字符组成 。
2) 以字母或下划线开头 。
3) 长度为 1~ 128个字符,但自由表中的字段名,索引标记名最多为 10个字符 。 文件名按操作系统的规定 。
4) 不能使用 VFP的保留字。
第 2章 Visual FoxPro编程基础
2.1.4 函数
VFP的函数有两种,即系统函数和用户定义函数 。
(1) 系统函数:是由 VFP提供的内部函数,用户可以随时调用 。
(2) 用户定义函数:由用户根据需要自行编写。
第 2章 Visual FoxPro编程基础
2.2 可视化编程的基本概念
2.2.1 对象、对象的属性、方法
1,对象从可视化编程的角度来看,对象是一个具有属性
(数据)和方法(行为方式)的实体。一个对象建立以后,其操作就通过与该对象有关的属性、事件和方法来描述。
第 2章 Visual FoxPro编程基础
2,对象的属性每个对象都有其特征,在计算机程序语言中叫做属性 ( Property) 。 记录属性数据的地方就叫做属性栏 。
属性栏中记录的属性数据叫做属性值 。
在可视化编程中,每一种对象都有一组特定的属性。
常见的属性有标题( Caption)、名称( Name)、背景色( BackColor)、字体大小( FontSize)、是否可见
( Visible)等。通过修改或设置某些属性便能有效地控制对象的外观和操作。
第 2章 Visual FoxPro编程基础对象属性的设置一般有两条途径:
(1) 如果在程序设计时设置对象的属性,需要使用属性窗口 。
(2) 如果要在程序运行中更改对象的属性,可以使用 VFP的赋值语句,在代码中通过编程设置,格式为:
表单名,对象名,属性名 = 属性值第 2章 Visual FoxPro编程基础
3,方法
VFP的方法用于完成某种特定功能。 VFP的方法也属于对象的内部函数,如添加对象( AddObject)
方法、绘制矩形( Box)方法、释放表单( Release)
方法等。方法被“封装”在对象之中,不同的对象具有不同的内部方法。
第 2章 Visual FoxPro编程基础
2.2.2 事件与程序
1,事件对于对象而言,事件( Event)就是发生在该对象上的事情。例如,在按钮上用鼠标按一下,在 Windows
环境下中称为“单击”,于是说按钮会有一个单击
( Click)事件。
第 2章 Visual FoxPro编程基础
2,事件过程当对象上发生了某个事件后,处理这个事件的步骤就是事件过程 ( Event Procedure) 。
事件过程是针对事件而来的,而事件过程中的处理步骤在 VFP程序设计中就是所谓的程序代码。
3,事件驱动程序设计写完程序后开始执行时,程序会先等待某个事件的发生,然后再去执行处理此事件的事件过程。事件过程要经过事件的触发才会被执行,这种动作模式就称为事件驱动程序设计( Event Driven Programming Model),也就是说,
由事件控制整个程序的执行流程。
第 2章 Visual FoxPro编程基础
4,事件与方法的程序调用事件过程由事件的激发而调用其代码,也可以在运行中由程序调用其代码,而方法的代码只能在运行中由程序调用 。
在程序中调用事件代码的格式是:
表单名,对象名,事件名在程序中调用对象方法的格式是:
[[〈 变量名 〉 ] = ]〈 表单名 〉,〈 对象名 〉,〈 方法名 〉 ( )
第 2章 Visual FoxPro编程基础
2.3 VFP的控件与对象控件( Control)是某种图形构件的统称,如“标签控件”、“文本框控件”、“列表框控件”等,构造应用程序界面的具体方法就是利用控件创建对象。
第 2章 Visual FoxPro编程基础
(1) Visual FoxPro 6.0的常用控件
Visual FoxPro 6.0的常用控件有:
表示标签 ( Label) 控件,通过它可以创建一个标签对象,用于保存不希望用户改动的文本,如复选框上面或图形下面的标题;
表示文本框( Text Box)控件,创建用于单行数据输入的文本框对象,用户可以在其中输入或更改单行文本。
1,常用控件和内部对象第 2章 Visual FoxPro编程基础
(2) 内部对象
VFP提供了一些内部对象,如表单对象、表单集对象、页对象和工具栏对象等。内部对象一般可以直接使用,但某些对象是要在建立某对象之后才能被使用。
例如:分隔符( Separator)对象可以直接加入到一个工具栏( ToolBar)对象中当间隔。
第 2章 Visual FoxPro编程基础
2,表单对象表单 ( Form) 是应用程序的用户界面,也是进行程序设计的基础 。 各种图形,图象,数据等都是通过表单或表单中的对象显示出来,因此表单是一个容器对象 。
(1) 表单的结构表单有:图标、标题、极小化按钮、极大化按钮、
关闭按钮、移动栏、表单体及其周围的边框,其中除了表单体之外的所有特征都可以部分或全部从表单中被删除。
第 2章 Visual FoxPro编程基础
(2) 表单的属性
VFP中表单的属性就是表单的结构特征。通过修改表单的属性可以改变表单的内在或外在的特征。常用的表单属性,见表 2-4。
表 2-4 Visual FoxPro 6.0中常用的表单属性属性名 作 用
BackCol
or 用于确定表单的背景颜色
BorderSt
yle 用于控制表单是否有边框:系统(可调)、单线、双线
Caption 表单的标题
Movable 用于控制表单是否可移动第 2章 Visual FoxPro编程基础
(3) 表单的事件与方法
Visual FoxPro 6.0中最常用的表单事件,见表 2-5。
表 2-5 Visual FoxPro 6.0中常用的表单事件事 件 含 义 说 明
Load事件 当表单被装入内存时发生 事件被激发的顺序为 Load、
Init,ActivateActivate事件 当表单被激活时发生
Destroy 事件 当表单被释放时发生 事 件 被 激 发 的 顺 序 为
Unload,DestroyUnload 事件 当表单被关闭时发生第 2章 Visual FoxPro编程基础
Visual FoxPro 6.0中常用的表单方法,见表 2-6。
表 2-6 Visual FoxPro 6.0中常用的表单方法方法 含义
Hide方法 隐藏表单
Show方法 显示表单
Release方法 释放表单
Refresh方法 刷新表单第 2章 Visual FoxPro编程基础
3,对象的引用
(1) 对象的包容层次
VFP中的对象根据它们所基于的类的性质可分为两类:容器类对象和控件类对象 。
1) 容器类对象:可以包含其他对象,并且允许访问这些对象,例如表单集,表单,表格等 。
当一个容器包含一个对象时,称该对象是容器的子对象,而容器称为该对象的父对象。所以,容器对象可以作为其他对象的父对象。
2) 控件类对象:只能包含在容器对象之中,而不能包含其他对象,例如命令按钮、复选框等。
第 2章 Visual FoxPro编程基础
(2) 对象的引用若要引用一个对象,需要知道它相对于容器层次的关系 。
1) 绝对引用:通过提供对象的完整容器层次来引用对象称为绝对引用 。
2) 相对引用:在容器层次中引用对象时,可以通过快捷方式指明所要处理的对象,即相对引用。