二级永赛大串讲.docx
《二级永赛大串讲.docx》由会员分享,可在线阅读,更多相关《二级永赛大串讲.docx(41页珍藏版)》请在冰点文库上搜索。
二级永赛大串讲
二级VFP黄永赛考前大串讲
第一类:
建立与修改命令
1.CREATEPROJECT项目文件名.PJX
Pj——PROJECT
2.CREATEDATABASE数据库文件名.DBC
DB——DATABASE
3.CREATEQUERY查询文件名.QPR
QP——QUERYPROGRAM
4.CREATEVIEW视图名ASSELECT语句
5.CREATEFORM表单文件名.SCX
SC——SCREEN
6.CREATEMENU菜单文件名.MNX
MN——MENU
7.CREATEREPORT表表文件名.FRX
FR——FORM?
8.MODIFYPROJECT项目文件名.PJX
9.MODIFYDATABASE数据库文件名.DBC
10.MODIFYQUERY查询文件名.QPR
11.MODIFYVIEW视图名
12.MODIFYFORM表单文件名.SCX
13.MODIFYMENU菜单文件名.MNX
14.MODIFYREPORT报表文件名.FRX
文件扩展名以X结尾,该文件是某格式文件。
如:
PJX——项目格式文件,SCX——表单格式文件,MNX——菜单格式文件,FRX——报表格式文件。
必考两分:
文件扩展名可写成:
PJX或。
PJX
X——格式文件PJX
X变T——备注文件PJT
CREATE和MODIFY均能建立新文件。
但是CREATE以覆盖方式新建文件,而MODIFY以修改方式新建文件。
在以上14个命令中,CREATEVIEW和MODIFYVIEW最特殊:
无扩展名。
只有CREATEDATABASE在运行时不会启动相应的设计器。
第二类:
运行命令
1.DO菜单程序文件名<.MPR>
2.DO程序文件名[.PRG]
3.DO查询文件名<.QPR>
4.DOFORM表单文件名[.SCX]
5.REPORTFROM报表文件名[.FRX][PREVIEW][TOPRINTER]
注意:
(1)运行菜单和查询文件时,扩展名不能省略。
(2)为了运行报表AA,使用命令并预览:
DOAA等价于DOAA.PRG
(3)可运行的文件:
菜单、程序、查询、表单和报表。
第三类:
其他命令
1.ADDTABLE自由表文件名[.DBF]
功能:
将一个自由表添加到当前数据库中,使之成为一个数据库表。
2.REMOVETABLE数据库表文件名[.DBF]
功能:
将当前数据库中的一个表文件移除,使之成为一个自由表。
3.CLOSEDATABASES
功能:
关闭当前数据库以及该数据库中的所有表文件。
4.OPENDATABASE数据库文件名[.DBC]
功能:
打开数据库,使之成为当前数据库。
5.BUILTAPP应用文件.APPFROM项目文件
功能:
将一个项目文件连编生成一个应用文件。
应用文件只能在VFP中运行,不能再WINDOWS下运行。
注意:
CREATEDATABASE,MODIFYDATABASE和OPENDATABASE均会打开数据库,但只有MODIFYDATABASE会启动数据库设计器。
第九章项目管理器
1.界面复习
项目管理器(共6个选项卡)
全部:
包含5个数据、文档、类、代码、其他(不考)
数据:
包含3(5)数据库(数据库表、视图)、自由表、查询
文档:
包含3表单、报表、标签
类:
包含所有扩展名为.VCX的类库文件
代码:
包含3程序(也称程序命令文件或过程文件)、应用程序、API
其他:
包含3菜单、文本文件、其他文件(图像、声音等)
2.文件的包含与排除
文件排除符圆圈+斜线(右上到左下)
(1)文件排除
在项目管理器中,如果某一个文件名的前面有这个符号,则说明该文件在项目连编时将不会被包含到连编所生成的应用文件(或可执行文件)中,必须单独复制该文件到连编所生成的项目文件夹中。
一般情况下,表文件和数据库文件应设置成排除文件。
被设置成排除文件的文件也是项目文件的一部分。
(2)文件包含
文件名前无文件排除符的文件称之为包含。
连编后该文件是只读文件,不能对其进行修改操作。
3.项目主文件
含义:
指在项目管理器中,以黑体加粗方式显示文件名的文件。
一个项目有且只有一个主文件。
功能:
主文件是项目的入口程序,即在运行时第一个被执行的文件。
可设置为主文件的文件类型有:
程序、表单和菜单。
3.在项目管理器中选中某个文件,单击“移去”按钮将弹出对话框:
单击“移去”——将文件从项目管理器中移出
单击“删除”——将文件从项目管理器中移出并将文件从磁盘中删除。
注意:
鼠标操作的建立数据库等价于MODIFYDATABASE
第十章数据库
1.数据库
性质:
数据库是一个容器,可装载数据库表、视图和永久表间关系。
但不保存数据?
。
自由表——不属于任何数据库。
数据库表——一个数据库表只能属于一个数据库,一个数据库可以有多个数据库表。
一个数据库表可以设置字段有效性规则,可以建立主索引,可使用长字段名。
2.数据库表设计器与自由表设计器的区别:
数据库表设计器多了显示方式和字段有效性。
只有在同一个数据库中的两个数据库表才能建立永久表间关系。
只有数据库表才能实现数据的实体完整性、域完整性和参照完整性。
4.数据完整性
包括:
实体完整性、域完整性和参照完整性。
(1)实体完整性
含义:
为了确保记录的唯一性和非空性而引入的数据约束方式。
在VFP中,通过建立主索引(主关键字)或候选索引(候选关键字)来实现。
(2)域完整性
含义:
为确保字段值的合法性和非空性而引入的数据约束方式。
范畴:
字段的类型、宽度、小数位数和有效性规则。
(3)参照完整性
含义:
通过参照另一个表中的数据进行校验,从而确保本表数
据的合法性。
三种规则:
更新、删除和插入。
课本P129
笔试考试中:
①如遇到选项中有查询规则或检索规则,就选它们。
②见到级联一定要找到自动;见到限制一定要找到禁止。
级联自动子表
限制禁止父表
插入规则最特殊:
禁止子表并且只有限制和忽略。
5.表间关系
包括:
永久表间关系和临时表间关系。
(1)永久表间关系
常见三种:
一对一、一对多和多对多(VFP中不允许)
VFP中的表间多对多关系:
在VFP中,多对多关系化解为两个一对多关系解决。
具体方法:
建立一个纽带表,使该牛代表同时包含两表的公共关键字。
索引方式(类型)决定了永久表间关系的类型。
一对一:
两表都要建立主索引或候选索引。
一对多:
父(主)表建主索引或候选索引,子(从)表必须建普通索引。
永久表间关系的目的:
实现数据的约束。
临时表间关系的目的:
实现指针的联动。
第十一章查询和视图
1.查询
(1)定义:
指只保存这一条SELECT语句的文本文件。
查询文件扩展名:
.QPR
(2)查询设计器选项卡:
字段:
等价于SELECT之后的关键字列表
联接:
等价于JOINON超链接
筛选:
等价于WHERE
排序依据:
等价于ORDERBY
分组依据:
等价于GROUPBY满足条件:
等价于HAVING
杂项:
等价于TOP、DISTINCT(去掉重复记录)、PERCENT(取前n%项记录)
注意:
①WHERE用来删选记录,只能用在SQL语言中;FOR用来筛选记录满足条件的所有记录,只能用在VFP中,不用在SQL中。
②WHILE从当前记录开始往下到第一条满足条件的记录为止。
只用在VFP中,不用在SQL中。
(2)查询去向
共七个:
浏览、临时表、表、屏幕、图形、报表、标签。
在查询设计器中,要把查询结果输出到文本文件,应在查询去向中选择屏幕、报表或标签。
2.查询设计器与视图设计器比较
(1)查询设计器有查询去向,但无更新结果。
可得到结果。
(2)视图设计器有更新条件,无去向。
可更改原数据。
可以根据数据库表、自由表和视图建立查询;但只能根据数据库表和视图建立视图。
第十三章菜单
1.菜单分为:
(1)下拉式菜单:
由一个条形菜单和若干个弹出式菜单组成。
(2)快捷菜单:
由一个弹出式菜单组成。
2.菜单文件(3种)
(1)格式文件:
.MNX
(2)备注文件:
.MNT
(3)程序文件:
.MPR
3.菜单设计器(4个栏目)
(1)菜单名称:
①设置访问键(热键)方法:
在菜单名称后紧接着输入“(\<访问键字母)“。
(也可以用在表单按钮的访问键,在CAPTION中)
②设置分组线方法:
在需设置分组线的菜单名称之间“插入”,在空白菜单名称中输入“\<“。
(2)结果:
包含五个选项。
子菜单、命令、过程、菜单项#和填充名称。
条形菜单;有填充名称,无菜单项#。
弹出式菜单;有菜单项#,无填充名称。
(3)选项:
快捷方式、位置、跳过(表达式为L型,值为.T.)、信息(结果为C型,当选中“信息“时会在窗口状态栏显示该文本信息)、主菜单名和备注
(4)菜单级:
用来决定当前是弹出式菜单(新菜单项),还是条形菜单(菜单栏)。
4.“显示“——”常规选项“对话框可设置:
(1)位置
替换——将用户自定义的菜单替换操作系统中的某个菜单。
追加——在系统所有菜单项后面(右边)增加用户自定义菜单。
在···之后——在指定的系统菜单之后插入用户自定义菜单。
在···之前——在指定的系统菜单之前插入用户自定义菜单。
(2)代码
设置:
在运行菜单之前先执行这一部分代码。
清理:
关闭菜单之后执行清理中的代码。
(3)顶层表单
选中——本菜单只能在顶层表单中调用。
未选中——既可在顶层表单中调用,又可在任何中调用。
5.快捷菜单
调用方法:
表单中用RIGHTCLICK事件调用。
输入代码:
DO菜单程序文件名.MPR
顶层表单调用菜单:
一般在菜单的LOAD或INIT事件中输入DO菜单程序文件名.MPRWITHTHIS,.T.
第十四章报表
1.报表的特点
不保存记录,记录保存在表中。
2.含义
报表文件是一个保存着控件布局格式定义的文件。
它不保存实际的数据。
只有在运行时才会从数据源中读取数据。
报表文件扩展名.FRX
3.报表文件数据源
数据库表、自由表、视图和查询。
4.输入与输出
视图和表单既是输入又是输出。
报表和查询均为输出。
5.报表带区(共七个)
标题
页标头
组标头
细节
组注脚
页注脚
总结
特点对称分布
三个基本带区:
页标头、细节、页注脚
各带区打印:
(1)标题和总结带区每份报表只打印一次。
(2)页标头和页注脚带区每页打印一次。
(3)细节带区:
每读取一条记录打印一次。
(4)组标头和组注脚带区每组记录打印一次。
标签控件
报表控件
域控件
线条控件
矩形控件
圆角矩形控件
OLE控件(嵌入式控件)
注意:
在笔试考试中,凡是问到该用哪种报表控件?
只选域控件。
注意:
(1)为了在每页下方打印该页页码,应该在该页页注脚带区中使用域控件,而且在该控件的属性中使用内存变量_PAGENO(PAGENUMBER)。
(3)在报表中打印系统时间,域控件TIME()。
见到TIME()函数找C型字符。
第十二章表单
文件扩展名:
.SCX
1.表单控件
(1)表单(FORM)
CAPTION:
表单标题
NAME:
控件名
SHOWWINDOW:
位置
0——在屏幕中(默认)
1——在顶层表单中
2——作为顶层表单
WINDOWTYPE:
模式
0——无模式(此窗口不关闭任可操作其他窗口)默认
1——模式(此窗口不关闭无法操作其他窗口)
MAXBUTTON:
最大化按钮。
是否可用。
默认.T.,可用。
MINBUTTON:
最小化按钮。
以上同
CLOSABLE:
关闭按钮是否可用。
默认.T.
AUTOCENTER:
运行时表单控件是否自动居中。
默认.F.
2.标签控件(LABLE)
CAPTION:
标签显示的内容(表单中,)要求改汉字就改CAPTION,要求改字母就改NAME。
FONTSIZE:
字号
FONTNAME:
字体
AUTOSIZE:
是否自动缩放控件大小。
默认.F.
FORECOLOR:
字体颜色
BACKSTYLE:
背景样式透明(0)或不透明(1默认)
ALIGNMENT:
对齐方式0——左(缺省)
1——右
2——中央
3.文本框(TEXT)
VALUE:
设置初始值以及控件的数据的控件类型。
默认C。
若要使用函数,应在函数前用=。
PASSWORDCHAR:
设置文本框的回显字符(口令)。
即密码框
CONTROLSOURCE:
指定一个内存变量来保存控件中的值。
INPUTMASK:
输入掩码。
$——在某一固定位置显示当前货币符号
9——数字
#——数字、空格和正负号、小数点
!
——字母转换为大写。
仅C型仅文本框。
4.编辑框(EDIT)
SELSTART:
保存着用户选中的内容的起始位置。
SELLENGTH:
选中的字符串的长度。
5.命令按钮(COMMAND)
CAPTION:
可设置按钮的访问键。
如:
确定(\DEFAULT:
设置默认按钮。
即按ENTER键自动选中的按钮。
CANCEL:
设置取消按钮。
即按ESC键自动选中的按钮。
命令按钮无VALUE,但是命令按钮组有VALUE。
6.命令按钮组(COMMANDGROUP)
VALUE:
保存着运行时用户选中的按钮编号。
7.选项按钮组(OPTIONGROUP)
VALUE:
保存着运行时用户选中的选项编号或CAPTION。
如:
选项按钮组男女
若选中“男“,此时选项按钮组的VALUE值为:
1或男
当VALUE为0时,选中“男“,值为1;
当VALUE为0时,选中“女“,值为”男“。
BUTTONCOUNT:
设置命令按钮组或选项按钮组的按钮数。
可设置为0,此时该控件无按钮。
8.组合框控件(COMBO)
STYLE:
设置该控件是0——下拉组合框(可直接输入数据)
2——下拉列表框(只能选择)
不能多选
SELECTED:
判断某一条目是否被选中。
默认.F.
IFTHISFORM.COMBO1.SELECTED(3)=.T.组合框的第三个条目被选中。
9.列表框(LIST)
MULTISELECT:
是否允许多重选择。
默认.F.
ROWSOURCETYPE:
3——SQL语句。
此时ROWSOURCE=”SELECT```FROM```INTOCURSOR```”
4——查询(.QPR)
5——数组
6——字段此时ROWSOURCE中的字段必须来自同一张表。
8——结构。
将表中的字段名作为组合框的条目,由ROWSOURCE属性指定表。
若ROWSOURCE属性值为空,则组合框显示当前表中的字段名清单。
ROWSOURCE:
10.复选框(CHECK)
CAPTION:
文字
VALUE:
只能是N型或L型。
选中时值可为.T.或1;未选中时可为.F.或0。
11.页框控件(PAGEFRAME)
PAGECOUNT:
页面数量
12.表格(GRID)
COLUMNCOUNT:
设置表格列数。
记录来源的类型RECORDSOURCETYPE:
3——查询(.QPR)
4——SQL语句
RECORDSOURCE:
13.计时器(时钟TIMER)
INTERVAL:
设置时钟的步长。
单位:
毫秒1秒=1000毫秒
当interval值为0时,表示时钟控件不动,不执行timer中的代码。
14.微调控件(SPINNER)
INCREMENT:
增量(步长)。
每次增加多少。
SPINNERHIGHVALUE:
设置向上按钮可输入的最大值。
SPINNERLOWVALUE:
设置向下按钮可输入的最小值。
KEYBOARDHIGHVALUE:
设置键盘输入的最大值。
KEYBOARDLOWVALUE:
设置键盘输入的最小值。
VALUE:
设置微调控件的初始值以及保存最后结果。
15.图像控件(IMAGE)
PICTUER:
指定要显示的图片文件。
STRETCH:
设置图片的伸缩方式。
1——剪裁(图片左上角)
2——等比缩放
3——等比填充
16.线条(LINE)
SLANT:
设置线条倾斜方向。
(找不到)
17.容器(CONTAINER)
定义:
装载除表单、表单集之外的任何控件。
SPECIALEFFCT:
设置容器的特效。
指三维0——凸1——凹2——平
READONLY:
只读(找不到)
ENABLED:
控件是否可用。
默认.T.
VISIBLE:
控件是否可见。
默认.T.
当且仅当readonly、enabled、visible的值分别为.f.,.t.,.t.时,控件的值才能修改。
事件:
某一个动作发生时触发某一个事件。
DBLCLICK:
双击(左)
RIGHTCLICK:
右单击
CLICK:
单击
LOAD:
所有事件中第一个被触发的事件。
INIT:
初始化事件。
所有事件中第二个被触发的事件。
先初始化事件,再初始化表单。
UNLOAD:
关闭表单时,所有事件中最后一个触发的事件。
DESTROY:
对应INIT.所有事件中倒数第二个被触发的事件。
顺序:
load表单——init控件——init表单——destroy表单——destroy控件——unload表单
GOTFOCUS:
表示控件获得焦点时会引发···
LOSTFOCUS:
表示控件失去焦点时会引发···
WHEN:
表示控件获得焦点之前会引发···
VALID:
表示控件失去焦点前会引发···
引发次序:
when——gotfocus——valid——lostfocus
ERROR:
当控件发生错误时引发···
INTERACTIVECHANGE:
当控件中的数据发生改变时会引发···
TIMER:
当时钟走动时会引发···
方法:
RELEASE():
释放表单
考试中释放表单用此语句:
THISFORM.RELEASE()
REFRESH():
刷新表单、文本框和表格,让控件显示最新的值。
SHOW():
显示表单。
将表单的visible改为逻辑真.T.
HIDE():
隐藏表单。
将表单的visible改为.F.
SETFOCUS():
使某个控件或得焦点。
ADDITEM():
向组合框或列表框添加一些条目。
REMOVEITEM():
向组合框或列表框删除一些条目。
顶层表单中调用菜单的基本步骤:
(1)新建菜单,并将菜单的常规选项框中的顶层表单选中,再生成菜单程序文件。
(2)建立表单,将表单的showwindow设置为2——作为顶层表单。
(3)在表单的load或init事件中用如下命令来调用菜单:
DO菜单程序文件名.MPRITHTHIS,.T.
调用快捷菜单的方法:
(1)建立快捷菜单,并生成菜单程序文件。
(2)在表单的rightclick事件中,用如下命令来调用:
DO菜单程序文件名.MPR
带参调用表单的方法:
DOFORMAA(表单文件名)WITHA,B(实参名)NAMECC(表单别名)LINKED
此时表单init事件必须用:
parameters形参列表(c,d)或lparameters形参列表。
释放变量CC的同时表单AA会自动关闭。
建立类:
(1)在表单上将该控件设置好。
(2)选中该控件,并选择“文件“下的”另存为类“。
(3)输入类库文件名和类名,并保存。
第一章表的基本操作命令
共18个命令
(1)CREATE创建表
(2)MODIFYSTRUCTURE修改表结构
(3)APPEND追加记录
(4)GO(GOTO)绝对定位
(5)SKIP相对定位
(6)DELETE逻辑删除记录(给记录添加删除标记)
(7)RECALL恢复带删除符号的记录
(8)PACK物理删除记录(删除带删除标记的记录)
(9)ZAP清空所有记录
(10)EDIT?
(11)BROWSE浏览
(12)DISPLAY显示记录
(13)LIST显示记录
(14)INSERT插入记录
(15)COPYTO复制记录
(16)COPYSTRUCTURETO复制表结构
(17)APPENDFROM
(18)USE打开或关闭表文件
四个标识符:
TOP:
第一条
BOTTON:
最后一条
BOF:
记录指针向上时能移动到的位置。
EOF:
记录指针向下时能移动到的位置。
当指针指向EOF时,用RECNO()函数的测试结果为该表的总记录数+1。
第二章表达式和函数
1.表达式
结果类型
(1)算术表达式N
(2)字符表达式C只可进行“+”、“—”(尾随空格向后移)
(3)关系表达式L>,<,>=,<=,=,!
=,$,==
(4)逻辑型L
(5)日期表达式D/N(日期想减的结果)
注意:
(1)除LIKE中*表示通配符,其余*表示普通字符。
“张三”=“张”.T.
姓名=“张”表示姓张的人。
姓名=“张*”表示姓名为“张*”
(3)考试中,见到日期型数据相加就选;见到时间型数据相加的答案就选;日期相减结果为相差天数,时间相减结果为相差秒数。
(4)应付考试:
WHERE,FOR,WHILE,CHECK后面的表达式均为逻辑表达式。
(不严谨)
(5)DATE()——DATE()N0
TIME()——TIME()C
DATETIME()——DATETIME()N0
2.函数(其他任要求看)
针对此次考试,答案一律找以下。
TYPE()N()
VARTYPE()L
FOUND().F.
EOF().T.
LEN()为最外层函数5
ISNULL().F.
EMPTY()在不确定的情况下.F.
TIME()C
.NULL.=.NULL.结果为.NULL.
.NULL.=30结果为.NULL.
NOT.NULL.=.NULL.结果为.NULL.
.NULL.<>.NULL.结果为.NULL.
见到?
姓名,结果一律写当前记录的姓名(不管内存变量的值)
STUDENT.DBF
姓名
张三
李四
王八
USESTUDENT
GO2
姓名=“王五”
?
姓名答案为“李四”
表示姓“张”的方法:
(1)LEFT(姓名,2)=“张”
(2)SETEXACTOFF(默认就是)
姓名=“张”
(3)SUBSTR(姓名,1,2)=“张”
(4)AT(“张”,姓名)=1
(5)LIKE(“张*”,姓名)=1
(6)姓名LIKE“张%”(只用在SELECT语句中)
第三章数据计算
SUM()纵向求和
AVERAGE()纵向求平均值
COUNT()统计记录数
REPLACE
TOTAL()分类汇总
REPLACE[范围]字段名WITH表达式FOR表达式
UPDATE表文件名SET字段名=表达式WHERE表达式
考试中,见到REPLACE找到WITH,FOR;见到UPDATE找到SET,=,WHERE。
REPLACE后可加范围,而UPDATE后不能加范围,