《VFP程序设计复习提纲.doc》由会员分享,可在线阅读,更多相关《VFP程序设计复习提纲.doc(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、五、chap05程序设计基础(5.1-5.2)1.程序描述方式包括:面向过程编程(OPP)和面向对象编程(OOP)2.结构化程序概述(1)打开程序窗口(命令窗口):modify command(2)新建或编辑程序(命令窗口):modify command 程序文件名(3)运行程序(命令窗口): DO 程序名 WITH 参数列表(4)程序文件:程序文件扩展名为.PRG;运行时生成”伪编译”程序(FXP)3.基本结构(1)顺序结构输入语句:ACCEPT TO &从键盘输入文本到指定内存变量中输入语句:INPUT TO &从键盘输入数值、日期到指定内存变量中输出提示语句:WAIT WINDOWS &
2、屏幕显示提示信息(2)分支结构单分支语句:IF 。ENDIF双分支语句:IF ELSE &必须单独一行,否则就犯语法错误 ENDIF &end和if之间不能加空格注意:IF和ENDIF必须成对出现多分支语句:DO CASE。ENDCASE(3)循环结构“计数”型循环(已知循环次数)【语句格式】FOR = TO STEP ENDFOR|NEXTDO WHILE 循环语句(未知循环次数)【语句格式】DO WHILE ENDDO*DO WHILE循环结构中,必须确保循环体执行有限次后,条件表达式的值为.F.,否则会造成“死循环”(即无限地执行循环体语句)。若出现“死循环”现象,可通过按键中止程序的执
3、行。* EXIT语句,将无条件跳出所在的循环,执行ENDDO后面的语句; LOOP语句,立即返回到本循环的DO WHILE处,再判断条件表达式的值。SCANENDSCAN循环语句(专门处理表中记录)【语句格式】SCAN范围语句FOR WHILE ENDSCAN*对表中指定范围的记录循环扫描,扫描完一条记录后,记录指针自动下移一条;*若范围语句为ALL,仍然从表中的第一条记录开始循环扫描;否则从表中的当前记录开始循环扫描,对表中指定范围的每条记录进行扫描。*若含有WHILE子句,表示扫描过程中只要有一条记录不满足条件,就结束循环扫描。4.自定义函数与过程(1)用户自己编制函数,与系统常用函数同样
4、使用。(2)常需提供参数;第一行用parameters开头设置参数,最多27个参数。(3)单独保存时,文件名就是函数名(4)调用函数(必须通过命令窗口)DO 函数名WITH 参数列表 &不需明确返回结果函数名(参数列表) &需用return语句明确返回结果;否则,返回.T.(5)自定义函数可和主程序同时出现,需用functionendfunc结构进行包装自定义函数放在主程序后面;若放前面,无法直接调用 避免与主程序变量同名;若同名,需加local进行区分5.常用编程技巧(1)实现累加求和或计数,变量初值设置为0。如n=0或nsum=0n=n+1,实现计数。nsum=nsum+数值表达式,实现累
5、加求和。(2)实现文本累加,变量初值设置为空串space(0)。cr=字符表达式+cr &实现文本逆序累加,先取字符放在后面。cr=cr+字符表达式 &实现文本顺序累加,先取字符放在前面。(3)标记对象的不同状态,引用变量flag表示不同状态。如flag=1或flag=1(4)实现数值累乘,变量初值为1。如p=p*i。(5)交换数据,需要引入临时变量作为中介。(6)提取数值各位数字步骤:转换成文本(利用str()),提取每位文本(利用substr()),文本转换成数值(利用val()). Chap06表单及其控件的创建与使用6.1-6.5,5.3一、如何理解面向对象1.面向使用对象(用户对象)
6、:所做即所得(WYSIWYG)。2.面向加工对象(基类对象):利用已有基本对象进行整合和完善(不需一切从零开始)二、如何学好面向对象1.主要功能(Function);2.重要属性:(Property);3.重要方法:(Method);(4)重要事件(Event)。三、如何编制面向对象程序1.设置表单界面2.添加对象,设置对象的外观属性3.编写对象的事件代码(1)合理引用对象绝对引用:从容器的最高层次(表单集或表单)开始进行定位,给出对象的绝对地址;相对引用:从当前对象位置开始进行定位,立足当前对象。this当前对象;thisform当前表单;parent当前对象的直接容器对象activefor
7、m当前活动表单;activecontrol当前活动控件_screen屏幕对象;_vfpVFP应用程序对象(2)确定合适的对象(正确的地点)和恰当的事件(正确的时间)(3)设置正确的操作:包括设置对象属性、调用对象事件方法、程序结构、系统函数等。设置对象属性:引用对象.属性名值调用方法:引用对象.方法名或引用对象.方法名(参数列表)调用事件:引用对象.事件名四、常用控件(Control)涉及到控件:标签、文本框、命令按钮、编辑框、命令按钮组、选项按钮组(单选框)、复选框、组合框、列表框、表格、形状、计时器、图像、微调框、页框(一)标签(Label)1.功能:设置标题或产生提示内容2.重要属性(1
8、)Caption:设置标题或提示内容。不要加引号(2)autosize:自动调整宽度(3)fontsize: 设置字号(4)forecolor:字体颜色(前景色)(5)backcolor:背景色(6)wordwrap:提示内容可换行(7)visible:是否可见。.T.:可见;.F.:不见3.重要方法:无4.重要事件:无(二)文本框(TextBox)1.功能:用户可输入或显示数据(可以是文本、数值、日期),常和表中相关字段或某个变量绑定2.重要属性:(1)value:存放文本框的内容,可显示*初值为无:存放文本,靠左对齐*初值为0或其他数字:存放数值,靠右对齐*初值为日期常量:存放日期,靠左对
9、齐(2)passwordchar:设置替代符,用于口令输入(3)integralheight:自动调整高度(4)selstart:设置选择文本的开始位置(5)sellength:设置选择文本的长度(6)controlsource:设置控件对象的数据来源3.重要方法:(1)setfocus:让对象自身获得光标(或焦点),便于输入内容。调用方法:对象名.方法名4.重要事件:(1)Valid事件:输入完内容按下Enter键时刻发生,即对象失去焦点之前的一刻发生。(三)命令按钮(CommandButton)1.功能:用户点击,产生一系列操作。2.重要属性:(1)caption:设置按钮显示文本(2)p
10、icture:设置按钮显示图形(3)enabled:设置按钮是否可用(4)default:设置按下Enter键后响应操作的按钮,即默认点击哪个按钮。3.重要方法:无4.重要事件:Click事件(四)编辑框(EditBox)1.主要功能:可输入或显示多行文本(可超过255个字符;文本框对象输入文本=255字符),常和表中备注型字段绑定。2.重要属性(与文本框类似)(1)controlsource:设置控件的数据来源。(2)Scrollbars:设置滚动条(五)命令按钮组(CommandGroup)1.主要功能:把多个命令按钮放在一起,可方便地摆放位置,避免重复代码的描述和进行简化.2.重要属性(
11、1)buttoncount:设置命令按钮数目,默认为2.*通过生成器设置命令按钮数目、标题和摆放位置、间隔。*如何打开“命令按钮组生成器”?*方法:选中对象,右击选择生成器即可打开.*容器及容器中对象的编辑*容器:还可以包含其它对象的控件。*容器的编辑:选中容器,直接编辑即可。*容器中对象如何编辑*选中容器中对象的方法*方式1:先选中容器,右击选择“编辑”,然后可以其中包含的对象。*方式2:通过“属性”对话框直接选择。(2)Value:存放选中的按钮*可为数值:表示选中按钮的序号*可为文本:表示选中按钮的Caption属性值3.重要方法:无4.重要事件:interactivechange事件:
12、对象的内容(Value属性值)变化时刻发生(六)选项按钮组(OptionGroup)1.主要功能:又叫单选框.提供多个选项,但只能且必须选择其中一项.2.重要属性(1)buttoncount:设置按钮数目,默认为2.*和命令按钮组一样,也是容器.*可以通过选项组生成器对按钮数目、标题和摆放位置进行设置(2)Value:存放选中的选项按钮*可为数值:表示选中选项按钮的序号*可为文本:表示选中选项按钮的Caption属性值(2)controlsource:设置控件数据来源,让前台对象和后台数据进行绑定,实现同步变化。3.重要方法:无4.重要事件:interactivechange事件(七)复选框(
13、CheckBox)1.主要功能:提供选项,可选可不选2.重要属性:(1)Value:表示选中状态*0:没选中*1:选中*2:没法选或不让选(2)controlsource:设置控件的数据来源。3.重要方法:无4.重要事件:interactivechange事件*如何快速实现操作界面*实现方法:让前台对象和后台数据进行自动绑定。*如何进行自动绑定*操作方法:先打开表单的“数据环境”,然后添加相应表或视图作为数据来源;接下来,把相关字段直接拖动到表单界面即可。*前提:需要在数据库表的扩展信息中设置“显示类”。*具体绑定对应的关系*数值型、字符型和日期型字段默认绑定1个标签和1个文本框*备注型字段默
14、认绑定1个标签和1个编辑框*逻辑型字段默认绑定1个复选框*通用型字段默认绑定1个标签和1个OLEBound控件。(八)组合框(Combobox)1.主要功能:可输入内容,也可选择选项,是文本框和列表框的二合一。占用地方很小,而且可存放N多个选项的数据。2.重要属性:(1)controlsource:在组合框中失灵,无法实现前台对象和后台数据进行绑定.(2)RowsourceType和RowSource 数据来源类型 具体数据来源 6-字段 xs.jg xs.jg,xh,xm,xb 2-别名 xs 3-SQL语句 select distinct jg from xs into cursor te
15、mp1 1-值 教授,副教授,讲师,助教 0-无 需要用语句定义范围或来源 (3)columncount:设置列数。=0,默认显示1列内容。(4)Value:存放选中数据项的内容*可为数值:表示选中数据项的序号*可为文本:表示选中数据项的内容*注意:数据项的内容必须是文本。(5)boundcolumn:设置Value属性值显示选中记录第几列的内容。=1,默认选中第1列内容。(6)displayvalue:存放从键盘输入的内容。(7)listindex:设置数据项的序号(8)listcount:计算数据项的数目(9)style:设置类型。3.重要方法:(1)additem(字符参数):向组合框或
16、列表框中增加数据项,参数必须是文本,表示数据项的内容。(2)clear:清除组合框或列表框对象中的所有数据项。要求rowsourcetype为0-无。(3)removeitem(数值参数):从组合框或列表框中删除数据项,参数必须是数值,表示选中数据项的序号。4.重要事件:interactivechange事件:对象内容(value属性值)变化时刻发生。*注意:若组合框、列表框及表格等对象动态显示变化数据时,通常需要在其他对象的interactivechange事件中动态设置这些对象的Rowsource属性值或RecordSource属性值。(九)列表框(Listbox)1.主要功能:可存放N多
17、选项,只允许用户选择内容。2.重要属性:与组合框类似3.重要方法:与组合框类似4.重要事件:与组合框类似(十)表格(Grid)1.主要功能:以表格形式显示数据,与后台表对象显示方式一模一样,实现前后台一致。2.重要属性(1)RecordsourceType和RecordSource 数据来源类型 具体数据源 4-SQL说明 *说明:对于表格或组合框、列表框的数据源类型为SQL语句时,不需要先在相应表单的数据环境中添加相应表对象或视图作为数据来源。 0-表 xs(表名)或xs.dbf(表文件名) 1-别名 xs(别名)*说明:别名作为数据源,需先打开相应的表对象。(2)columncount:设
18、置列数。=-1,默认显示查询结果或数据源中所有字段。*表格(grid)是一个容器,包含N多个列(column)。*列(column)也是一个容器,包含header1,还有其他控件。*列只能包含在表格(grid)中,不能直接添加到表单中。*列(column)重要属性:(1)bound:是否设定绑定(2)controlsource:设置控件的数据来源(3)currentcontrol:设置当前显示控件*如何添加控件到列中?*先选中相关的列*通过“表单控件工具栏”直接添加即可。(3)recordmark:设置是否显示记录选择器列(4)deltemark:设置是否显示删除标记列、(5)readonly
19、:设置数据是否只读3.重要方法:无4.重要事件:afterrowcolchange事件,切换单元格时刻发生。(十一)形状(shape)1.主要功能:修饰美化表单2.重要属性:(1)height:设置高度,单位是像素(2)width:设置宽度,单位是像素(3)curvature:设置弯曲程度,范围从0-99;0:可描述矩形;99:可描述椭圆。*如何描述正方形?*如何描述圆形?3.重要方法:无4.重要事件:无(十二)微调框(spinner)1.主要功能:可对有限范围内的数值内容进行调整。常和表中数值型字段绑定。2.重要属性(1)value:存放对象的内容,只能为数值。(2)controlsourc
20、e:设置控件的数据来源(3)spinnerhighvalue:设置按钮微调的最大值 spinnerlowvalue:设置按钮微调的最小值(4)keyboardhighvalue:设置键盘输入的最大值 keyboardlowvalue:设置键盘设置的最小值(5)increment:微调幅度,默认是1.3.重要方法:无4.重要事件:interactivechange事件,对象的内容(value属性值)变化时刻发生。(十三)计时器(Timer)1.主要功能:设定时间间隔中,重复执行某个操作,可形成运动效果。2.重要属性:(1)interval:设置时间间隔,单位是毫秒(ms)。如间隔为0.5s,in
21、terval=500;(2)enabled:设置是否可用。3.重要方法:无4.重要事件:timer事件,计时器工作时刻发生。(十四)图像(image)1.主要功能:美化表单2.重要属性:(1)left:横坐标(水平)(2)top:纵坐标(垂直)(3)picture:设置图像文件位置3.重要方法:无4.重要事件:无(十五)页框(pageframe)1.主要功能:可分门别类地存放信息,扩展表单显示空间。2.重要属性:(1)pagecount:设置页面数目,默认为2.(2)activepage:设置活动页面(或当前页面)*如何增加页面?通过修改属性pagecount的值即可。*如何删除页面?可修改p
22、agecount的属性值。*如何删除指定页面?*方法:选中指定页面;然后,选中当前表单标题栏,按下delete键即可。3.重要方法:无4.重要事件:无*补充:容器中的setall()方法*方法作用:设置容器中所有对象的某个属性*使用情形1:设置容器中所有对象的某个属性为某个值。*调用格式:容器名.setall(属性名,属性值)*使用情形2:设置容器所有某种类型对象的某个属性*调用格式:容器名.setall(属性名,属性值,”控件类型设置,”)【补充说明】设置工具提示文本1定义:就是鼠标指针停留在某个控件上时,显示相关的文本内容2操作(1)控件所在表单的ShowTips属性(决定是否显示工具提示
23、文本)设置为.T.;(2)设置控件的ToolTipText属性(决定显示具体的文本内容)为.T.-真。【补充说明】重要方法(1)setfocus方法:设置焦点常用控件:文本框、编辑框和表格等控件;调用方法:对象名.setfocus(2)Additem()、Removeitem()和Clear方法常用控件:组合框(Combobox)和列表框(Listbox)调用方法:对象名.Additem(字符数据) &给组合框或列表框控件对象增加数据内容对象名.Removeitem(数值数据) &删除组合框或列表框控件对象的某个序号的数据项对象名.Clear &清除组合框或列表框控件对象中的数据内容注意事项:
24、使用Additem()和Removeitem()方法,必须将RowSourceType设为0或1;使用Clear方法,必须将RowSourceType设为0。(3)setall()方法常用控件:容器控件,如命令按钮组、选项按钮组、表格、页框和表单等调用方法:对象名.setall(属性名,属性值)&为容器控件中所有控件对象的某个共同属性指定值对象名.setall(属性名,属性值,控件类型) &为容器控件中某一类控件对象的某个共同属性指定一个值例如,Thisform.setall(Backcolor,RGB(255,255,0)&给容器中所有对象设置同一个颜色Thisform.PageFrame.
25、Page1(Backcolor,RGB(255,255,0),TextBox) &给容器中的所有文本框对象设置同一个颜色(4)Show、Hide、Cls、Refresh和Release方法常用控件:表单调用方法:thisform.Show&显示表单;thisform.Hide&隐藏表单thisform.Refresh&刷新表单;thisform.Release&释放表单【补充说明】重要事件(1)焦点事件及发生顺序When事件:接受焦点之前发生;GotFocus事件:接受到焦点时发生;Valid事件:失去焦点之前发生Lost Focus事件:失去焦点时发生(2)表单与容器对象事件及发生顺序表单集
26、Load事件表单Load事件容器对象Init事件容器Init事件表单Init事件表单集Init事件表单集Destroy事件表单Destroy事件容器Destroy事件容器对象Destroy事件表单Load事件表单Unload事件(五)表单文件类型和运行表单命令(1)表单文件类型:.scx,表单文件;.sct,表单备注文件(2)运行表单命令:do form 表单名.scx。注意表单文件扩展名可以省略。【补充说明】表单属性表单(Form): 默认对象名:Form1等属性含义备注Caption标题在代码中其值为字符型AlwaysOnTop是否位于其他窗口之上AutoCenter运行时自动居中Bord
27、erstyle 边框类型0-无边框,1-单线边框,2-固定对话框,3-可调边框ControlBox左上角是否有图标同时右上角是否有按钮Icon修改表单标题栏上的图标Movable窗口运行时是否可以移动MinButton是否有最小化按钮当两项同时为F.时,则两个按钮都不出现MaxButton是否有最大化按钮WindowState窗口状态0:普通;1:最小化只用于Windows;2:最大化WindowType表单是否为模式表单0-无模式,1-模式DeskTop表单是否包含在主窗口中ShowWindow表单窗口的显示0-在屏幕中,1-在顶层表单中,2-作为顶层表单(六)表单的数据环境(1)表单(集)
28、的数据环境包含了与表单交互作用的表和视图,以及表单要求的表之间的关系;创建表单时,首先要设置表单的数据环境,以确定表单所用到的表和视图。(2)向数据环境添加一张表或视图时,同时也创建一个临时表。(3)如何在数据环境中创建关系:将公共字段从主表拖动到子表相匹配字段的索引上,也可以将公共字段从主表拖动到子表中的对应字段上。(七)多文档界面和单文档界面(1)多文档界面:各个应用程序由单一的主窗口组成。(2)单文档界面:应用程序由一个或多个独立窗口组成,在Windows桌面上独立显示。(3)子表单:包含在其他表单中,不能移出父表单,则ShowWindow属性值为0或1,且Desktop属性值为.F.。
29、(4)浮动表单:属于父表单的一部分,可以不位于父表单中,但不能在父表单后台移动,则ShowWindow属性值为0或1,且Desktop属性值为.T.。(5)顶层表单:独立的、无模式的、无父表单的表单,通常用于创建单文档界面,或用于多文档界面中其他表单的父表单。则ShowWindow属性值为2。(八) 类和对象的内涵(1)类:具有相同结构、操作,并遵守相同规则对象的聚合。(2)对象:基于某种类所创建的实例,包含了数据和过程。(3)类的分类:基类、子类、用户自定义类(4)类的特性:继承性、多态性、封装性和抽象性(5)属性:可以为对象定义类的新属性。(6)事件:事件集合固定,用户不能创建新事件。(7)方法:用户不可以为对象创建新的事件,但可以创建新的方法程序。(九)基类(1)基类最小事件集:Init事件、Error事件和Destory事件(2)容器类:表单集、表单、命令按钮组、选项按钮组、表格、表格列、页框、页面。(十)事件驱动和事件循环(1)事件驱动:采用面向对象设计方法设计的应用程序,功能的实现由事件驱动。(2)事件循环:READ EVENTS 建立循环;CLEAR EVENTS 命令终止循环。