VF复习题 - 图文

更新时间:2023-12-18 14:07:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

考试范围:

一. 选择题 1分×30 二. 填空题 2分×10 三. 判断题 1分×10 四. 程序填空题 2分×10 五. 程序设计题 2分×10 第0章

1.可控冗余度:数据专用时,每个用户拥有并使用自己的数据,难免有许多数据相互重复,这就是冗余。实现共享后,不必要的重复将全部消除,但为了提高查询效率,有时也保留少量重复数据,其冗余度可由设计人员控制。(P2)

2.数据库系统的分代:格式化数据库系统,关系数据库系统,对象-关系数据库系统 (P2)

3.数据库管理系统(DBMS):关系数据库通常支持“结构查询语言”SQL (P5) 数据库应用系统(DBAS):通常由数据库和应用系统两部分组成 (P7)

第1章

1.面向对象程序设计:引入VF后,把VF的应用程序设计扩展为既有结构化设计,又有面向对象程序设计的可视化程序设计,大大减轻了用户编程的工作量。(P14)

2.VF的工作方式:P23

(1)交互操作方式:内涵逐渐从以命令方式为主转变为以界面为主、命令方式为辅。交互操作虽然方便,但用户操作与机器执行相互交叉,会降低执行速度。 (2)程序执行方式:将VF的命令编成特定的序列,并存入程序文件,通过DO调用;运行效率高,而且可重复执行,随时调用执行

第2章

1.VF的字段属性:P34

(1)字段名:用来标识字段,它是一个以字母或汉子开头,长度不超过10的字母、汉字、数字下划线序列。

(2)类型与宽度:字段类型、宽度及小数位数等属性都用来描述字段值。

①数值型N(最多20位):存放由正负号、数字和小数点所组成,且能参与数值运算的数据。

②日期型D(8个字节):mm/dd/yy

③逻辑型L(1个字节):存放逻辑值T,F ④备注型M(4个字节):能接收一切字符型数据,数据也存在与表的主名相同的备注文件中,扩展名为.FPT。 ⑤通用型G(4个字节):存放图形,电子表格,声音等多媒体数据。数据也存储于扩展名为.FPT的备注文件中;存储过内容后gen变为Gen

2.表设计器的“字段”选项卡 P37

NULL列的按钮:表示无明确的值,不同于零、空串或空格。选定NULL按钮,其面板上会显示“√”号,表示该字段可接收NULL值。

3.输入表数据:P38

数据输入要点:当光标停在“备注型”或“通用型”字段的memo或gen区时,若不输入,则回车跳过;若输入,按Ctrl+PgDn键或双击打开字段编辑窗口。

4.表的打开和关闭 P39

(1)用USE命令打开或关闭表: 命令格式USE[<文件名>];

功能:在当前工作区中打开或关闭表。(注:已打开的表总有一个记录指针) (2)关闭表的其他方法:

CLEAR ALL:关闭所有的表,并选择工作区1;从内存释放所有内存变量及用户定义的菜单和窗口,但不释放系统变量。

CLOSE ALL:关闭所有打开的数据库和表,并选择工作区1;关闭表单设计器,查询设计器,报表设计器和项目管理器

5.修改表数据P41

(1)浏览窗口的操作: USE<表名>

BROWSE;在打开浏览窗之前,必须打开浏览的表 (2)在浏览窗口追加与删除记录

①追加记录:将新纪录添加到表的末尾;

②删除记录:分为打上删除标记和从磁盘上删除两个步骤

③“追加方式”与“追加新纪录”的区别:前者为连续追加,当添加出的记录输入数据后,VF会自动开辟另一新纪录的位置;后者仅添加一个记录,再要添加时再次选定此命令。

6.变量

(1)内存变量P47

赋值命令:计算<表达式>,然后将计算结果赋给内存变量。 命令格式1:<内存变量>=<表达式>

命令格式2:STORE<表达式> TO <内存变量表> (2)数组P49

