VFP第6章2009

合集下载

vfp第六章

vfp第六章

6.3
(1)分析问题 ) (2)确定算法 ) (3)画出流程框图 ) (4)编写程序 ) 5) (5)调试程序
结构化程序设计
一、程序设计的概念和步骤
(6)建立建全的文档资料 ) 二、结构化N-S流程图 结构化 流程图
1、顺序结构
2、选择结构 、 3、循环结构 、
三、顺序结构程序设计 根据编写程序所需命令语句的 先后顺序书写每一条命令,该顺序则 先后顺序书写每一条命令, 是程序的执行顺序。如习题3.41程序。 程序。 是程序的执行顺序。如习题 程序 四、分支结构程序设计 1、简单选择 、 格式:IF <条件 条件> 格式: 条件 <命令序列 命令序列1> 命令序列 ENDIF
3、多种选择(IF的嵌套) 、多种选择( 的嵌套 的嵌套) 格式: 格式: if <条件 条件1> 条件 <命令序列 命令序列1> 命令序列 if <条件 条件2> 条件 <命令序列 命令序列2> 命令序列 else <命令序列 命令序列3> 命令序列 endif Else <命令序列 命令序列4> 命令序列 Endif
3、修改程序:主菜单笺程序——打开 、修改程序:主菜单笺程序 打开——文件名,进入程序编 文件名, 打开 文件名 辑窗口,进行修改。 辑窗口,进行修改。 习题4.38 如:习题
6.2
程序的交互式命令
一、人机交互式输入语句 程序在运行过程中需要用户从键盘上输入任意数据,此时程 程序在运行过程中需要用户从键盘上输入任意数据, 序运行暂停,等待用户输入数据并回车,才继续向下执行程序。 序运行暂停,等待用户输入数据并回车,才继续向下执行程序。这 种人机对话方式实现赋值语句有以下三种: 种人机对话方式实现赋值语句有以下三种: 1、ACCEPT 、 格式:ACCEPT [<提示信息 TO <内存变量 提示信息>] 内存变量> 格式: 提示信息 内存变量 功能:从键盘上输入字符串并赋给内存变量。 功能:从键盘上输入字符串并赋给内存变量。 2、WAIT 、 格式: 提示信息>] 内存变量> 格式:WAIT [<提示信息 [TO <内存变量 ] 提示信息 内存变量 功能:从键盘上输入单字符,可赋给内存变量。 功能:从键盘上输入单字符,可赋给内存变量。 如命令中无选项[<提示信息 屏幕将显示“按任意键继续…” 提示信息>] 注:如命令中无选项 提示信息 屏幕将显示“按任意键继续

徐红波vfp(第六章)

徐红波vfp(第六章)

第6章表单表单是VFP创建应用程序与应用程序界面的重要途径之一,它将可视化操作与面向对象的程序设计思想结合在一起。

表单设计器是设计表单的工具,它提供了设计应用程序界面的各种控件,相应的属性,事件。

它运用了面向对象的程序设计和事件驱动机制,使开发者能直观,方便,快捷的完成应用程序的设计与界面设计的开发工作。

6.1 面向对象的程序设计面向对象的程序设计思想是将事物的共性,本质内容抽象出来封装成类。

VFP又将软件开发常用的功能抽象封装成标准类,开发者用类定义所需对象,通过对对象的属性设置,对事件的编程完成程序设计,VFP还提供了自定义类及面向对象的其他完整机制与功能在以后将逐一进行介绍。

6.1.1对象与属性1.对象对象是类的实例化,是客观存在的具体事物,VFP标准类中有表单类,控件类等。

具体的一个表单就是表单对象。

2.属性属性是描述对象的静态特征。

如表单的颜色,标题,名称等。

常用的表单属性如表6.1所示。

用程序中的其他界面元素。

6.1.2 事件与方法1.事件事件是描述对象的动态行为,它是由系统预先定义好的,由用户或系统发出动作,用对象来识别,用户可编程对此进行响应。

表6.2所示是表设计器提供的常用事件:2.方法方法是与对象相关的过程,是对象能执行的操作。

方法分为两种一种为内部方法,另一种为用户自定义方法。

内部方法是VFP预先定义好的方法,供用户使用或修改后使用。

表6.3给出常用的方法。

表6.3 常用方法(1)引用形式对象对属性、文件、方法的引用是用点“.”运算符。

形式:对象.属性| 方法| 事件说明:对象若有包含与被包含关系,可以从外层用,引用到内层对象。

如在后面要介绍的命令按钮Command1,对它的Caption属性的引用可以写成:mand1.Caption=“确定”,这个意思是设置当前表单中的Command1按钮的Caption属性为确定。

ThisForm代表当前表单。

(2)对象在引用中常使用的关键字如表6.4所示。

vfp第6章程序设计内容

vfp第6章程序设计内容

例6.2 Open database 教学管理(lz2) Use 学生 Accept ―请输入学生姓名:‖ to name Locate for 姓名=name If found() Display Endif ?―结束” Use return
例6.3 Use zgda(lz3) Locate for 基本工资<650.00 If .not. Eof() display Endif
Input "x=" to x
if x=0 y=cos(x) - x^3+3* x endif y=sin(x)+sqrt(x*x+1 )
例6.37铁路托运行李,假设每张车票可按每公斤 0.5元托运50公斤以内的行李,如果超过50公斤时, 超过的部分每公斤加价0.8元。计算公式和程序如下: p143 X=0.5×W 当W≤50公斤 X=0.5×50+0.8×(w-50) 当W>50公斤 Set talk off Input ―请输入行李的重量为:” to w If w<=50 x=0.5*w Else x=0.5*50+0.8*(w-50) Endif ?‖行李的重量为:”+str(w,6,2)+‖公斤,其运费 为:”+str(x,6,2)+‖元”
例6.4 输入乘出租车的公里数,求乘车费(计费标准: 2.5公里以内6元;2.5公里以外,每超过1公里,增 加到1.2元,要求四舍五入到元)。(lz5) * PROG6.PRG CLEAR INPUT ―请输入公里数:” TO X IF X>2.5 PAY=(X-2.5)*1.2+6 ELSE PAY=6 ENDIF ? "应付费",ROUND(PAY,0), "元" CANCEL

Visual FoxPro程序设计实例教程第6章 结构化程序设计基础

Visual FoxPro程序设计实例教程第6章  结构化程序设计基础
在程序设计过程中,一般要完成数据的输入、 处理和输出3个部分的设计,有些数据是需要程序 在执行过程中用户输入的。VFP提供了此类命令, 常用的有3 1)INPUT 格式:INPUT [<提示信息>] TO <内存变量 名> 功能:在屏幕上输出[<提示信息>],并等待 用户通过键盘输入表达式,再将表达式的值赋给指 定的<内存变量>
30
分支结构体现了程序运行过程中的自我判断能 力,分支结构能够根据指定条件的当前值在两条或
31
图6.8 IF支结构
32
1)IF 格式:(IF<条件表达式> <语句序列1> ELSE <语句序列2> ENDIF
33
2 多分支结构即根据多个条件表达式的值,选 (1)用IF...ENDIF语句的嵌套实现多分支 (2)
34
图6.9
DO CASE分支结构
35
使用分支语句应注意以下几点: ①IF...ENDIF、DO CASE...ENDCASE 必须配 对使用,DO CASE与第一个CASE<条件表达式> ②<条件表达式>可以是各种表达式或函数的
第6章 结构化程序设计基础
VFP程序设计包括结构化程序设计和面向对象 程序设计。前者是传统的程序设计方法,但在设计 用户界面上难度很大,而后者则可以很方便的实现 ,但仍需用户编写一些过程代码,因此,结构化程
1
第一节 结构化程序设计通常采用“自顶向下、逐步求 精”的方法,简单地说就是把一个模块的功能逐步 分解,细化为一系列具体的步骤,进而编写成一系
2
程序是能够完成某一特定任务的有序命令集合 。这些命令按照一定的逻辑顺序有机地结合在一起 ,并以文件形式存储在磁盘上,这种文件称为程序 文件。程序设计是计算机用户为解决某一实际问题 而编制程序,并以文件的形式存放于磁盘的过程。

VFP课程第六章课后作业答案

VFP课程第六章课后作业答案

一、单项选择1 A2 B3 C4 A5 D6 C7 A8 B9 B 10 D二、填空题1、152、s = 0 、t = t*j 、i = i +13、(编号,8) = 14、405、j = 1 to j 、i*j,三、编程题1、set talk offclearinput "请输入数字:" to numnum1 = mod(num,10)num2 = mod(num1,10)num3 = mod(num2,10)n = num1*num1*num1 + num2*num2*num2 + num3*num3*num3 if n = num??num,"是水仙花数!"else??num,"不是水仙花数!"endifreturnset talk on2、set talk offclearuse cjcredit = 0.0scancredit = 平时成绩*0.2+考试成绩*0.8do casecase credit >= 90等级='优'exitcase credit >= 75等级='良'exitcase credit >= 60等级='及格'exitotherwise等级='不及格'Endcaseuseset talk on实验:结构化程序设计1、set talk offclearinput "请输入年份:" to year1if mod(year1,4) = 0 and mod(year1,100) != 0??year1,"是润年!"else??year1,"不是闰年!"endifreturnset talk on2、set talk offclearuse tdo while salary > 4300??tno,salaryEnddouseset talk on3、set talk offClearFor i=1 to 3Input"请输入密码:"to mIf(m=2014) &&注意这里默认原始密码是2014,可以自己改Use sBrowseElseWait"error!"EndifEndforWait"输入超过三次!"Set talk on4、set talk offClearStore 0 to R1,R2,R3Use tScanDo caseCase title="讲师"R1=R1+1Case title="副教授"R2=R2+1Case title="教授"R3=R3+1OtherwiseR4=R4+1endcaseEndscan?"讲师人数:"+ltrim(str(R1)) ?"副教授:" +ltrim(str(R2))? "教授:" +ltrim(str(R3))useset talk on。

VFP 第6章

VFP 第6章

目录
上一张
结束
3.WAIT命令 . 命令 WAIT [ <字符表达式>] [TO <内存变量>]
功能:该命令显示字符表达式之值作为提示信息,暂停程序的执行 ,直到用户按任意键或单击鼠标时继续程序的执行。 说明:
如果 <字符表达式>值为空串,那么不会显示任何提示信息。如果没 有指定 <字符表达式>,则显示默认的提示信息:“按任何键继续...”。 <内存变量>用来保存用户键人的字符,其类型为字符型。
INPUT “请输入货物重量:” TO w IF w<=50 f=w*0.1 ELSE f=50*01+(w-50)*0.2 ENDIF ? “托运费为:”,f 目录 上一张 结束
&&货物重量超过50公斤时的计算公式 &&货物重量没有超过50公斤时的计算公式
用单分支选择编写YH2.prg程序如下:
VFP的结构化程序设计 第6章 VFP的结构化程序设计
6.1 程序与程序文件 6.2 程序的基本结构 6.3 模块化程序设计 本章要点
目录
上一张
结束
前面各章都是以交互方式,即在命令窗口中逐条输入命 令或通过选择菜单来执行Visual FoxPro命令的。除此之外, 常常采用程序的方式来完成更为复杂的任务。 VFP程序设计包括结构化程序设计和面向对象程序设计。 前者是传统的程序设计方法;后者面向对象,用户界面可利 用VFP提供的辅助工具来设计,应用程序可自动生成,但是 仍需用户编写一些过程代码。就此而言,结构化程序设计仍 是面向对象程序设计的基础。
,若无上级程序则返回命令窗口。 ④ QUIT:退出Visual FoxPro系统,返回到操作系统。

Visual FoxPro程序设计-电子教案 第6章结构化程序设计

Visual FoxPro程序设计-电子教案  第6章结构化程序设计

3. accept命令 格式: ACCEPT [<字符表达式>] TO <内存变量> 功能:程序运行时,通过键盘把字符型常量给变量赋值 说明: ① 系统显示<字符表达式>的内容作为输入的提示信息, 如果不指定<字符表达式>,则执行命令时屏幕上只显 示光标等待输入。 ② 此命令只能接收字符型常量,用户在输入时不需要加 字符串定界符,否则系统会把定界符作为字符串内的 字符。 ③ 如果不输入内容直接按回车键,系统将把空串赋值给 指定的内存变量。
【例6-5】在学生档案表中按姓名查找满足条件的记录, 若找到则显示该学生的学号、姓名、性别、家庭住址 ;若没找到,则显示“姓名输入错误!” 【例6-6】输入货物重量,计算货物的托运费。计费标准 为每公斤0.1元,当超过50公斤时,超出部分为每公斤 0.2元。
6.2.2 嵌套的分支语句 IF语句中还可以出现IF语句,这就构成了IF语句的嵌套。 1.IF语句嵌套的一般格式 2.语句执行过程 3.说明 (1)也可以在IF子句中嵌套,或是在IF和ELSE子句中同 时嵌套; (2)每个嵌套中的IF和ENDIF必须成对出现; (3)各层嵌套不得交叉。
高职高专院校“十二五”精品示范系列教 材(软件技术专业群)
Visual FoxPro程序设计
第6章 结构化程序设计
6.1 程序和程序文件 6.2 选择结构程序设计 6.3 循环结构程序设计 6.4 过程与函数
6.1 程序和程序文件
程序是能够完成一定任务的命令的有序集合。许多任务单靠 一条命令是无法完成的,而是要执行一组命令来完成。学习 Visual FoxPro的目的就是要学习利用命令来编写程序,以完成一 些具体的任务。 程序以文件形式保存在磁盘上,被称为程序文件或命令文件 ,扩展名为.prg。VFP的程序文件和其Байду номын сангаас高级语言程序一样,是一 个文本文件。程序运行时,系统会按照一定的次序自动执行包含 在程序文件中的命令。编写程序文件与在命令窗口中逐条输入命 令相比有以下优点: (1)可以利用编辑器,方便地输入、编辑和保存程序; (2)可以利用多种方式、多次运行程序; (3)可以在一个程序中调用另一个程序。

VFP第六章对象模型和事件模型

VFP第六章对象模型和事件模型

第六章对象模型与事件模型从程序设计的方法来看,Visual FoxPro不仅支持结构化的程序设计,而且支持面向对象的程序设计(object-oriented programming,简称OOP),并提供了许多相关的可视化的开发工具。

6.1 面向对象的程序设计概述面向对象的程序设计是通过对类、子类和对象等的设计来体现的。

类(class)和对象(object)的关系密切,但并不相同。

类定义了对象特征以及对象外观和行为的模板,它刻划了一组具有共同特性的对象。

对象是类的一个实例,包括了数据和过程(操作)。

例如“汽车”就是一个类,它抽取了各种汽车的共同特性,而每一部具体的汽车就是一个对象,它是“汽车”这个类的一个实例。

在一个运行表单上的控件就是一个对象。

在Visual FoxPro中,应用程序对象主要指表单、表单集,以及表单中所包含的多个控件。

表单(form)就是用户在Windows环境下所看到的各种窗口与对话框;表单集(formset)是指包含一个或多个表单的集合,表单集中的表单可以统一处理;控件(control)对象是放在一个表单上用以显示数据、执行操作或使表单更易阅读的一种图形化对象,如文本框、标签或命令按钮等。

在Visual FoxPro中,系统提供了一些类,用户也可以根据需要自定义类。

基类(base class)是Visual FoxPro 系统提供的内部定义的类,可用作其他用户自定义类的基础。

用户自定义类(user-defined class)与Visual FoxPro 基类相似,但由用户定义,并且可用来派生子类。

在面向对象的程序设计中,通过类可以简化应用程序的设计,因为类具有继承性、多态性、封装性、抽象性等特点。

继承性(inheritance)说明了子类延用父类特征的能力。

如果父类特征发生改变,则子类将继承这些新特征。

例如,如果为一个编辑控件添加了一个新属性IsBold,那么以此控件为基础派生的子类也将拥有IsBold属性。

vf09课件第6章

vf09课件第6章

常用表单控件
1.常用的表单控件包括: 1) 标签(Label)

