版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库应用系统设计Visual
FoxPro高等学校系列教材高等教育出版社第6章 Visual
FoxPro表单功能设计本章学习要点理解表单识别事件的能力,掌握5个最基本的表单事件产生的机理理解表单基本控件识别事件的能力,掌握4个基本表单控件的常发事件产生的机理掌握Visual
FoxPro方法编辑器的应用方法学习Visual
FoxPro表单对象功能实现的方法,掌握表单及其控件事件处理方法设计技术逐一实现“图书馆管理信息系统(LIBMIS)”各个表单对象的功能设计6.1
Visual
FoxPro表单功能概述表单是Visual
FoxPro数据库应用系统中的操作界面对象,表单在
操作界面上识别操作事件,并对这些操作事件进行处理,这就构成了表
单对象的功能。因此,表单及其置于其中的表单控件能够识别哪些事件、如何处理这些事件,也就成为表单功能设计的主要内容。本节介绍表单及其表单控件对事件的识别能力。6.2
表单对事件的识别能力表单对事件的识别能力表单的“激活事件(Activate
Event)”2.表单的“单击事件(Click
Event)”3.表单的“消灭事件(Destroy
Event)”4.表单的“初始化事件(Init
Event)”5.表单的“加载事件(Load
Event)”6.2
表单对事件的识别能力6.2.2表单文本框对事件的识别能力1.表单文本框的“获得焦点事件(GotFocus
Event)”2.表单文本框的“失去焦点事件(LostFocus
Event)”3.表单文本框的“交互更新事件(InteractiveChange
Event)”4.表单文本框的“单击事件(Click
Event)”5.表单文本框的“双击事件(DblClick
Event)”6.表单文本框的“右键单击事件(RightClick
Event)”6.2
表单对事件的识别能力6.2.3表单组合框对事件的识别能力表单组合框的“交互更新事件(InteractiveChange
Event)”表单组合框的“失去焦点事件(LostFocus
Event)”6.2
表单对事件的识别能力6.2.4表单页面对事件的识别能力表单页面的“激活事件(Activate
Event)”表单页面的“单击事件(Click
Event)”3.表单页面的“双击事件(DblClick
Event)”6.2
表单对事件的识别能力6.2.5
命令按钮对事件的识别能力如果一个事件发生在表单上的一个命令按钮上,表单上的这个命令按钮就会识别这个事件,并调用Visual
FoxPro默认的处理方法来处理这个事件。如果这种默认的事件处理方法不能满足实际应用的需要,就需要重新设计针对这个事件的处理方法。6.3
Visual
FoxPro程序设计基础在Visual
FoxPro数据库应用系统中,Visual
FoxPro程序主要以三种方式发挥作用:第一种方式是,作为表单及其控件针对相应事件的处理方法;第二种方式是,以项目中的程序文件(Prg)形式存在,供相关程序调用;第三种方式是,作为应用系统菜单中的菜单项程序构成菜单命令。无论哪一种方式的Visual
FoxPro程序,其结构与设计方法都是相同的,只是程序编辑器略有差异。表单及其控件的方法程序设计使用表单设计器中的方法编辑器;Prg文件形式的Visual
FoxPro程序设计使用代码编辑器;菜单项程序设计使用菜单设计器中的过程编辑器。在这三种形式的Visual
FoxPro程序中,最常用的是表单及其控件的方法程序。本节主要介绍这一类程序设计的基础。6.3
Visual
FoxPro程序设计基础Visual
FoxPro基本语句选择工作区的语句命令格式SELECT
nWorkArea
|
cTableAlias命令功能若需操作一个数据对象,必须选择这个数据对象目前占用的工作区为当前工作区。命令说明nWorkArea可取0至32767之间的任一自然数,若nWorkArea〉0,表示选择第nWorkArea#工作区为当前工作区。若nWorkArea=0,表
示选择当前具有最小编号的未使用工作区。cTableAlias可取一个数据对象名,这个数据对象已经在一个工作区中打开,表示选择这个指定的数据对象所在的那个工作区为当前工作区。6.3
Visual
FoxPro程序设计基础2.打开/关闭表与视图的语句命令格式USE[DatabaseName!]Table
|
SQLViewName
[IN
nWorkArea
|
cTableAlias]命令功能在当前工作区中打开表或视图。命令说明DatabaseNam可取包含欲打开表的数据库名,如果不指定,则默认为当前数据库;Table应取需要打开的表对象名称,与SQLViewName必选其一;
SQLViewName应取需要打开的视图对象名称,与Table必选其一;
nWorkArea可取工作区编号,如果不指定,则默认为当前工作区;
cTableAlias可取已经在一个工作区中打开着的数据对象名。6.3
Visual
FoxPro程序设计基础3.定位记录的语句(1)检索数据语句命令格式SEEK
eExpression命令功能检索当前主索引关键字段内的数据。命令说明eExpression必须是一个与当前索引关键字段数据类型相匹配的表达式。6.3
Visual
FoxPro程序设计基础(2)查找数据语句命令格式LOCATE[Scope]FOR
lExpression1命令功能无索引情况下的数据检索。命令说明Scope可以取“ALL”或“NEXT
n”,用于指定查找数据的记录范围;如果省略Scope,LOCATE将仅判断当前记录是否为需要查找的记录。lExpression1必须是一个逻辑表达式,用于设定查找数据的条件。6.3
Visual
FoxPro程序设计基础(3)用于判断检索/查找成功与否的函数格式:FOUND()函数功能:用于判断检索/查找的成功与失败。格式:EOF()函数功能:用于判断检索/查找的成功与失败。6.3
Visual
FoxPro程序设计基础4.编辑记录的语句(1)添加记录的语句命令格式
APPEND
BLANK命令功能在当前数据对象中添加一个空记录,并令该记录为当前记录。6.3
Visual
FoxPro程序设计基础(2)修改记录数据的语句命令格式REPLACE
FieldName1
WITH
eExpression1
[,
FieldName2
WITHeExpression2
[,...]][Scope][FOR
lExpression1]命令功能修改记录数据。命令说明FieldName1,FieldName2,...必须分别为当前数据对象的若干字段名。
eExpression1,eExpression2,...必须分别为与FieldName1,FieldName2,...数据类型相匹配的若干表达式。Scope可以取“ALL”或“NEXT
n”,用于指定需要修改数据的记录范围;如果省略,REPLACE将仅修改当前数据对象中的当前记录数据。lExpression1必须是一个逻辑表达式,用于设定仅修改在指定的记录范围内那些导致lExpression1为真的记录数据。如果省略lExpression1,REPLACE命令将修改当前数据对象中指定记录范围内的全部记录数据。6.3
Visual
FoxPro程序设计基础(3)删除记录的语句命令格式DELETE[Scope][FOR
lExpression1]命令功能逻辑删除记录。命令说明Scope可以取“ALL”或“NEXT
n”,用于指定需要逻辑删除记录的范围;如果省略Scope,DELETE将仅逻辑删除当前记录。lExpression1必须是一个逻辑表达式,用于设定仅逻辑删除在指定的记录范围内那些导致lExpression1为真的记录。如果省略lExpression1,DELETE将逻辑删除当前数据对象中指定记录范围内的全部记录。6.3
Visual
FoxPro程序设计基础5.界面对象的操作语句do
form,release等(1)表单对象的运行与关闭语句命令格式DO
FORM
FormName命令功能驱动指定表单运行。命令格式
Object.Release命令功能终止指定表单运行。6.3
Visual
FoxPro程序设计基础(2)报表对象的驱动语句命令格式REPORT
FORM
FileName
[PREVIEW]
|
[TO
PRINTER]命令功能驱动报表对象。命令说明FileName为报表对象文件名;如果书写PREVIEW短语,则在屏幕上
预览报表数据;如果书写TO
PRINTER短语,则在打印机上打印报表数据。6.3
Visual
FoxPro程序设计基础(3)标签对象的驱动语句命令格式LABEL
FORM
FileName1
[PREVIEW
]
|
[TO
PRINTER]命令功能驱动标签对象。命令说明FileName为标签对象文件名;如果书写PREVIEW短语,则在屏幕上
预览标签数据;如果书写TO
PRINTER短语,则在打印机上打印标签数据。6.3
Visual
FoxPro程序设计基础(4)菜单对象的驱动语句命令格式DO
MenuFileName.mpr命令功能驱动菜单对象。命令说明MenuFileName.mpr必须是一个经过Visual
FoxPro编译形成的菜单执行文件。6.3
Visual
FoxPro程序设计基础Visual
FoxPro变量字段变量字段变量是表中记录的字段,不同记录中的同一个字段保存着不同的数据。字段名也就是字段变量名。Visual
FoxPro字段变量可以为13种不同的数据类型,其中常用
的主要有“字符型C”、“数值型N”、“日期型D”和“逻辑型L”。字段变量包含在表中,一般只有当前表中的字段才可以被操作。针对字段变量的操作主要有:赋值、取值和运算。6.3
Visual
FoxPro程序设计基础2.内存变量Visual
FoxPro内存变量只能取4种不同的数据类型,它们是
“字符型”、“数值型”、“日期型”和“逻辑型”。内存变量的数据类型由赋值语句决定,也就是说,将一个数值型数据赋值给一个内存变量,则这个内存变量即成为数值型变量。如果接着再将一个字符型数据赋值给这个内存变量,则这个内存变量即成为字符型变量。6.3
Visual
FoxPro程序设计基础1.使用STORE命令为内存变量赋值命令格式STORE
eExpression
TO
VarNameList
|
ArrayNameList命令功能该命令用于为内存变量赋值。命令说明eExpression参数为一表达式。该表达式可以由常量、变量、函数和运算符组成。VarNameList参数是内存变量列表。ArrayNameList参数是数组变量列表。该命令可同时为多个内存变量或数组变量赋值。2.
直接为内存变量赋值使用“=”直接为内存变量赋值。6.3
Visual
FoxPro程序设计基础Visual
FoxPro运算符与表达式算术运算及其表达式算术运算符包括有:+、-、*、/和^五个运算符分别表示加、减、乘、除与乘方优先级为:^、*、/、+、-同一优先级的按从左到右计算。6.3
Visual
FoxPro程序设计基础Visual
FoxPro运算符与表达式字符运算及其表达式连接运算即用“+”将两个或多个字符串首尾连接形成一个新的字符串。取子串运算Left(S,n)函数,用于将S中的左边n个字符取出形成的子串。
Right(S,n)函数,用于将S中的右边n个字符取出形成的子串。
Substr(S,n[,L])函数,用于将S中的左起第n个字符开始的L个字符取出形成的子串。6.3
Visual
FoxPro程序设计基础3.关系运算及其表达式关系运算符主要有6个:“大于>”、“大于或等于>=”、“等于=”、“小于或等于<=”、“小于<”和“等于=”。说明:关系运算用于在同为数值型、字符型或日期型的数据之间比较大小,而绝不可以比较不同数据类型数据的大小。运算的结果为逻辑型数据:“真(.T.)”或“假(.F.)”。6.3
Visual
FoxPro程序设计基础4.逻辑运算及其表达式逻辑运算符有:.“非(.NOT.)”、“与(.AND.)”和“或(.OR.)”。优先级别依此是:“非(.NOT.)”、“与(.AND.)”和“或(.OR.)”。
运算规则为:“.AND.”和“.OR.”与上述12个各类运算符同属于双目运算符,即要求两个数据分别置于运算符两侧参与运算。而“.NOT.”仅允
许一个数据位于右侧,称为单目运算符。6.3
Visual
FoxPro程序设计基础Visual
FoxPro程序基本结构顺序结构程序设计顺序结构是程序设计中最简单、最常用的基本结构。在顺序结构中,程序是按照语句排列的先后次序逐条执行的。6.3
Visual
FoxPro程序设计基础2.分支结构程序设计一种能够判断条件,并根据条件成立与否执行不同语句的功能。具有判断与分支功能的程序段构成程序中的分支结构部分。6.3
Visual
FoxPro程序设计基础命令格式IF
lExpression
[THEN]Commands1[ELSECommands2]ENDIF命令功能该命令用于判断给定的条件(lExpression)是否成立,如果成立,执行语句序列1(Commands1),否则执行语句序列2(Commands2)。命令说明lExpression为一个逻辑型表达式,用以表示判断的条件;Commands1为一系列Visual
FoxPro语句,用以表示当“lExpression=.T.”时应该执行的语句序列;[ELSE
C
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 年度药物运载系统药品市场分析及竞争策略分析报告
- 2024版个体运输户与大车司机合作协议
- 垫层防水施工方案
- 2025年度个人医疗借款担保合同模板2篇
- 2025年度社区便利店酒水新品引进及销售合作协议3篇
- 2025年新型打桩技术劳务分包合同范本4篇
- 二零二五版药品质量检验试剂定制研发合同3篇
- CECT品牌定位及传播策略
- 2024中考模拟考试语文试卷(一模)含答案
- 2025年模具行业安全生产标准化建设合同4篇
- 个人顶账房合同范例
- 安徽省淮南四中2025届高二上数学期末统考模拟试题含解析
- 保险专题课件教学课件
- 牛津上海版小学英语一年级上册同步练习试题(全册)
- 室上性心动过速-医学课件
- 建设工程法规及相关知识试题附答案
- 中小学心理健康教育课程标准
- 四年级上册脱式计算400题及答案
- 新课标人教版小学数学六年级下册集体备课教学案全册表格式
- 人教精通版三年级英语上册各单元知识点汇总
- 教案:第三章 公共管理职能(《公共管理学》课程)
评论
0/150
提交评论