例:DIMENSION x(3),a(2,3) ;故二维数组a具有2行3列共6个元素,分别表示为a(1,1)、a(1,2)、a(1,3)、a(2,1)、a(2,2)、a(2,3)、 (3)字段变量:表的每一个字段都是一个字段变量。如编号、名称和单价

7.表达式P49

(1)运算符:=:相等,串比较时串首同就得真

==:完全相等,两串全同得真

$:包含,左串是右串的子串才得真

(2)表达式值显示命令P51:计算表达式的值,并将其显示在屏幕上。 命令格式:?|??<表达式表> ;?表示从屏幕下一行的第一列起显示结果

??表示从当前行的当前列起显示结果 命令执行时遇逗号就空一格

(3)字符运算符:P51 +:用于连接两个字符串

-:用于连接两个字符串,并将前一个字符串尾部的空格移到结果字符串的尾部 如: ?“信息 ”+“技术”&&显示“信息 技术” ?“信息 ”-“技术”&&显示“信息技术”

8.函数P53

(1)字符处理函数:

SUBSTR:?SUBSTR(“ABCD”,2,2)&&“BC”,从第2个字符开始数两位

ALLTRIM:?ALLTRIM(“ ABCD ”)&&“ABCD”,删除字符串前导和末尾的空格 VAL:?VAL(“3.14”)&&3.14,将字符串转换为数值 STR:?STR(3.14,5,1)&&“3.1” (2)逻辑型函数:

BOF:记录指针指向首记录之前时返回.T.,否则返回.F. EOF:记录指针指向末记录之前时返回.T.,否则返回.F. FOUND:用LOCATE,CONTINUE,SEEK或FIND来查询,若查到返回.T.,否则返回.F.

9.VF命令的常用字句 P55 (1)范围字句: ALL 所有记录

NEXT 从当前记录起的N个记录 RECORD 第N个记录

REST 从当前记录起到最后一个记录为止的所有记录 (2)FOR 子句 USE SB GO 2

LIST NEXT 5 FOR 价格>10000

(3)WHILE字句:与FOR一起时,优先处理WHILE (4)FIELDS字句

LIST RECORD 5 FIELDS 编号,名称,价格 &&显示第5个记录的编号,名称,价格

(5)OFF字句:类似LIST(滚动方式输出)和DISPLAY(分屏输出),但不显示记录号

10.命令字句中的表达式:一条命令的长度可达8192个字符,‘;’续行符 P57

11.表的复制 P57 USE SB

COPY TO A1 &&对sb.dbf原样复制

COPY STRUCTURE TO SB2 FIELDS 名称,价格,编号,备注 &&结构复制

12.表数据的替换P59 成批替换数据REPLACE:

REPLACE 价格 WITH 价格 -1000,部门WITH“11”FOR主要设备 &&主要设备的价格都减少1000,部门均改为11 APPEND BLANK &&追加1个空白记录

13.记录的定位P65

命令格式1 GO[TO] TOP|BOTTOM &&指向第一个记录|最后一个记录 命令格式2 [GO[TO]]<数值表达式>&&指向某个记录

?RECNO() &&显示指针所指记录

14.追加新纪录P66

INSERT-SQL命令:在表尾追加一个新纪录,并直接输入记录数据。 命令格式:INSERT INTO sb(编号,名称,启用日期,价格,主要设备,备注); VALUES(“110-1”,“打印机”,{08/15/97},5000.00,.F,,“调拨”) APPEND命令:只能追加空白记录或以交互方式填写记录数据。 命令格式:APPEND [BALNK]

APPEND FROM命令:在表尾追加一批记录,这些记录来自另一文件,

命令格式:APPEND FROM a1 FIELDS 名称,价格 &&A1表中7个记录的2个字段

值追加到SB表的末尾

15.记录的删除P68

(1)逻辑删除命令:为该记录加上删除标记,若可选项都省略,只指当前记录。 命令格式:

DELETE[<范围>] [FOR<条件>] [WHILE<条件>]

(2)物理删除命令:真正删除带有删除标记的记录 命令格式:PACK

习题P70 5.(1)显示第5个记录 list record 5