(1)Caption属性: (2)Alignment属性
default属性 Cancel属性 Enabled属性 Visible属性
Visual FoxPro 6.0基础与应用

2)命令按钮(CommandButton)




Visual FoxPro 6.0基础与应用

3.设置属性

1)设置类属性 当类创建后,新类已继承了基类或父类的全部属性。 系统允许修改基类、父类的原有属性或设置类的新属 性。
Visual FoxPro 6.0基础与应用

2)设置对象的属性

对象的属性设置分为直接设置和结构化设置。 直接设置属性格式:Parent.Object.Property=Value 使用WITH…ENDWITH命令设置属性,该命令的格式 如下: WITH 〈Object〉 〈Property〉 ENDWITH
Visual FoxPro 6.0基础与应用

4.快速表单的生成



(1)在下拉菜单中选择【表单】|【快速表单】 命令 (2)单击“表单设计器”工具栏中的“表单生 成器”按钮 (3)右键单击表单窗口,在弹出的快捷菜单中 选择“生成器”命令。
Visual FoxPro 6.0基础与应用

6.5

Visual FoxPro 6.0基础与应用

3.Visual FoxPro 中的类

在Visaul FoxPro中主要有两大类型的基类:容器 类与控件类,
Visual FoxPro 6.0基础与应用

