VFP期末复习练习.docx
- 文档编号:4465913
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:28
- 大小:397.49KB
VFP期末复习练习.docx
《VFP期末复习练习.docx》由会员分享,可在线阅读,更多相关《VFP期末复习练习.docx(28页珍藏版)》请在冰豆网上搜索。
VFP期末复习练习
VFP期末复习提纲
一、操作题
1、常见操作
新建:
省略
打开:
打开项目、数据库,注意打开窗口最下方的文件类型要改为项目或者数据库
表的操作:
在数据库中,对表操作,一定要打开该数据库。
修改表的结构包括添加字段,修改字段宽度、类型,设置索引,设置字段有限性、默认值等。
操作:
对表点击右键,选择修改命令。
浏览或者输入新记录:
对表点击右键,选择浏览命令可以浏览表的内容,选择“显示”菜单→“追加方式”命令可以连续录入新的记录
2、常用命令:
use表名打开表,注意数据表的后缀是.dbf
use关闭当前打开的表
brow浏览表的内容(然后显示菜单——追加方式:
可以添加新记录)
list或dispall显示表中所有记录的内容,
dispall分屏显示所有记录,disp只显示一条当前记录内容,dispall连续显示所有记录
modistruc修改表的结构,如添加新字段,设置字段的默认值,字段或者记录有效性规则,建立索引等
closedbfall关闭所有打开的表,常用于打开某表时,提示文件正在被使用,可用此命令关闭所有的表,再去打开想要打开的表
append增加新记录
appendblank增加一条空白记录
replacewith修改表中字段的值
例如:
将student表中入学总分在570分以上,奖学金设置为500元
usestudent先打开表,如已打开可省略
replaceall奖学金with500for入学总分>=570
注意:
有for时all可以省略
例如:
将学生表中女同学入学总分在550分以上,奖学金增加200元
usestudent注意:
如果student表已打开,可省略
replace奖学金with奖学金+200for性别=”女”and入学总分>=550
locatefor查找表中的记录
例如:
查找姓王的女同学
usestudent
locateforleft(姓名,2)=”王”and性别=”女”
或者substr(姓名,1,2)=”王”
或者姓名like“王%”
姓名中带有”文”字的同学:
姓名like“%文%”
姓名中第二个字是”文”的同学:
姓名like“_文%”
例如:
查找01学院学生,只显示学号,姓名,性别,入学总分
locatefor学号like“01%”fields学号,姓名,性别,入学总分
找到后,用?
found()测试是否找到,disp命令显示找到的第一个记录,用continue命令找下一个记录,再disp显示该记录。
pack删除表中所有逻辑删除标记的记录,即物理删除
eof()测试指针是否指向文件末尾,注意不是测试指针是否指向最后一条记录
gobottom指针指向文件最后一条记录
skip指针下移一个,指向文件末尾,此时eof()值为真。
bof()测试指针是否指向文件开始,注意不是测试指针是否指向第一条记录
gotop指针指向文件第一条记录
skip-1指针上移一个,指向文件开始位置,此时bof()值为真。
found()测试是否找到记录
recno()测试当前记录号
reccoun()输出当前表中记录个数
注意:
此五个函数的使用方法:
在命令窗口中用?
输出结果.t.或者.f.如:
?
found()
3、报表:
都要使用报表向导做题。
注意:
分组中的字段就是组标头,按什么分组,组标头就会自动显示。
分组选项按钮中,求和或者计数就是组注脚的内容。
页标头就是最后一步的页面标题。
页标头的系统日期会自动生成。
4、菜单:
第一步,注意是系统菜单还是快捷菜单。
菜单中常见命令:
打开表use表名
关闭表use
物理删除记录pack
关闭所有表closedbfall
关闭表单thisform.release
帮助help
执行表单doform表单名.scx
修改或打开表单modifyform表单名.scx
修改命令文件(程序)modifycommand文件名.prg
执行其他文件do文件名
返回VFP系统菜单或返回系统主菜单setsysmenutodefault
退出系统quit
注意:
如果执行两条以上命令,创建过程。
例如:
打开student表,并浏览表中记录,则需创建过程,输入:
usestudent
browse
菜单中菜单名称的常见要求:
设置访问键(带有下划线的大写字母):
如文件菜单项需要设置访问键F则输入:
文件(\ 设置快捷键: 在该项菜单中,点击上面“选项”下面对应的按钮,在打开的窗口中,直接在键盘上按下快捷键,如F1、CTRL+W等,窗口自动显示快捷键,如有提示信息显示,在信息中,输入信息,要加双引号。 注意区分信息和命令,若是执行某命令,则必须在该项菜单创建命令,并输入命令。 添加分割线: 点右侧的插入按钮,在插入的新菜单名称中输入: \–(斜线和减号) 二、设计题(详记各种控件常用属性和事件方法) 1、表单form1 AutoCenter运行时表单居中 BackColor背景颜色 BorderStyle边框设置,固定边框或者可调大小边框 Caption表单标题 Closable关闭按钮是否可用 Icon设置表单的图标 Height表单高度 Width表单宽度 Left运行时和窗口左边的距离 Maxbutton最大化按钮是否可用 Moveable窗口是否可以移动 Showtips是否可以允许表单上的控件显示提示信息 常用事件方法: Init表单初始化,常用来设置表单刚运行时,表单上控件的一些属性 Load定义全局变量 2、标签label1 Alignment标签中内容的对齐方式,若AutoSize为真,则无用 AutoSize标签大小完全适合内容的长度 BackColor标签背景颜色 ForeColor标签中内容的颜色 BorderStyle标签是否有边框 Caption标签内容 Left标签和窗口左侧的距离 Top标签和窗口上侧的距离 Visible是否可见 ToolTipText提示信息表单的ShowTips属性必须为真 WordWrap标签中的内容横排还是竖排 3、控件的文本属性 FontName字体 FontSize字号 ForeColor颜色 FontBold加粗 FontItalic倾斜 FontUnderline下划线 4、文本框Text1 Value值,默认为字符型左对齐,0为数值型右对齐,{}日期型,.f.逻辑型 可点击文本框右键在生成器中设置 ControlSource绑定数据表中某一字段,鼠标点击下拉选择,不是键盘输入的。 也可以点击文本框右键在生成器的值标签中设置。 注意表单数据环境中必须添加该表 ReadOnly内容是否只读,变成灰色不可编辑 InputMask设置输入格式位数,如: X: 任何字符如果限制位数: XXXXXX: 只可以输入6个任意字符 9: 任何数字如果限制位数: 999999: 只可以输入6个数字 A: 字母如果限制位数: AAAAAA: 只可以输入6个字母 #: 只可以输入数字和正负号还有空格 Format: 设置输入格式 A: 只允许字母 T: 去掉输入内容的前后空格 ! : 若输入的是小写字母自动转化为答谢字母 K: 当文本框接收焦点时,自动选中文本框的值 L: 在文本框中显示数值的前导零 PasswordChar: 设置输入内容用字符替代,比如常用的密码输入*即可,不要加双引号。 常用事件方法: Text1的KeyPress事件从键盘给Text1输入内容后 5、编辑框Edit1 ControlSource绑定数据表中某一字段,鼠标点击下拉选择,不是键盘输入的。 也可以点击文本框右键在生成器的值标签中设置。 注意表单数据环境中必须添加该表 ReadOnly内容是否只读,变成灰色不可编辑 6、命令按钮Command1 Caption标题 Picture显示图片注意,一定要去掉标题 Height高度 Width宽度 Left和窗口的左侧距离 Top和窗口的上侧距离 Visible是否可见 常用事件方法: Command1的Click事件点击按钮后要发生的事件 7、列表框List1 RowsourceType列表框中数据类型 Rowsource列表中数据 如果: 列表框显示的是自己输入的值student,grade,course,则 RowsourceType1-值 Rowsourcestudent,grade,course 列表框中显示的是某个数据表的字段,如student.姓名 Rowsourcetype6-字段 Rowsourcestudent.姓名 下拉选择而不是输入的,数据环境中必须添加student表 列表框中显示的是从表中查询得来的内容,如显示student表中金融专业的学生学号,姓名,入学总分 Rowsourcetype3-SQL语句 Rowsource无 其中Rowsource的内容要写在事件代码中 Thisform.list1.rowsource=”select学号,姓名,入学总分; fromstudent; where专业=”金融”; intocursortemp” 列表框中显示的是数组的值,如数组num, Rowsourcetype5-数组 Rowsourcenum 注意: 数组必须先定义,在表单的load事件中定义 dimensionnum(10)或二维num(3,4) ColumnCount列表框中的列数 ColumnLines列表框中是否有分割线 ColumnWidths列表框中每列的宽度 Listcount列表框中项目的个数 ListIndex被选中项目的顺序号 List被选中的项目的值,如list (2),第二条项目的内容 Value列表框中被选中的内容 Selected判断是否被选中,如selected (2),第二条是否被选中 常用事件方法: Interactivechange列表框中内容被选择时 AddItem列表框添加内容,如additem(thisform.text1.value) RemoveItem列表框删除内容,如removeitem (2),删除第二条 8、组合框Combo1 Style确定是下拉组合框还是下拉列表框,下拉组合框可以输入内容,下拉列表只能选择内容。 Rowsourcetype同列表框 Rowsource同列表框 常用事件方法: Interactivechange列表框中内容被选择时 9、表格Grid1 RecordSourceType0-表 RecourdSource表名注意: 数据环境中必须已添加此表 其余同列表框 表格通常点击右键,在生成器中设置,其所显示数据表中的字段,各列标题。 属性窗口中,下拉列表中可以选择各列进行设置属性。 10、选项按钮组OptionGroup1 ButtonCount选项按钮数 在属性窗口中,下拉列表中选择各个选项按钮,设置Caption属性 Value值,运行时选中状态下,值为1,否则为0 注意,编写代码时,要写清楚每个选项按钮的名称,如: thisform.optiongroup1.option1 11、复选按钮Check1 Value值,运行时选中状态下,值为1,否则为0 12、微调器Spinner1 SpinnerHighValue向上箭头达到的最大值 SpinnerLowValue向下箭头达到的最小值 Increment点击向上或向下箭头增加或减少的值 KeyboardHighValue允许输入的最大值 KeyboardLowValue允许输入的最小值 Value初始显示的值 常用事件方法: UpClick点击向上按钮时 DownClick点击向下按钮时 13、计时器Timer1 Interval计时间隔,单位毫秒 Enabled是否可用 常用事件方法: Timer每计时一次 14、形状Shape1 BackColor背景颜色 Curvature角的曲率,0-直角,1-98—圆角,99-圆 FillStyle填充方式 15、图像Image1 Picture插入的图片名称 Stretch调整图像尺寸以适应控件大小 0—剪裁 1—等比填充 2—变比填充 16、页框PageFrame1 PageCount页面数 在属性框中,下拉列表里选择页面page1,page2,……填充控件或者设置Caption属性 注意写代码时,要写清楚控件的位置,如: man1 17、线条Line1 LineSlant设置线条倾斜的方向,默认\,如果反斜线,值为/ BorderStyle线形,实线、虚线、点划线等 Width线条的宽度,0为垂直线 Height线条的长度,0为水平线 18、命令按钮组CommandGroup1 ButtonCount选项按钮组中按钮数目 在属性框中,下拉列表里选择command1,command2,……设置Caption属性 注意写代码时,要写清楚命令按钮的位置,如: man1 其他同普通命令按钮。 三、常见的函数 avg()求平均值 sum()求和 count()统计个数 upper()将小写字母转换为大写字母 lower()将大写字母转换为小写字母 alltrim()去掉前后空格 int()取整 str()将数值型转换为字符型,str(123,4)=”123” val()将字符型转换为数值型,val(“12k89”)=12 dtoc()将日期型转换为字符型,dtoc(date())=”052611” date()显示系统日期 datetime()显示系统日期和时间 time()显示系统时间 len()统计字符串的长度 year()返回日期中的年份 month()返回日期中的月份 day()返回日期中的日 minute()返回日期时间中的分 hour()返回日期时间中的时 sec()返回日期时间中的秒 right()从右侧取字符,例如right(学号,2)取学号的后2位 left()从左侧取字符,例如left(学号,2)取学号的前2位 substr()取字符串中的子串,例如substr(学号,3,2)取学号中的3、4位 messagebox()弹出对话框,如 messagebox(“是否删除记录”,”提示”) 选择题答案: 1~20.DCBBCDBDDBBDCDBDADCA 21~40.DCDDDDCBCDCDCDBDCBCD 41~60.BDBCCACADCDDCBCADBCD 61~80.DBCDBDBDBDCABDCBDADA 81~100.BBADDCBDCDBACBCDBCBA 101~120.ADDDDCDDCCCBADACDBCD 121~140.CBBBDCAACBDCBDCAA 135~155BDBCDDDCDDAABCBBDBDC 156~175.ABCCBCCDADDDBBADDBAB 176~195.CDAAAADBDCDCCACDDCBD 196~215CAABBCBCAADCCACCCCCD 表单设计题参考答案 第一题 设计“登录”表单login.scx 题目: 设计如左边图所示的表单运行初始界面(各对象的大小、布局大致如图),要求如下: 1)新建表单,其Name属性为Form1,标题CAPTION为“登录”,运行时居中→AUTOCENTER属性为真; 2)添加标签控件两个,Name属性分别为Label1、Label2,标题CAPTION分别为“密码”、“登录时间”,背景透明BACKSTYLE,大小自动适应内容AUTOSIZE; 3)添加两个文本框Text1与Text2,Text1允许输入最多6个任意字符点击TEXT1右键→生成器→输入掩码XXXXXX,输入字符以“*”显示TEXT1的PASSWORDCHAR属性为*;Text2无边框属性Borderstyle为无,背景色为Backcolor浅灰色(192,192,192),用以显示系统当前日期时间(或者日期)Value填入=datetime()。 4)添加命令按钮两个Command1与Command2,标题分别为“确定”与“取消”,其中标题“取消”的command2命令按钮为表单的缺省命令按钮;设置表单FORM1的INIT事件填写代码: mand2.setfocus 5)完成后以LOGIN.scx为文件名保存所设计的表单。 第二题设计“奥运”表单OY.scx 题目: 设计如左边图所示的表单运行初始界面(各对象的大小、布局大致如图),要求如下: 1)新建表单,其Name属性为Form1,高度为100、宽度为250,标题为“奥运”,运行时居中,背景色为黄色(255,255,0); 2)添加标签控件两个,Name属性分别为Label1、Label2; 标签Label1的标题为“2008北京奥运”,字体为“隶书”,字号为30,文字颜色为青黄色(128,128,0),背景透明,其最左端相对于表单的位置为1→Left属性,其顶边相对于表单的顶边的距离为24→Top; 标签Label2的标题为“2008北京奥运”,字体为“隶书”,字号为30,文字颜色为蓝色(0,0,255),背景透明,其最左端相对于表单的位置为4,其顶边相对于表单的顶边的距离为20; 3)完成后以OY.scx为文件名保存所设计的表单。 第三题设计“按部门浏览”表单lookfor.scx 题目: 利用workers数据库(其中bmdm表存放部门信息,work表存放职工信息)实现以下设计要求: 设计如左边图中所示的表单运行初始界面(各对象的大小、布局大致如图),实现按部门查询职工的工号、姓名、部门号,要求如下: 1)新建表单,其Name属性为Form1,背景色为纯蓝,即RGB(0,0,255); 2)往表单添加标签控件一个,Name属性为Label1,标题为“请选择部门”,背景 透明Backstyle,文字白色(RGB(255,255,255)),大小自动适应内容Autosize; 3)添加组合框控件一个,Name属性为Combo1,数据源为bmdm表的字段“部门号”; 一、数据环境中添加数据表bmdm,work表 二、Combo1的RowsourceType属性值为字段 三、Combo1的Rowsource属性值为bmdm.部门号 4)添加表格控件一个,其Name属性为grdWork,数据源自左而右为Work表的工号、姓名、部门号,grdWork为只读; 一、表格的Name属性值grdWork 二、点击表格的右键,选择生成器,选择表Work,字段选择工号,姓名,部门号 三、表格的Readonly属性值为真 5)当选中Combo1的某一项时,表格grdWork则自动显示该部门所有职工的工号、姓名、部门号; 一、点击表格的右键,选择生成器 二、在关系中设置,父表中的关键字段: bmdm.部门号 字表中的相关索引: 部门号 6)完成后以lookfor.scx为文件名保存所设计的表单。 第四题 操作: 一、形状控件Shape1的Curvature属性值为99 直径60: 设置height和width属性值都为60 第十二题 题目: 打开表单Study.scx,界面如左边图示,你需要学习“FoxPro单词”吗? 可以点击上面相应按钮得到提示。 要求如下: 1)单击命令按钮Command1(第一个),则在文本框Text1中显示dic表中的第一个英文单词,在文本框Text2中显示dic表中的第一个英文单词的中文意思; Command1的Click事件 gotop thisform.refresh 2)单击命令按钮Command2(上一个),则在文本框Text1中显示dic表中的上一个英文单词,在文本框Text2中显示dic表中的上一个英文单词的中文意思; Command2的Click事件 skip-1 thisform.refresh 3)单击命令按钮Command3(下一个),则在文本框Text1中显示dic表中的下一个英文单词,在文本框Text2中显示dic表中的下一个英文单词的中文意思; Command3的Click事件 skip thisform.refresh 4)单击命令按钮Command4(最后一个),则则在文本框Text1中显示dic表中的最后一个英文单词,在文本框Text2中显示dic表中的最后一个英文单词的中文意思; Command4的Click事件 gobottom thisform.refresh 5)单击命令按钮Command5(退出),则关闭表单。 Command5的Click事件 thisform.release 第十三题 题目: 打开表单stcx.scx,界面如左边图示,利用数据表assn1.DBF和join1.DBF,实现按入社团年份,显示该年份入社团的会员姓名、社团名称和参加日期;要求如下: 1)组合框Combo1显示年份; 2)选择Combo1的某年份,则在表格控件Grid1中显示该年份入社团的会员姓名、社团名称和参加日期。 已知表格控件Grid1的数据源类型是“4-SQL说明”,请编写Combo1的InteractiveChange事件代码,实现表单功能。 Combo1的InteractiveChange事件代码: s=alltrim(bo1.value) thisform.grid1.recordsource="select会员姓名,社团名称,参加日期fromassn1innerjoinjoin1onassn1.社团号=join1.社团号whereyear(参加日期)=val(s)intocursortemp" 第十四题 操作: 一、点击文本框text1的右键,生成器里设置为字符型 二、设置表格Grid1的recordsourcetype属性为SQL 三、查询按钮的Click事件 s=allt(thisform.text1.value) m=”07” thisform.grid1.re
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VFP 期末 复习 练习
![提示](https://static.bdocx.com/images/bang_tan.gif)