(3)显示第3个记录到第5个记录 list next 3 (5)显示进口商品或1995年开单的商品信息

list for 进口or year(开单日期)=1995

第3章

1.排序 P72

命令格式:SORT TO <新文件名>ON 启用日期[/A|/D|/C] FIELDS 编号,名称,

启用日期 FOR NOT 主要设备 (注:/A升序 /D降序 C/字母不分大小写)

2.索引P73

(1)按扩展名来分类:复合索引(.CDX)和单索引(.IDX) (2)索引的建立:建立结果复合索引文件及索引标识 命令格式INDEX ON <索引关键字>TAG<索引标识名>

[FOR<条件>][ASCENDING|DESCENDING][CANDIDATE]

(3)索引的删除:删除打开的结构复合索引文件的索引标识 命令格式:DELETE TAG ALL|<索引标识1>

3.查询命令P77

(1)顺序查询命令:搜索满足<条件>的第一个记录。若找到,记录指针就指向该记录;若找不到,将显示“已到定位范围末尾”,表示记录指针指向文件结束出。

命令格式:LOCATE FOR 价格<15000 AND NOT 主要设备

(2)索引查询命令:SEEK<表达式> FIND函数查到时返回.T.,否则.F.

4.工作区P80

SELECT命令:选定某个工作区,用于打开一个表;命令“SELECT 0”表示选定当前尚未使用的最小号工作区。 格式:SELECT<工作区号>|<别名>

5.表的关联:不同工作区的记录指针临时建立起一种联动关系,使一个表的记录指针移动时另一个表的记录指针能随之移动。 P83

(1)多对一关系:父表有多条记录对应子表中一条记录的情况 (2)一对多关系:父表的一条记录对应子表中多条记录的情况

6.用Relation命令建立关联 P87

(1)建立多对一关系:以当前表为父表,与另一个或多个子表建立关联。

命令格式:SET RELATION TO sb.部门 INTO bmdm ADDITIVE

&&指定在部门字段对子表设置多对一关系,ADDITIVE保证在建立关联时不取消以前建立的关联,命令“SET RELATION TO”可解除关联

(2)建立多对一关系:SET SKIP TO[<表别名1>[,<表别名2>]···]

7.统计命令 P88

(1)计数命令:计算指定范围内满足条件的记录数

命令格式:COUNT[<范围>][FOR<条件1>][WHILE<条件2>][TO<内存变量>] 例:COUNT FOR sb.部门=dm TO ts

(2)求和命令:在打开的表中,对<数值表达式表>的各个表达式分别求和 命令格式:SUM[<数值表达式表>][<范围>][FOR<条件1>][WHILE<条件2>][TO<

内存变量>|ARRAY<数组>]

例:SUM zz.增值 TO mzz (3)汇总命令:对数据进行分类合计

命令格式:TOTAL TO<文件名>ON<关键字>[FIELDS<数值型字段表>] [<范围>][FOR<条件1>][WHILE<条件2>]

例:TOTAL ON 编号 TO jghz FIELDS 费用 &&按编号汇总费用,写

入新表JGHZ.DBF

8.SELECT-SQL查询 P93

SELECT dx.编号,sb.名称,bmdm.名称 AS 部门名 FROM sb,dx,bmdm; WHERE dx.编号=sb.编号 AND bmdm.代码=sb.部门

9.用查询设计器建立查询 P96-P100

(1)操作步骤:打开查询设计器→进行查询设置,即设置被查询的表、联接条

件、字段等输出要求和查询结果的去向→执行查询→保存查询设置 (2)联接类型:Inner Join(内部联接):只有满足联接条件的记录包含在结果中 查询结果:aa aa

10.建立数据库表之间的关联 P109

(1)永久关系:利用数据库设计器建立起来的关联,存储在数据文件中(.DBC) (2)临时关系:使用SET RELATION命令创建(或在数据工作器窗口以交互方式建立)的表间关系

(3)主索引的建立与删除:

ALTER TABLE sb ADD PRIMARY KEY 编号 TAG bh