VFP6

VFP6

响应事件
事件是对对象识别的一个动作, 事件是对对象识别的一个动作,可以编写相 应的代码对此动作进行响应。 应的代码对此动作进行响应。 用户不能用其他的程序设计方法产生其事件, 用户不能用其他的程序设计方法产生其事件, 但可以调用与这些事件相关的过程。 但可以调用与这些事件相关的过程。 常用的事件类: 常用的事件类: 鼠标事件 键盘事件 表单事件 控件焦点事件 数据环境事件
2、引用一个对象的多个属性和方法 如:with formset1.form1.text1 .Value=DATE() .ForeColor=RGB(0,0,0) .BackColor=RGB(255,0,0) .FontName=“黑体” 黑体” 黑体 Endwith 3、引用容器中的多个对象 如:With Thisform .txtXh.backcolor=RGB(128,0,0) .txtXm.backcolor=RGB(0,128,0) Endwith
设计出基本 利用类的继承 简化程序设计,提高程序代码的可重用性 的类和对象 性更新功能
类(Class) )
系统提供的内部定义的类。( 基类(Base Class):VFP系统提供的内部定义的类。(表 : 系统提供的内部定义的类。(表 控件) 单、控件) 子类(SubClass):引用 基类或其他的子类, 子类 :引用VFP基类或其他的子类,建立 基类或其他的子类 的新类。 的新类。 用户自定义类(User-Define Class):与基类相似,由 用户自定义类 :与基类相似, 用户定义,可用于派生子类, 用户定义,可用于派生子类,但无可视化表示形式
调用对象的方法程序
方法程序是对象能够执行的一个操作, 方法程序是对象能够执行的一个操作,是 是对象能够执行的一个操作 和对象相联系的过程。 和对象相联系的过程。 调用语法: 调用语法: <引用对象 方法程序 引用对象>.<方法程序 引用对象 方法程序> FormSet1.Form1.show FormSet1.Form1.SetFocus 有返回值的方法程序以圆括号结尾 可以为对象的方法和事件编写代码, 可以为对象的方法和事件编写代码,还可 在自建的子类中扩展方法集。 在自建的子类中扩展方法集。

VFP第六章

VFP第六章

6.3 项目管理器设置
6.3 项目管理器设置
在“项目管理器”窗口,可以移动“项目管理器”的位 项目管理器”窗口,可以移动“项目管理器” 置、改变“项目管理器”的大小,还可以改变“项目管理 改变“项目管理器”的大小,还可以改变“ 器”的显示方式。 的显示方式。 在“项目管理器”窗口,拖动鼠标就可以完成对“项目 项目管理器”窗口,拖动鼠标就可以完成对“ 管理器”窗口的位置和大小的操作进行控制。 管理器”窗口的位置和大小的操作进行控制。
6.2 项目管理器的使用
6.2.5 用“其他”选项卡管理其他类型的文件
6.2.5 用“其他”选项卡管理其他类型的文件
使用“其他”选项卡, 使用“其他”选项卡,可以组织和管理项目文件中其他 类型的文件,如图像、菜单等。 类型的文件,如图像、菜单等。 操作步骤如下: 操作步骤如下: (1)打开项目文件,进入“项目管理器”窗口; )打开项目文件,进入“项目管理器”窗口; 项目管理器”窗口,选择“其他”选项卡; (2)在“项目管理器”窗口,选择“其他”选项卡; ) (3)在这一环境下,可以使用不同设计器创建、修改、 )在这一环境下,可以使用不同设计器创建、修改、 运行或移走其他类型文件。 运行或移走其他类型文件。
数据库技术及应用 Visual FoxPro
李雁翎 编著 高等教育出版社
第6章 项目管理器
本章要点
掌握创建项目的方法与步骤,掌握项目 管理器的使用 ,掌握项目管理器设置 ,掌 握逻辑结构设计方法,了解“项目”菜单功 能 。
6.1 创建项目
6.1 创建项目
系统环境下, 在Visual FoxPro系统环境下,可以利用项目管理器创建项目。 系统环境下 可以利用项目管理器创建项目。 操作步骤如下: 操作步骤如下: 系统主菜单下, (1)在Visual FoxPro系统主菜单下,打开“文件”菜单,选择 ) 系统主菜单下 打开“文件”菜单, “新建”命令,进入“新建”窗口。 新建”命令,进入“新建”窗口。 新建”窗口,选择“项目”选项,再按“新建”按钮, (2)在“新建”窗口,选择“项目”选项,再按“新建”按钮, ) 进入“创建”窗口。 进入“创建”窗口。 创建”窗口,输入创建项目文件名“人才管理” (3)在“创建”窗口,输入创建项目文件名“人才管理”,按 ) “保存”按钮,进入“项目管理器”窗口。 保存”按钮,进入“项目管理器”窗口。 项目管理器” (4)此时一个空的项目文件已建立完成。在“项目管理器”窗 )此时一个空的项目文件已建立完成。 按钮结束操作。 口,按 按钮结束操作。

