vfp上机练习题及参考答案.doc_第1页
vfp上机练习题及参考答案.doc_第2页
vfp上机练习题及参考答案.doc_第3页
vfp上机练习题及参考答案.doc_第4页
vfp上机练习题及参考答案.doc_第5页
免费预览已结束,剩余26页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1VFP 上机练习题说明:操作时用到的文件及要保存的文件均在与题号对应的文件夹内(下)注意操作题要求运行程序的地方必须都运行一下,否则可能影响得分。蓝色的文本为操作说明、提示或参考操作答案,红色的文本为原题中题干说明可能有些不合适或错误。本文中给出的说明或参考代码均在VFP 环境下测试通过,仅供参考,不是题目的唯一答案,如有不对的地方,请指正。刘乃文 2012 11 23基本操作第一题1.在指定文件夹下建立数据库BOOKAUTH,并把表BOOKS 和表AUTHORS 文件添加到该数据库中。(建立数据库后,执行modi data 命令打开数据库设计器,然后在窗口空白处右单击选择“添加表”即可,后面各个题目中类似操作不再重复说明。)2.为AUTHORS 表建立主索引,索引名为“PK”,索引表达式为“作者编号”(在表设计器中,在索引字段上选择“索引”下拉框中的箭头,有具体升序或降序要求时选择方向向上或向下的箭头,无要求是默认选择升序即可;若索引表达式不是字段名字本身,可以在此基础上再点击“索引”标签,找到具体的索引条目,输入索引标记名和索引表达式即可)。为BOOKS 建立两个普通索引,第一个索引名为“PK”,索引表达式为“图书编号”,第二个索引名和索引表达式均为“作者编号”。3.建立表AUTHORS 和表BOOKS 之间的永久性联系。(参见课本3.7.3 节的第二部分,AUTHORS 主表的PK 到BOOKS 子表的“作者编号”,鼠标拖拽即可建立一对多联系,不要反了)第二题1.在指定文件夹下打开数据库文件SCORE_MANAGER,该数据库中有3 个表STUDENT、SCORE1 和COURSE,根据已经建立好的索引,建立表间的联系(寻找两表间相同的索引名称,建立一对一的连接,或一个主索引和一个普通索引建立一对多连接,这里指的是永久联接)。2.为COURSE 表增加字段,开课学期(N,2,0)。(直接在数据库设计器中右单击表,选择修改,在表结构设计器中添加即可)3.为SCORE1 表中的“成绩”字段设置字段有效性规则:成绩=0,出错信息:“成绩必须大于或等于0”。(练习题中给定的数据表中已经设置了,设置字段有效性规则时注意在表设计器中首先正确选择字段再进行设置,记录有效性操作类似。注意信息内容要字符串界定符)第三题2根据以下要求,完成基本操作,所需文件在指定文件夹下:1从SCORE_MANAGER 数据库中删除名为NEW_VIEW1 的视图(在数据库设计器中,右单击视图,选择删除即可)。2用SQL 命令向SCORE1 表中插入一条记录:学号为“993503433”、课程号为“0001”、成绩为99。(在VFP 命令窗口中执行命令:insert into score1 (学号,课程号,成绩)values(993503433,0001,99),不用考虑打开表 )3打开表单MYFORM,向其中添加一个“关闭”命令按钮(名称为Command1)(打开表单后,设置关闭按钮Command1 的caption 为:关闭),表单运行时,单击此按钮关闭表单。(设置关闭按钮Command1 的单击事件程序代码为:thisform.release,后面的关闭表单按钮都要进行类似设置,并且执行一次,否则影响得分。)第四题1.在指定文件夹下打开数据库文件college(modi data college),物理删除该数据库中的temp 表(在数据库设计器中右单击该表选择删除,在提示框中再选择删除,注意此操作要求物理删除表,所以不要选择移去,移去操作仅把表转换为自由表,而不是从磁盘上物理删除表),然后将三个自由表“教师表”、“课程表”和“学院表”添加到该数据库中。2.为“课程表”和“教师表”分别建立主索引和普通索引,字段名和索引名均为“课程号”,并为两个表建立一对多的联系。(参见课本3.7.3 节的第二部分)3.使用SQL 语句查询“教师表”中工资大于4500 的教师的全部信息,将查询结果按职工号升序排列,查询结果存储于文本文件one.txt 中,SQL 语句存储于文件two.prg 中。SQL 命令: select * from 教师表 where 工资4500 order by 职工号 to fileone.txt用modi comm 命令建立一个程序文件two.prg,把上面的语句输入后保存即可。第五题在指定文件夹下打开数据库“宾馆”,完成以下操作:1.打开“客户”表,为“性别”字段增加约束性规则:性别只能取“男”或“女”,默认值为“女”,表达式为性别$“男女”。2为“入住”表创建一个主索引,索引名为fkkey,索引表达式为“客房号+客户号”。(在表设计器中建立入住字段的索引,在索引标签中设置其为主索引,在索引名处输入fkkey,在表达式处输入:客房号+客户号)3.根据各表的名称、字段名的含义和存储的内容建立表之间的永久联系(参见课本3.7.3 节的第二部分),并根据要求建立相应的普通索引,索引名与创建索引的字段名相同,升序排序。第六题 本题应该归入简单应用题根据以下要求,完成基本操作,所需文件在指定文件夹下:31打开表单one,向其中添加一个组合框(Combo1),并将其设置为下拉列表框(设置Combo1 的style 属性)。设置组合框的RowSource 和RowSourceType 属性,使组合框Combo1的显示条目为“上海”、“北京”(不要使用命令方式指定这两个属性),显示情况如下图所示(设置Combo1 的RowSource 属性值为“上海,北京” -注意不要输入双引号啦!,RowSourceType 属性设置为1-值)。2向表单one 中添加两个命令按钮“统计”和“退出”,名称分别为Command1 和Command2(Command1 命令按钮的caption 属性设置为“统计”,Command2 命令按钮的caption 属性设置为“退出”)。为“退出”命令按钮的Click 事件编写一条命令,执行该命令时关闭并释放表单(Command2 命令的单击事件程序为:thisform.release)。3为表单one 中的统计命令按钮的Click 事件编写一条SQL 命令,执行该命令时,将“歌手表”中所有歌手出生地与组合框(Combo1)指定的内容相同的歌手的全部信息存入自由表birthplace 中。(select * from 歌手表 where 歌手出生地=bo1.valueinto table birthplace)第七题根据以下要求,完成基本操作,所需文件(或要保存文件)均在指定文件夹下:1.在指定文件夹下建立一个名为外汇管理的数据库。(create data 外汇管理)2.将表currency_sl和表rate_exchange添加到新建立的数据库中。3. 将表rate_exchange 中 买出价 字段的名称改为 现钞卖出价 。( modi strurate_exchange,或者在数据库设计器中右单击表rate_exchange,选择“修改”后在表设计器中修改)4.通过外币代码字段为表rate_exchange和currency_sl建立一对多永久联系(需要首先建立相关索引)。(参见课本3.7.3节的第二部分)第八题在指定文件夹下完成如下操作:1. 创建一个名为订单管理的数据库,并将已有的employee 和orders 两个表添加到该数据库中。新建一个名为customer 的表,表结构如下:客户号 字符型(4)客户名 字符型(36)4地址 字符型(36)执行Create customer 命令,在表设计器中设置以上字段;也可以使用SQL 命令直接建立:create table customer(客户号 C(4),客户名 C(36),地址 C(36)2. 为orders 表建立一个普通索引,索引名为je,索引表达式为金额,降序索引。3. 通过客户号分别为customer 表建立主索引,为orders 建立普通索引,索引名和索引表达式均为客户号,通过客户号为customer 表和orders 表之间建立一个一对多的永久联系。第九题在指定文件夹下完成如下操作:1. 创建一个名为订单管理的数据库,并将已有的employee、orders 和customer 三个表添加到该数据库中。2. 为orders 表建立一个普通索引,索引名为nf,索引表达式为year(签订日期)。为employee 表建立主索引,为orders 建立普通索引,索引名和索引表达式均为职员号。通过职员号在employee 表和orders 表之间建立一个一对多的永久联系。(参见课本3.7.3节的第二部分)3. 为上述建立的联系设置参照完整性约束:更新规则为限制,删除规则为级联,插入规则为限制。(参见课本3.8.3 节)第十题在指定文件夹下,完成如下操作:1. 将当前文件夹下的自由表CLASS(班级表)和TEACHER(教师表)添加到学生数据库SDB 中;为班级表CLASS 创建一个主索引和普通索引(升序),主索引的索引名和索引表达式均为班级号;普通索引的索引名和索引表达式均为班主任号。为教师表TEACHER 创建一个主索引,索引名和索引表达式均为教师号;2. 通过班级号字段建立班级表CLASS 和学生表STUDENT 表间的永久联系。通过班级表CLASS 的班主任号字段与教师表TEACHER 的教师号字段建立班级表CLASS 和教师表TEACHER 间的永久联系;(参见课本3.7.3 节的第二部分)3为以上建立的两个联系设置参照完整性约束:更新规则为级联;删除规则为限制;插入规则为限制。(参见课本3.8.3 节)第十一题根据以下要求,完成基本操作题,所有文件保存在指定文件夹下:1.在指定文件下建立数据库BOOK,并把数据表rsgz 添加到该数据库中。52.将表RSGZ 的所有记录的应发工资和实发工资计算出来填充到相应字段中,应发工资为基本工资、职务补贴的和,实发工资为应发工资减去社会保险和公积金。方式1 使用replace 命令,use rsgzrepl all 应发工资 with 基本工资+职务补贴,实发工资 with 应发工资-社会保险-公积金方式2 使用SQL 的update 命令,此时不用考虑表是否打开,直接执行以下命令:update rsgz set 应发工资=基本工资+职务补贴,实发工资=应发工资-社会保险-公积金3.为表RSGZ 建立普通索引PK,索引表达式为“实发工资”,并用select 统计实发工资在1000 元以上(含1000)的人数,将结果保存在表ren.Dbf 中SQL 命令:select count(*) from rsgz where 实发工资=1000 into table ren第十二题根据以下要求,完成基本操作题,所有文件保存在指定文件夹下:1.在指定文件下建立数据库BOOK,并把数据表rsda 添加到该数据库中。2.在表RSDA 中物理删除姓名为“马超频”的记录,将“职称”为“讲师”的进行逻辑删除,并将姓名为“王为冬”的职称改为“教授”。(可以使用命令方式,或许打开表在浏览方式下用鼠标点击删除、修改更快些哦,总共11 条记录,不会很累的.)3.为表RSDA 建立以工作时间长短进行索引,索引名称为PK,按降序排列。第十三题根据以下要求,完成基本操作题,所有文件保存在指定文件夹下:1.在指定文件下建立数据库BOOK,并把数据表RSGL 添加到该数据库中。2.为表RSGZ 的“性别”字段,添加字段有效性,该字段的有效性规则为只能是“男”或“女”(打开数据库设计器,右单击表选择修改,在表设计器中选择性别字段,在下方的字段有效性规则栏内填写: 性别$“男女”),输入错误则显示“该字段只能是男或女”(规则框内填写,注意提示信息是字符串,需要用字符串界定符界定),其默认值为“男”(默认值为字符型的不要忘记字符串界定符)。3.将表RSGL 中的“职务”字段删除,并修改“文化程度”字段的宽度为10。第十四题根据以下要求,完成基本操作题,所有文件保存在指定文件夹下:1.在指定文件下打开数据库BOOK,并把数据表RSGZ 和RSDA 添加到该数据库中,把数据表RSGL 从数据库中移去(注意“移去”和“删除”的区别) 。2.为表RSGZ 建立以“编号”为关键字的普通索引,为表RSDA 建立以“编号”为关键字的主索引,删除表RSDA 中以PK 为索引名的索引。63.为表RSDA 和RSGZ 建立以“编号”作为关联字的一对多永久关系。(参见课本3.7.3节的第二部分)第十五题根据以下要求,完成基本操作题,所有文件保存在指定文件夹下:1.在指定文件下打开数据库BOOK,并把数据表RSBM 添加到该数据库中,移去数据表RSGZ 和RSda。(注意移去不是物理删除)2. 为表RSBM 建立以“部门名”为关键字的主索引,为表RSgl 建立以“部门名”为关键字的普通索引,删除表RSDA 中以PK 为索引名的索引。3.为表RSBM 和RSGL 建立以“部门名”作为关联字的一对多永久关系。(参见课本3.7.3节的第二部分)第十六题根据以下要求,完成基本操作题,所有文件保存在指定文件夹下:1.在指定文件下打开数据库BOOK,并把数据表RSBM 添加到该数据库中,移去数据表RSGL。2.将表RSGZ 的基本工资超过800 的所有记录的应发工资和实发工资计算出来填充到相应字段中,应发工资为基本工资、职务补贴的和,实发工资为应发工资减去社会保险和公积金。方式1 使用replace 命令,use rsgzrepl all 应发工资 with 基本工资+职务补贴,实发工资 with 应发工资-社会保险-公积金 for 基本工资800方式2 使用SQL 的update 命令,此时不用考虑表是否打开,直接执行以下命令:update rsgz set 应发工资=基本工资+职务补贴,实发工资=应发工资-社会保险-公积金 where 基本工资8003.为表RSGZ 建立索引表达式为“编号”的主索引,并用SELECT 统计已计算出实发工资记录的个数,将结果保存在表ren.Dbf 中。SQL 命令:select count(*) from rsgz where 实发工资0 into table ren第十七题根据以下要求,完成基本操作题,所有文件保存在指定文件夹下:1.在指定文件下建立数据库BOOK,并把数据表XSDA 和XSCJ 添加到该数据库中。2.将表XSCJ 的所有记录的总分计算出来填充到相应字段中(打开表后,使用replaceall 总分 with 各科成绩相加,也可以使用菜单或SQL 的update 命令),为表XSCJ 建立以“学号”作为关键字的主索引,为表XSDA 建立以“学号”作为关键字的主索引。3.为表XSDA 和XSCJ 建立以“编号”作为关联字的一对一永久关系。(参见课本3.7.37节的第二部分)第十八题根据以下要求,完成基本操作题,所有文件保存在指定文件夹下:1.在指定文件下建立数据库BOOK,并把数据表XSDA 和XSCJ 添加到该数据库中。2.将表XSCJ 的所有记录的总分计算出来填充到相应字段中(同上题),按总分建立以PK 为索引名的索引,降序排列。3.使用SELECT 统计出XSCJ 数据表中总分320 以上(含320)的人数,将结果保存在表ren.Dbf 中。SQL 命令: select count(*) from xscj where 总分=320 into table ren注意必须正确执行第二步,算出总分后才可以做这一步,否则表REN.DBF 中的结果可能不对。第十九题根据以下要求,完成基本操作题,所有文件保存在指定文件夹下:1.在指定文件下打开数据库BOOK,并把数据表XSDA 和XSCJ 添加到该数据库中,移去数据表RSGZ。2. 为表XSDA 建立以“学号”为关键字的主索引,索引标识名为“学号”,为表XSCJ建立以“学号”为关键字的候选索引,索引标识名为“xh”,删除表XSDA 中以PK 为索引名的索引。3.为表XSDA 和XSCJ 建立以“学号”作为关联字的一对一永久关系。(参见课本3.7.3节的第二部分)第二十题根据以下要求,完成基本操作题,所有文件保存在指定文件夹下:1.在指定文件下建立数据库BOOK,并把数据表XSDA 和XSCJ 添加到该数据库中。2.将表XSCJ 的所有记录的总分和平均分计算出来填充到相应字段中,建立按总分由高到低的索引(降序索引),索引名称为PK。(参照前面类似的操作,或用菜单方式做)3.逻辑删除总分大于360 的记录。正确执行第二步后再执行命令:delete for 总分360,当然也可以使用SQL 的deletefrom xscj where 总分360,再不会的话就打开表的浏览窗口,用鼠标点击删除标记吧,反正只有一个记录需要删除,我就不信这个题不得分嘎嘎8简单应用题要做好本部分题目,必须详细学习课本第六章的表单基本操作,属性设置,常用控件的使用及课本示例,特别要熟练掌握课本第六章的全部例子(6.3.11 页框、6.3.13 图像、6.3.14 ActiveX 控件除外,本学期这三种控件不在要求的考核范围内)。第一题在指定文件夹下完成如下简单应用:1.打开表单myform001,把表单(名称为Form1(注意表单名称和表单保存后的磁盘文件名没有直接关系,可以不同))标题改为“成绩管理系统”(form1 对象的caption 属性设置为“成绩管理系统”,在表单设计器界面中点击表单空白处,使表单为当前对象,然后在属性框中设置caption 的文本为指定的内容,不要输入引号),将文本“欢迎使用成绩查询系统”(名称为label1 的标签)改为颜色属性值为222,100,50(标签的forecolor 属性),黑体(标签的fontname 属性设置为黑体)。最后在表单上添加“关闭”(名称为Command1)命令按钮(Command1 命令按钮的caption 属性设置为“关闭”),单击此按钮关闭表单(Command1 命令的单击事件程序为:thisform.release)。保存并运行表单。2. 打开表单myform002,表单中已有一个标签(名称为label1),按标签要求完成操作。需要建立二个命令按钮“计算”和“关闭”(名称分别为Command1 和Command2)(Command1命令按钮的caption 属性设置为“计算”,Command2 命令按钮的caption 属性设置为“关闭”,注意题目中添加多个控件的,要严格按题目说明对应控件的名称关系,否则影响得分),三个文本框(text1、text2、text3),结果放在text3 中,单击“计算”按钮,完成标签要求,单击“关闭”按钮关闭表单(Command2 命令的单击事件程序为:thisform.release)。在text中输入22,在text2 中输入36,保存并运行表单。注意把三个文本框按钮的属性value 值事先设置为0,使得他们默认接收的数据为数值型,否则无法进行数学计算。其他方法可以处理,但是麻烦些。Command1 计算按钮的单击事件程序:thisform.text3.value=thisform.text1.value+thisform.text2.value注意:完成表单设计后要运行表单的所有功能。第二题在指定文件夹下完成如下简单应用:1.打开表单myform001,把表单(名称为Form1)标题改为“欢迎您”(设置表单的caption),将文本“欢迎您访问系统”(名称为label1 的标签)改为25 号(设置label1 的fontsize)9黑体(设置label1 的fontname)。最后在表单上添加“关闭”(名称为Command1)命令按钮(Command1 命令按钮的caption 属性设置为“关闭”,单击此按钮关闭表单(Command1 按钮的单击事件程序为:thisform.release)。保存并运行表单。2.打开表单myform002,在表单上已有二个标签按钮(名称为label1 和label2),添加两个命令按钮“计算”和“关闭”(名称分别为Command1 和Command2)(设置方式同第一题)。一个文本框(名称为text1),一个标签按钮(名称为label3)(1)单击“计算”命令按钮,计算出输入圆半径的圆的面积,圆半径在文本框中输入,圆面积在标签label3 中显示。(注意text1 文本框默认数据类型是文本,需要首先设置其value值为0,这样该文本框把接收的数字符号默认就是数值型了,后面才可以计算圆面积)计算按钮的单击事件程序为:(caption 属性为字符型,所以使用STR 函数转换后赋值)thisform.label1.caption=str(thisform.text1.value)*2*pi(),10,2)(2)单击“关闭”命令按钮关闭表单。(关闭按钮的单击事件程序为:thisform.release)注意:完成表单设计后要运行表单的所有功能。第三题在指定文件夹下完成如下简单应用:1.打开表单myform001,把表单(名称为Form1)背景色改为“100,100,200”(单击表单空白处,然后设置表单的backcolor 属性),将文本“欢迎您访问系统”(名称为label1 的标签)改为20 号黑体(同前)。最后在表单上添加“关闭”(名称为Command1)命令按钮(Command1命令按钮的caption 属性设置为“关闭”,单击此按钮关闭表单(关闭按钮的单击事件程序为:thisform.release)。保存并运行表单。2.设计一个表单myform002,上有两个标签(名称为label1 和label2)和两个计时器(名称分别为timer1 和timer2)。标签label1 的内容为“学生成绩管理系统”(设置标签1 的caption),字号为20(设置标签1 的fontsize),timer1 事件的时间间隔为20 毫秒(设置timer1 的interval 属性值为20),timer2 事件的时间间隔为1000 毫秒(设置timer2 的interval 属性值为1000),标签2 显示系统时间(设置time2 控件的timer 事件代码为:thisform.Label2.caption=time(),标签1 能够不停的自右向左移动(移动值设置为-2),当全部移出表单后再由表单右侧重新进入。设置timer1 的timer 事件代码为:if thisform.Label1.left0 thenthisform.Label1.left=thisform.Label1.left-2elsethisform.Label1.left=thisform.widthendif注意:完成表单设计后要运行表单的所有功能。类似操作参见课本P 222 页 示例6-19.10第四题在指定文件夹下完成如下简单应用:1.打开表单myform001,把表单(名称为Form1)标题改为“欢迎您”(点击表单空白处,设置其caption 属性为“欢迎您”,注意控件的标题caption 和名称name 不同,前者一般展示在表单界面中,后者一般在程序中使用,相当于变量名字),将文本“成绩处理系统”(名称为label1 的标签)改为25 号(设置label1 的fontsize)、字体颜色为RGB(100,200,100)(设置label1 的forecolor)。最后在表单上添加“关闭”(名称为Command1)命令按钮(Command1 命令按钮的caption 属性设置为“关闭”),单击此按钮关闭表单(关闭按钮的单击事件程序为:thisform.release)。保存并运行表单。2.设计一个表单myform002,上有两个命令按钮“输出”和“退出”(名称分别为Command1和Command2)(Command1 命令按钮的caption 属性设置为“输出”,Command2 命令按钮的caption 属性设置为“退出”)。一个文本框(名称为TEXT1)(注意text1 文本框默认数据类型是文本,需要首先设置其value 值为0,这样该文本框的值类型默认就是数值型了,后面才可以输入一个表示成绩的数值),一个标签(名称为label1)。(1)单击“输出”命令按钮,文本框中输入的学生成绩的等级(在标签中显示),等级划分为:不及格(小于60)、及格(大于等于60 小于70)、良好(大于等于70 小于90)、优秀(大于等于90),输入其它值则显示“输入错误”。输出按钮Command1 的单击事件程序为:fs=thisform.text1.valuelcaption=if fs100 or fs0 thenlcaption=输入错误elseif fs60 thenlcaption=不及格elseif fs70lcaption=及格elseif fs90lcaption=良好elselcaption=优秀endifendifendifendifthisform.label1.caption=lcaption(2)单击“退出”命令按钮关闭表单(退出按钮的单击事件程序为:thisform.release)。注意:完成表单设计后在文本框中输入65,运行表单的所有功能。第五题在指定文件夹下完成如下简单应用:1.打开表单myform001,把表单(名称为Form1)标题改为“考试系统”(点击表单空白处,设置其caption 属性为“考试系统”),将文本“进入考试系统”(名称为label1 的标签)改为20 号黑体(设置label1 的fontsize 属性)。最后在表单上添加“关闭”(名称为Command1)命令按钮(设置其caption 属性为“关闭”),单击此按钮关闭表单(退出按钮的单击事件程序为:thisform.release)。保存并运行表单。2.设计一个表单myform002,表单上有一个标签“请输入密码”(在新建的表单上添加一个标签控件,设置其caption 属性为“请输入密码”)和一个文本框(名称分别为label1 和text1)。输入密码时文本框中显示“*”(设置文本框控件text1 的passwordchar 属性为*,设置其controlsource 属性为newpassword ),输入错误显示提示信息“密码输入不正确,第几次输入失败!”,三次输入不正确时,则显示提示信息“对不起,您不是合法用户!”,输入密码正确,则显示“密码正确,进入系统!”,然后结束表单运行。(inputnumber 存放输入次数,oldpassword=123 ,newpassword 存放输入密码注意:完成表单设计后要运行表单的所有功能。建立新表单,保存表单文件名字为myform002,设置表单的init event 事件代码如下:public inputnumber,oldpassword,newpasswordinputnumber=0oldpassword=123newpassword=文本框控件text1 的valid event 事件代码为:if newpassword!=oldpasswordinputnumber=inputnumber+1=messagebox(密码输入不正确,第+str(inputnumber,1)+次输入失败)if inputnumber3newpasssword=this.value=thisform.refreshreturn .f.else=messagebox(对不起,您不是合法用户!)release inputnumber,oldpassword,newpasswordthisform.releaseendielsemessagebox(密码正确,进入系统!)release inputnumber,oldpassword,newpasswordthisform.releaseendi程序中设定的原始密码为123,运行时输入完成后直接回车即可。可参见课本P195 例6-4第六题在指定文件夹下完成如下简单应用:1.打开表单myform001,把表单(名称为Form1)标题改为“欢迎您”,将文本“欢迎您访问系统”(名称为label1 的标签)改为25 号。标签背景色改为100,80,200,最后在表单上添加“关闭”(名称为Command1)命令按钮,单击此按钮关闭表单。保存并运行表单。(如前类似操作)2.设计一个表单myform002,表单上有两个命令按钮“计算”和“退出”(名称分别为Command1和Command2),二个标签(名称为label1,内容为“输入数据”;名称为label2,显示结果),一个文本框(名称为text1,在此输入数据)。单击“计算”命令按钮,计算出该数据之内所有奇数的和(该数据为自然数)。(2)单击“退出”命令按钮关闭表单。注意1. text1 文本框默认数据类型是文本,需要首先设置其value 值为0,这样该文本框的值类型默认就是数值型了,后面才可以输入一个表示成绩的数值. 其他控件设置属性参照前面的例子。2. Label1 控件的尺寸设置的稍微大一些,以便清楚的显示结果,或者把标签控件的autosize 属性设置为.T.。计算按钮的单击事件程序代码如下:s=0for i=1 to thisform.text1.values=s+ii=i+1endforthisform.label1.caption=str(s)注意:完成表单设计后输入1000 运行表单的所有功能。第七题在指定文件夹下完成如下简单应用:1.打开表单myform001,把表单(名称为Form1)标题改为“欢迎您”,将文本“欢迎您访问系统”(名称为label1 的标签)改为25 号,字体的颜色设置为RGB(100,50,200)。最后在表单上添加“关闭”(名称为Command1)命令按钮,单击此按钮关闭表单。保存并运行表单。(如前类似操作)2.设计一个表单myform002,上有三个命令按钮“查找”、 “替换”和“退出”(名称分别为Command1、 Command2 和Command3(建立新表单,保存为myform002;添加三个命令按钮,依次设置其caption 为“查找”、 “替换”和“退出”,注意对应关系,否则影响得分),一个编辑框(名称为edit1,内容为“ This is an example”)(添加edit 控件,设置其value值为This is an example)。单击“查找”命令按钮,选择Edit1 中的单词example(设置Edit1 按钮的HideSelection属性值为F,以便显示被选中的文本);单击“替换”,用单词exercise 置换已选择的单词。单击“退出”命令按钮关闭表单。注意:完成表单设计后要运行表单的所有功能。查找按钮的单击事件代码为:thisform.edit1.selstart=at(example,thisform.edit1.text)-1thisform.edit1.sellength=7替换按钮的单击事件代码为:x=at(example,thisform.edit1.text)thisform.edit1.value=STUFF(thisform.edit1.value, x , 7 , exercise)thisform.edit1.selstart=at(exercise,thisform.edit1.text)-1thisform.edit1.sellength=8退出按钮的单击事件代码为:thisform.release第八题在指定文件夹下完成如下简单应用:1.打开表单myform001,把表单(名称为Form1)标题改为“欢迎学习”,将文本“VFP 数据14库程序设计”(名称为label1 的标签)改为20 号黑体。最后在表单上添加“关闭”(名称为Command1)命令按钮,单击此按钮关闭表单。保存并运行表单。(如前操作)2.设计一个表单myform002(新建表单并保存为myform002),表单上有两个命令按钮“求余数”和“退出”(名称分别为Command1 和Command2),有二个标签(名称分别为label1 和label2,内容为 “被除数”和“除数”,有三个文本框(名称为text1、text2 和text2,在text1 和text2 中输入被除数和除数,text3 中输出余数)。(以上各个控件的caption 按要求设置,注意对应关系,如“求余数”的按钮是Command1)单击“求余数”命令按钮,则显示出余数,被除数、除数均为整数。设置“求余数”按钮Command1 的单击事件代码为:if thisform.text2.value!=0 thenthisform.text3.value=mod(thisform.text1.value,thisform.text2.value)endi单击“退出”命令按钮关闭表单。注意:完成表单设计后要运行表单的所有功能。第九题在指定文件夹下完成如下简单应用:1.打开表单myform001,把表单(名称为Form1)标题改为“欢迎学习”,将文本“VFP 数据库系统”(名称为label1 的标签)改为25 号,字体颜色为RGB(100,60,80)。最后在表单上添加“关闭”(名称为Command1)命令按钮,单击此按钮关闭表单。保存并运行表单。2.设计一个表单myform002,表单上有两个命令按钮“计算”和“退出”(名称分别为Command1和Command2),二个标签(名称为label1,内容为“输入整数数据”,label2,输出结果),一个文本框(名称为text1,在此输入数据)(设计状态设置text1 按钮的value 值为0)。单击“计算”命令按钮,计算出从100 到输入数据内的所有“水仙花数”的个数,水仙花数是指一个三位数,其各位数字的立方和等于该数本身。计算按钮Command1 的单击事件代码为:thisform.label2.caption=str(0)x=thisform.text1.valueif x999 thenretuendin=0for i=101 to xs=str(i,3)a=val(substr(s,1,1)b=val(substr(s,2,1)c=val(substr(s,3,1)if i=a*3+b*3+c*3 thenn=n+1endifendforthisform.label2.caption=str(n)单击“退出”命令按钮关闭表单。注意:完成表单设计后要运行表单的所有功能。第十题在指定文件夹下完成如下简单应用:1.打开表单myform001,把表单(名称为Form1)标题改为“祝同学们”,将文本“身体健康,学习进步!”(名称为label1 的标签)改为25 号,字体颜色为RGB(255,0,0)。最后在表单上添加“关闭”(名称为Command1)命令按钮,单击此按钮关闭表单。保存并运行表单。2.设计一个表单myform002,表单上有两个命令按钮“计算阶乘”和“退出”(名称分别为Command1 和Command2),二个标签(名称为label1,内容为“输入一个整数”;label2,内容为“阶乘为”),二个文本框(名称为text1,在此输入数据;text2,显示阶乘)。单击“计算阶乘”命令按钮,则计算出输入数据的阶乘。单击“退出”命令按钮关闭表单。注意:完成表单设计后要运行表单的所有功能。注意设计状态设置text 控件按钮的value 值为0,运行程序时注意输入一个大于1 的正整数;Command1 控件按钮的单击事件代码为:X=thisform.text1.valueS=1For i=1to xS=s*iEndforThisform.text2.value=s第十一题根据以下要求,完成简单应用操作,所有文件保存在指定文件夹下:1.打开表单myform001,把表单(名称为Form1)标题改为“欢迎您”,将文本“欢迎您访问系统”(名称为label1 的标签)改为25 号黑体。最后在表单上添加“关闭”(名称为Command1)命令按钮,单击此按钮关闭表单。保存并运行表单。2.设计一个表单myform002,上有两个命令按钮“查询”和“退出”(名称分别为Command116和Command2)。(1)单击“查询”命令按钮,查询BOOKAUTH 数据库中(authors 数据表中取作者信息,books 表中统计图书数量信息)出版过3 本以上(含3 本)图书的作者信息,包括作者姓名和所在城市;查询结果按作者姓名升序保存在表NEW_TABLE 中。“查询”命令按钮Command1 的单击事件代码为:Select 作者姓名,所在城市 from authors,books where authors.作者编号=books.作者编号 group by books.作者编号 having(count(*)2) order by 作者姓名 into tablenew_table(2)单击“退出”命令按钮关闭表单。注意:完成表单设计后要运行表单的所有功能。意:完成表单设计后要运行表单的所有功能。第十二题根据以下要求,完成简单应用操作,所有文件保存在指定文件夹下:1.建立查询文件MYQUERY,在SCORE_MANAGEB 数据库中(从student.dbf 表中)查询学生的姓名和年龄(计算年龄的公式是:今年年份-Year(出生日期),年龄作为字段名),结果保存在一个新表NEW_TABLE1 中。方法1 打开数据库设计器,从主菜单选择建立查询,添加表student,在查询设计器中的字段标签界面中添加姓名字段,在函数和表达式框中输入:year(date()-year(出生日期)as 年龄,然后点击添加按钮,则选定字段框中出现了需要的2 个字段。然后保存查询文件为myquery,并运行看一下结果。若结果正确则再在查询设计器中右单击选择“输出设置”,点击“表(T)”,输入表名new_table1,再次运行查询)方法2:先执行命令生成结果表:select 姓名,year(date()-year(出生日期) as 年龄fromstudent into table new_table1再执行命令:modi comm myquery.qpr在打开的程序编辑窗口中输入命令 select 姓名,year(date()-year(出生日期) as年龄from student into table new_table1,然后保存即可。2.建立菜单QUERY_MENU。该菜单中只有“查询”和“退出”两个菜单项(条形菜单)(即普通的横向菜单,左侧第一项为查询,第二项为退出),其中单击“查询”菜单项时,运行查询文件MYQUERY.QPR(菜单项结果栏选择命令,命令框中输入 do myquery.qpr);单击“退出”菜单项时,返回到Visual FoxPro 系统菜单(菜单项结果栏选择命令,退出命令框填:set sysmenu to defa)。(相应命令写在命令框中,不要写在过程中)。(完成菜单设计后,接着生成菜单,保存菜单为QUERY_MENU,然后在VFP 命令窗口中运行 do query_menu.mpr,运行各个菜单项)17第十三题根据以下要求,完成简单应用操作,所有文件保存在指定文件夹下:1在SCORE_MANAGER 数据库中建立一个名为NEW_VIEW 的视图,该视图含有选修了课程但没有参加考试(成绩字段值为NULL)的学生信息(包括“学号”、“姓名”和“系部”3 个字段)。菜单方式建立视图:在数据库设计器中选择新建本地视图,根据要求设计并保存视图,注意视图设计器中student 表到score1 表的学号联接接改为左联接。命令方式建立视图:Open data score_managerCreate view new_view as select student.学号,姓名,系部 from student studentleft outer join score1 on student.学号 = score1.学号 where score1.成绩 is not n

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论