&&为数据库表SB添加以“编号”字段为索引关键字的主索引,可使用命令。 ALTER TABLE sb DROP PRIMARY KEY

&&由于一个表最多仅可有一个主索引,删除主索引时可不必指明索引关键字。

11.输入掩码P113:X-----允许输入字符 9-----允许输入数字

#-----允许输入数字,空格,+,-

$-----显示SET CURRENCY命令指出的货币号 *-----在指定宽度中,值左边显示星号 .-----指出小数点位置

,----用逗号分隔小数点左边的数字

注:符号‘-’不是输入掩码,既限制了输入数据的范围,也加快了输入速度。如999-9

12.视图P116

例:OPEN DATABASE sbsj &&含SB,ZZ等数据库表

CREATE SQL VIEW 我的视图;

AS SELECT sb.编号,sb.名称,zz.增值 FROM sb,zz WHERE sb.编号=zz.编号

第4章

1.VF程序设计:结构化程序设计和面向对象程序设计 P124

2.程序的结构 (1)顺序结构 (2)分支结构: 条件语句

多分支语句

(3)循环结构:条件循环、 步长循环:

扫描循环、

循环辅助语句

3.自定义函数的建立P137 [FUNCTION<函数名>] [PARAMETERS<参数表>] <语句序列>

[RETURN<表达式>]

4.变量的作用域P139

(1)公共变量:将<内存变量表>指定的变量设置为公共变量,并将这些变量的初值均赋以.F.,可用RELEASE命令或CLEAR ALL命令清除。 命令格式:PUBLIC<内存变量表>

(2)私有变量:

命令格式:PRIVATE<内存变量表>

例:PRIVATE mj &&mj为私有变量,程序调用前的同名变量mj被隐藏起来 (3)本地变量:将<内存变量表>指定的变量设置为公共变量,并将这些变量的初值均赋以.F. 命令格式: LOCAL<内存变量表>

5.窗口设计样例P146

(1)LOCK<数值表达式2>:使用LOCK字句将使浏览窗口一分为二。右分区按常规显示,左分区初始时只出现当前表的N个字段,字段序号N由<数值表达式2>表示。

6.定义功能键P150

7.信息对话框函数P152:创建显示信息的对话框,并且单击一次按钮即返回一个数值。

函数格式:MESSAGEBOX(<字符表达式1>[,<数值表达式>[,<字符表达式2>]]) &&<字符表达式1>用于指定在对话框中显示的信息文本。<字符表达式2>用于指定对话框标题栏的显示文本。省略该参数表示在标题栏显示“Microsoft Visual FoxPro”

第5章

1.菜单生成的基本步骤P158

(1)生成菜单程序:例:菜单文件名为CD.MNX,则菜单程序名就为CD.MPR (2)运行菜单程序:运行菜单程序时,VF会自动对新建或修改后.MPR文件进行编译并产生目标程序.MPX,而且对于主名相同的.MPR和.MPX程序总是运行猴子 例:DO CD.MPR(扩展名不可省略)

第6章

1.表单设计器的基本操作P175

运行表单:DO FROM SBQ;其中表单文件的扩展名SCX可省略,但表单文件及其表单备注文件必须同时存在才能执行表单。

2.数据环境设计器P177

数据环境:指表单(或报表)所用的数据源,包括表、视图和它们之间的关系

3.面向对象的程序设计P181

(1)对象:任何对象都具有自己的特征和行为。对象的特征由它的各种属性来描绘,对象的行为则由它的事件和方法程序来表达。 P185

对象的引用

(2)属性:属性用来表示对象的特征。

(3)事件:一个对象可以有多个事件,每个事件对应于一个程序,称为事件过程。

4.习题

(1)在表单上画出同心圆,然后单击表单来擦去这些圆。

第7章

1.输出类控件P192

(1)标签:标签的Caption属性用于指定该标签的标题,是用作显示的文件。 修改标签的标题:

①可在某一事件的代码中写入命令THISFORM.LBL名称1.Caption=“设备名称:” ②修改该控件的Caption属性,输入时不要加引号。 ③若mc是一个公共变量,且mc=“设备名称:”,则修改该属性的命令可写为THISFORM.LBL名称1.Caption=mc

2.输入类控件P196

(1)文本框:Value属性用于指定文本框的值,并在框中显示出来。

Value属性可为数值型、字符型、日期型或逻辑型

3.控制类控件P210

(1)命令按钮的控制作用

(2)命令按钮组生成器

“按钮”选项卡:微调控件:指定命令按钮组中的按钮数,对应于命令按钮组的ButtonCount属性

(3)容器及其对象的引用与编辑

例:引用命令按钮组中的命令按钮:THISFORM.Commandgroup1.Command1或THIS.Command1

(4)复选框与选项按钮组

复选框的值:实际上复选框的状态除选定与清除外,还有第3种状态

Value属性表示了复选框的状态:0或.F.表示清除;1或.T.表示选定;2表示灰色状态。其中数值0为默认值。

4.计时器P221 ***

(1)特点:用来处理可能反复发生的动作,能在应用程序中按时间间隔周期性地自动执行它的Timer事件代码。 (2)工作的三要素:

Timer事件代码:表示执行的动作

Interval属性:表示Timer事件的触发时间间隔,单位为ms Enabled属性:默认为.T.

5.容器类控件

(1)表格的组成:P223 ①表格:由一或若干列组成

②列:一列可显示表的一个字段,列由列标题和列控件组成 ③列标题:默认显示字段名,允许修改。 ④列控件:一列必须设置一个列控件,该列中的每个单元格都可用此控件来显示字段值

(2)页框:PageCount P228

6.习题

设计一个电话计费程序,表单窗口如图7.25所示。假定每分钟通话费用为0.12元。

第8章

1.表单的显示与隐藏:P238

隐藏表单:将表单的Visible属性设置为.F.

THISFORM,Hide-----THISFORM.Visible=.F.

2.用户定义属性与方法程序P243:在VF中,表单或表单集均具有由系统事先规定的一组可修改的属性、时间和方法程序,它们为表单设计提供了方便。

3类 P250

(1)类的概念:类与对象:①类是对象的定义,用于提供对象具有的属性、事件和方法程序;②对象是类的实例,对象可通过类来产生 (2)类的特征:①封装特征 ②子类特征 ③继承性特征

程序填空题

1. 定时器(开始,暂停,复位)

2.输入10个数,去掉最大和最小求平均数

set talk off clear s=0 i=1

dimension a(10) do while i<=10

input \请输入第\个数\ if i=1 max=a(i) min=a(i) else

if a(i)>max max=a(i) endif if a(i)

endif s=s+a(i) ? i=i+1 enddo

?\最高分为\?\最低分为\

?\平均分为\set talk on return

分析:编程首先想到思路...电脑在记录分数和人对接时,肯定 是一个分数一分数的输入,因

此,每输入一个数对比一个数,就可以得到最大值和最小值,而且可以累计求和S,而怎么存储输入的十个数字呢,于是定义一个数组用于存储十个分数,这样就得到完整的程序了.注明:第一次输入,因不能比较,所以必须存入max和min中,好比较第二个数字,所以才可以用于判断大小咯..

3.查询学生信息(seek命令)

*功能: 编写命令文件,请用户输入待查询学生的姓名,显示该学 * 生基本情况。

* 请在【】处添上适当的内容,使程序完整。 *------------------------------------------------------- OPEN DATA 学生管理 USE student IN 1 SELECT student CLEAR

***********SPACE**********

【?】\请输入待查学生姓名:\ NAME ***********SPACE**********

LOCATE FOR 姓名= 【?】 IF .NOT. EOF() ?\姓名:\十姓名

?\性别:\十IIF(性别,\男\女\

?\出生日期:\十DTOC(出生日期,1) ***********SPACE********** 【?】

?\查无此人!\ ENDIF

CLOSE DATA

本文来源:https://www.bwwdw.com/article/bht5.html

Top