vfp第6章表单设计

vfp第6章表单设计

Closable属性
• 运行表单时,表单标题栏上的关闭按钮是否有效,逻辑型
第6章 表单设计与应用
6
面向对象程序设计的概念 5.对象属性的访问
格式: <对象引用>.<对象属性> 例如,将表单中命令按钮(名称为Command1)的标题 (Caption属性)设置为“确定”。
• 命令为:mand1.Caption=“确定”
6.对象方法的调用
引用关键字 ThisForm Parent This 引用意义 当前对象所在表单 当前对象的直接容器对象 当前对象
例如,表单上包含一个命令按钮(名称为Command1), 当前对象是命令按钮。 • 引用命令按钮:This或mand1 • 引用表单:ThisForm或This.Parent
第6章 表单设计与应用
LOGO
表单是什么
表单是程序界面,如对话框和窗口。
用户能通过表单中的控件实现与应用程序的交互。 表单是面向对象程序设计思想在VFP中的体现。
第6章 表单设计与应用 2
面向对象程序设计的概念 1.对象
现实世界中的任何实体都可以认为是对象。 对象具有三要素
第6章 表单设计与应用
18
对象的公共属性 Name属性
对象的名称
Caption属性
对象的标题,字符型
BackColor属性
对象的背景颜色
ForeColor属性
对象的前景色,即字体颜色
第6章 表单设计与应用
19
对象的公共属性 FontName属性
字体名称,字符型,如“隶书”
基本操作:63.3、69.4 简单应用:43.1(先做基1)、70.1(先做基1)

VFP第6章表单设计2

VFP第6章表单设计2

⑸当选择列表框中的学号时,表格控件的数据随 之变化。 ⑹当点击“一等奖学金人数”或“二等奖学金人 数”按钮时分别统计获奖人数,计数结果在相应 的文本框中显示;当点击“退出”按钮时,结束 表单运行。
设计步骤: ⑴设置数据环境; ⑵属性设置: 列表框数据源RowSource, 数据源类型RowSourceTyp 与表格字段建立联系的数 据源ControlSource
常用形状属性值: ⑴Curvature=0,Width≠Height时,产生矩形。 ⑵Curvature=99,Width=Height时,产生圆。 ⑶Curvature=99, Width≠Height时,产生椭圆。
⑷fillStyle属性 指定形状填充方案 ⑸fillColor属性 指定形状填充色 ⑹Visible属性 形状控件是否可见 如果形状控件遮住了其它控件,可以用“格式 ”菜单的“置后”命令,或用“布局工具栏”的 “置后”按钮设置形状控件置后。
例6-16:在表单设计一个向左滚动的字幕,左下 一个数字时钟,右下一个命令按钮。
表单文件名:EX6-16时钟.scx
设计步骤: ⑴创建1个标签,2个计时器,1个命令按钮控件。 ⑵设置属性值: Label1的Caption='Visual FoxPro 6.0程序设计' Label2的Caption=Time Timer1的Interval=200 Timer2的Interval=500
表单文件名:EX6-12选项按钮组.SCX
⑴创建1个选项按钮组,1个复选框,2个命令按钮,1 个标签控件。 ⑵设置数据环境:在数据环境中添加SB.DBF、 MBDM.DBF、DX.DBF和ZZ.DBF。 ⑶用选项按钮组生成器设置选项按钮组标题与布局。
⑷编写Optiongroup1的Click事件代码;

FoxPro基础及应用(2009)

FoxPro基础及应用(2009)

(72/64学时)
3) 数据库系统阶段(20世纪60年代后期) 数据库系统克服了以前所有数据管理方式的缺点,并提 供了一种更高的数据管理方式。
数据库系统对数据管理的观点是将数据视为资源,以 便统一管理、控制、共享使用。 数据库系统管理方式具有如下特点: 1、数据结构化(这是数据库系统与文件系统的根 本区别,也是数据库系统的重要特 征之一); 2、数据共享(这是数据库系统区别于文件系统的 FoxPro 最大特点之一,并发共享); 3、减少数据冗余 基 4、数据独立性(数据的定义描述与应用数据的程 础 序分离); 及 5、有友好的用户接口(使用非常方便、容易)。 应
础 及 应 用
DML也称为查询语言 插入、修改和删除也称为更新操作
(72/64学时)
DML有两类: (1)交互式命令语言—称为自主型或自含型 (2)把数据库存取语句嵌入在主语言中使用—称为宿 主型或嵌入型--SQL语言就是一例。 DBMS控制并执行DML语句,完成对数据库的操作。 3)数据库维护功能 数据库初始数据的装入,数据库的转储、恢复、重组 织、系统性能监视、分析等功能。
(72/64学时)
例:学生选课问题
学生 选修 课程
R是“学生”和“课程”两个记录类型(实体)的集合 L是“选修”记录类型(联系)的集合 1)实体间的联系 在现实世界中,事物(实体)内部及事物之间是有联 系的。 实体内部的联系--指组成实体的各属性之间的联系 FoxPro 实体之间的联系—指不同实体集之间的联系 两个实体集之间的联系: 基 (1)一对一联系(简记为1:1) 础 (2ቤተ መጻሕፍቲ ባይዱ一对多联系(简记为1:n) 及 (3)多对多联系(简记为m:n) 应 (见P7 图1.3 实体之间的联系) 用

VFP第6章 表单及其控件的创建及使用

VFP第6章 表单及其控件的创建及使用
数据绑定型控件 非数据绑定型控件
2. 控件与数据的关系

6.3.4 使用表单设计器修改表单 1. 修改表单布局
ຫໍສະໝຸດ Modify Form选择控件 移动控件 缩放控件


复制控件 添加控件
2. 修改表单外观

表单的样式 MaxButton、BorderStyle、AutoCenter 颜色与背景 ForeColor、BackColor、Picture 文本字体和大小 FontName、FontSize 控件的可用与可见 Enabled、Visible 在控件上右击→生成器
3. 控件生成器
6.3.5 使用表单生成器创建表单 1. 利用表单生成器创建表单

Create Form

“字段”选取卡: “样式”选取卡:
2. 利用数据环境创建表单中的控件 拖放到表单上的对象 表或视图 逻辑型字段 备注型字段 其他类型的字段 默认情况下创建的控件 表格 标签与复选框 标签与编辑框 标签与文本框
6.4 控件的创建与使用
控件是放在表单上用以显示数据、执行操作或使 表单更易阅读的一种对象。各种控件有一定的应用指 向,表单中的控件应根据所要实现的功能(或完成的 任务)而进行选择。

利用选项按钮组、列表框、下拉列表框、复选框等控件,可 以为用户提供一组预先设定的数据选项。 利用文本框、编辑框、组合框等控件可以让用户输入预先不 能确定的数据。 利用微调框控件可以让用户输入给定范围的数值型数据。 利用命令按钮或命令按钮组可以让用户进行特定的操作。 利用计时器控件可以在给定时间间隔执行指定的操作。 利用表格控件可以操作多行数据。 利用标签、文本框、形状、线条、图形、图像等控件可以显 示信息等。

VFP第6章表单设计1

VFP第6章表单设计1

②在事件代码中编写命令:
③设xscj是一个公共变量,xscj="学生成绩", 则该属性的命令可以写为
㈡文本框控件 文本框控件显示用户输入的文本信息。 文本框显示的文本信息受Value属性控制,可输 入数据(N型、C型、D型或L型),也可输出数据。 文本框中的内容也可使用 Visual FoxPro编辑 功能进行剪切、复制和粘贴。
例:将文本框与SB.DBF中编号字段数据绑定。当编 辑文本框信息时,与之相关的SB.DBF数据作相应变 化;反之,当修改SB.DBF数据时,文本框显示也会 作相应变化。
表单文件名:文本框数据源1.SCX
例6-6:文本框与学生.DBF的M型和G型字段数据绑定。 ⑴在表单上创建Text1,Text2; ⑵在数据环境设计器中添加学生.DBF; ⑶为Text1,Text2建立数据源。当修改学生.DBF的M型 或G型数据时,控件数据值也随数据源数据而改变。
属性窗口:显示/设置/修改当前对象的属性值。 代码窗口:显示/设置/修改当前对象的“代码”。
表单控件工具栏:显示/隐藏表单控件工具栏。 调色板工具栏:为控件设置前景色和背景色。 布局工具栏:使选定的控件处于居中、对齐等。
表单生成器:可定义表单的样式和布局。 自动格式:为选定控件提供格式化样式。
例6-9:创建表单,当记录显示首记录时,“第 一条”按钮不可用,当记录显示末记录时,“最 后一条”按钮不可用,当记录不是显示首记录或 末记录时,“上一条”或“下一条”按钮恢复使 用。
表单文件:EX6-9命令按钮组.scx
设计步骤: ⑴创建标签、命令按钮组、命令按钮,设置Caption 属性; ⑵设置数据环境,将有用字段拖入表单; ⑶编写命令按钮组CommamdGroup1的Click事件代码;

VFP6.0教程v2009

VFP6.0教程v2009

VFP6.0教程(2009版)目录第1章概述 (3)1.0 数据、数据处理 (3)1.1 数据管理技术的发展 (3)1.2 数据模型 (3)1.3 关系型数据库管理系统 (5)1.4 Visual FoxPro 6.0的认识 (6)1.5 Visual FoxPro 6.0的启动与退出 (6)1.6 Visual FoxPro 6.0界面的认识 (6)1.7 Visual FoxPro 6.0的工作方式 (7)1.8 Visual FoxPro 6.0的辅助设计工具 (7)1.9 Visual FoxPro 6.0的项目管理器 (7)第2章表的建立与操作 (9)2.0 基本知识 (9)2.1 VFP的数据形式、类型及运算 (11)2.2 自由表的建立与修改 (22)2.3 表的常规操作 (24)2.4 排序与索引 (30)2.5 记录查找 (35)2.6 多表同时工作 (36)2.7 数据统计 (39)2.8 SQL查询 (40)第3章数据库、查询和视图 (44)3.1 数据库概述 (44)3.2 数据库的有关操作 (44)3.3 数据完整性 (46)3.4 查询 (48)3.5 视图 (50)第4章程序设计基础 (52)4.1 程序入门 (52)4.2 程序结构 (55)4.3 子程序 (57)4.4 程序调试简介 (61)第5章表单设计 (62)5.1 表单设计基础 (62)5.2 表单对象 (64)5.3 常用控件介绍 (65)5.4 利用表单向导创建表单 (75)第6章菜单设计 (76)6.1 菜单的认识 (76)6.2 菜单设计介绍 (76)6.3 下拉式菜单设计 (77)第7章报表设计 (78)7.1 报表设计基础 (78)7.2 简单报表设计 (79)7.3 分组报表设计 (79)7.4 分栏报表设计 (80)7.5 统计输出 (80)7.6 利用报表向导创建报表 (80)第8章数据库应用系统开发概述 (81)8.1 数据库应用系统的认识 (81)8.2 利用项目来管理开发中的数据库应用系统 (81)第1章基本知识1.0 数据、数据处理一、数据表示信息有多种方法,如文字、声音、图形、图像等。

[IT认证]精编vfp教程 第6章

[IT认证]精编vfp教程 第6章
– 例:formset1.form1.activate 执行activate程序,不产生激活事件
– 要产生激活事件 (方法show->activate事件)
6.4 相关事件
6.4.1 核心事件
• 核心事件集(适用于大多数对象的事件)
• 建立、释放
– 表单、表单集:
Load → Init
→ Activate → gotfocus
对象的属性
• 对象的特征及某一方面的行为(状态)
✓ 汽车
颜色、载重 停、行状态
✓ 电话
颜色、大小 拿起、挂上状态
• 来源:所基于的类的属性、定义的新属性
• 设置:
– 设计阶段(属性窗口) – 运行阶段(代码 对象.属性=值) ✓ 有些属性不能进行设置,仅是只读(表单集的表单数)
对象的事件
• 对象可以识别和响应的动作,可以编写 代码对动作进行响应,
6.3 处理对象
6.3.1 引用对象
• 一旦创建了对象,便可以通过对对象属性的修 改,方法程序的调用处理对象
• 引用对象
– 绝对引用:最高层次开始的绝对地址
• 表单集对象名.表单名
abc . form1
– 相对引用:相对于某个容器层次的引用
• 在某个对象的方法程序中
• 关 键 字 : THIS 、 THISFORM 、 THISFORMSET 、 PARENT
• ACTIVEFORM、ACTIVEPAGE、ACTIVECONTROL
系统变量 _SCREEN
• _SCREEN代表主屏对象 • 例:不知道表单名的情况下,
处理表单及表单中活动的控件 _SCREEN.ACTIVEFORM _SCREEN.ACTIVEFORM.ACTIVECONTROL
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

7
第6章 结构化程序设计
信息对话框函数 函数格式: MESSAGEBOX(<字符表达式1>[,<数值表达式>[,<字符表达式2>]]) 数值 对话框按钮 功能:供用户定义信息对话框,按下一次按
钮即返回一个数值。 <字符表达式1>用于指定在对话框中显示的 信息文本。 <字符表达式2>用于指定对话框标题栏的显 示文本。 <数值表达式>用于根据表中的内容设定对话 框中的按钮、图标和默认按钮,缺省该参数表示 取0。 函数返回值是一个数值,用户将根据操作 时点击的按钮来获得相应的返回值,编程时则根 据返回值来设置动作。
16:15
12
第6章 结构化程序设计
FOR循环语句格式
FOR <循环变量>=<初值> TO <终值> [STEP <步长值>] <语句序列1> 【例】编程输出如右侧图案。 [EXIT] clea 【例】编程输出如下图乘法口诀表。 [语句序列2] for i=1 to 4 [LOOP] ? space(4-i) [语句序列3] for j=1 to 2*i-1 ENDFOR|NEXT ?? "*" 【例】编程求s=1+2+3+…+100。 next note 打印乘法口诀表 next *p6-9 clear for i=1 to 3 clea for a=1 to space(i) ?9 s=0 ? for j=1to 6-(2*i-1) for i=1 to 100 for b=1 to a s=s+i p=a*b ?? "*" next ?? str(a,1)+"×"+str(b,1)+"="+str(p,2)+space(2) next next next ? "s=",s next retu retu retu
【例】编程计算S=1+2+3+…+100,并求1~100 之间奇数之和。
*p6-11.prg clea store 0 to i,s,t do while i<100 i=i+1 s=s+i if int(i/2)=i/2 loop endif t=t+i enddo ? "1+2+3+…+100=",s ? "1~100奇数和为:",t retu
Visual Foxpro程序设计
上海交通大学出版社
第6章 结构化程序设计
程序设计概念
使用计算机解决实际问题,首先要对问题进行分析并建立数学模型,然后考虑数 据的组织方式和算法,并用某一种程序设计语言编写程序,最后调试程序,使之运行 后能产生预期的结果。
算法
算法是解决问题的逻辑步骤,是对特定问题求解步骤的一种描述。只有通过算法 能够描述的问题,才能通过计算机求解。对同一个问题,可以有不同的解题方法和步 骤,也就有不同的算法。 计算机算法:用程序解决问题的逻辑步骤,是指令的有限序列。可分为科学计算 领域(处理数值数据)和数据处理领域(处理非数值领域)两大类。
Ans=messagebox(”是否确认删除文件?”,4+32+0,”删除文 件”)
16:15
第6章 结构化程序设计
6.2 程序的控制结构
A B 1.顺序结构 这是最简单的一种结构,语句或基本结构的执行按照它们出现的先后 顺序。 A块执行完毕后,再执行B块,该结构只有一个入口,只有一个出口。 A块、B块可以是一条语句,也可以是一个基本结构。 (建立p6-2.prg) 2.选择结构
0 1 2 3 4 5 16 32 图标 48 64 0 默认 256 按钮 512 返回数值 1 2 3 4 5 6 7 仅有“确定”按钮 “确定”和“取消”按钮 “放弃”、“重试”和“忽略”按 钮 “是”、“否”和“取消”按钮 “是”和“否”按钮 “重试”和“取消”按钮 “停止”图标 问号 惊叹号 信息(i)图标 第1个按钮 第2个按钮 第3个按钮 按下按钮 确定 取消 放弃 重试 忽略 是 否 8
16:15
3
第6章 结构化程序设计
◆用流程图表示:用一些符号来表示各种操作,形象直观、简单,易于理 解、修改和交流。
处理框 判断框 终点框
【例】用框图描述 如下函数的求解过程:
Y= 5 (x≥0) -5 (x<0)
start
Input x
X≥0 ? N y=-5
I/O框
流程线
准备框
◆用伪代码表示 Y 利用介于自然语言和计算机语言之间的文字和符号来 描述算法,它不用图形符号,这种表示方法书写方便,格 式紧凑,容易理解,也便于向计算机语言算法转换。 y=5 【例】用伪代码表示计算10!的算法: Begin(开始) 置t的初值为1(1→t) 置i的初值为2(2→i) 当(while) i<=10,执行(do) Begin 使t=t×I 使i=i+1 End 打印t 的值(print t) End(结束)
16:15
6
第6章 结构化程序设计
格式输出命令: 命令格式:@<行,列> say <表达式> 功能:在屏幕上按“行、列”指定位置上显示“say”子句的“表达式”的值。 格式输入命令: 命令格式:@<行,列> [say <表达式1>] [get <变量名>] [default <表达式2>] 功能:在屏幕上按“行、列”指定位置上显示“say”子句的“表达式1”的值,并 可修改“get”子句的变量值。 注意:“get”子句的变量必须用“read”命令来激活。 激活命令: 命令格式:read 功能:用于激活“get”子句中的变量。 【例】 set talk off clear use students appe blank @ 10,20 say “请输入学号” get xh1 default space(8) @ 11,20 say “请输入姓名” get xm1 default 16:15 space(8) read repl xh with xh1,xm with xm1 disp set talk on use
算法的基本特征
◆输入:有零个或多个数据的输入。 ◆输出:有一个或多个数据的输出。 ◆有穷性:一个算法应包含有限的操作步骤,而不能是无限的。 ◆确定性:算法中每一个步骤应当是确定的,不应是含糊、模棱两可的。 ◆可行性:算法中每一个步骤应当能有效地执行,并得到确定的结果。
16:15
2
第6章 结构化程序设计
16:15
分支语句格式:
真 B1
条件 假
(建立p6-3.prg)
9
第6章 结构化程序设计
【例】试编一程序,删除磁盘上任一文件。
*p4-4.prg clea accept ”请输入文件名(包括扩展名):” to bm bm=allt(bm) If file(“&bm”) delete file &bm Else messagebox(”你要删除的文件不存在,是否输入有误!”) Endif retu
16:15
13
第6章 结构化程序设计
16:15
Output y end
4
第6章 结构化程序设计
6.1 程序文件
程序文件建立与修改: 通过菜单、项目管理器或在命令窗口中输入命令,打开编辑命令的文本编辑 窗口。 命令格式:MODIFY COMMAND <文件名> 功能:打开文本编辑窗口,用来建立或修改程序文件,文件名由用户指定, 缺省的扩展名为.PRG。 程序中每条命令都以回车键结尾,一行只能写一条命令。若命令需分行书写, 应在一行终了时键入续行符“;”,然后按回车键。 程序的运行命令: 通过菜单、项目管理器或在命令窗口中输入命令,可以运行程序。 命令格式: DO <文件名> DO命令默认运行.PRG程序(扩展名可省略),如要运行其它程序,文件名中须 包括扩展名。 程序结尾的专用命令: RETURN &&结束程序执行并返回到调用它的上级环境中继续。允许缺省。 CANCEL &&终止程序的运行并清除程序的私有变量,返回到命令窗口。 QUIT &&退出VFP系统,返回到操作系统状态。
……
情况n 条件n Bn
N
其他 B
(建立p6-6.prg) 3. 循环结构 该结构的特点是根据条件,重复执行一个语句块。 当给定条件满足时,执行B块,执行B块后再返回测试 条件是否满足,如此循环反复执行B块,直到条件测试 不满足为止。 B块可以是单个语句,也可以是基本块。该结构只 有一个入口,只有一个出口。
16:15
条件


B块 [LOOP] [EXIT]
11
第6章 结构化程序设计
条件循环语句格式
DO WHILE <条件> <语句序列1> [EXIT] [语句序列2] [LOOP] [语句序列3] ENDDO 【例】编程逐行显示学生表中 入学成绩大于600分的学生学号、 姓名、性别和入学成绩。 clear use students go top do while not eof() if rxcj>600 ? xh,xm,xb,rxcj endif skip enddo use
算法的表示
◆用自然语言表示:自然语言可以是中文、英文、数学表达式等,通俗易懂但表达文 字可能过长,表示不太严格,对分支和循环结构表示很不方便。 【例】求数列1+2+…+m的值N,当N>10000时结束。算法可表示如下: ①N=0; ②m=0; ③m加1; ④N加m ⑤判断N是否大于10000,如果满足条件则结束,不满足条件则再从③开始继续执行。 【例】对于一个大于或等于n的正整数,判断它是不是一个素数,算法可表示如下: ①输入n的值; ②i=2; ③n被i除,得余数r; ④如果r=0,表示n能被i整除,则打印“n不是素数”,算法结束;否则执行⑤; ⑤i+1→i; ⑥如果i≤n-1,返回③;否则打印“n是素数”;算法结束(或如果i≤ n ,返回③;否 则打印“n是素数”;算法结束) 。
相关文档
最新文档