vfp多表表单程序设计例题
- 格式:doc
- 大小:1.81 MB
- 文档页数:4
VFP程序考试题型一、表单操作1.按要求在考生文件夹下完成下列操作:1)按下图设计一表单文件formcalc1。
设置表单(名称为form1)标题为“人民币兑换美元”。
2)表单中添加两个标签,设置第一个标签(label1) 标题为“输入人民币”,第二个标签(label2) 标题为“兑换为美元”。
3)添加两个文本框(名称分别为text1和text2),显示美元的文本框(text2)设为只读。
4)表单中添加一个命令按钮,其(名称为command1)的标题为“兑换”,编写“兑换”命令按钮的代码,要求运行表单时,在文本框(text1)中输入人民币后,单击“兑换”命令按钮,算出兑换的的美元(人民币兑换成美元的比例为:1美元=7元人民币),在文本框(text2)中显示结果。
操作完成后将操作结果保存在考生文件夹下。
command1的click代码:thisform.text2.value=val(thisform.text1.value)/82.按要求在考生文件夹下完成下列操作:1)按下图设计一表单文件formdbca12。
设置表单(名称为form1)标题为“人数统计”。
2)在数据环境中添加ygb.dbf。
3)表单中添加两个文本框,(名称分别为text1和text2),显示人数的文本框设为“只读”。
4)表单中添加一个命令按钮(名称为command1)的标题为“统计人数”,编写此命令按钮的代码,要求运行表单时,在在文本框(text1)中输入性别“男”(或“女”),统计文本框(text1)指定性别的人数.将结果显示在文本框(text2)中。
操作完成后将操作结果保存在考生文件夹下。
代码:count for 性别=allt(thisform.text1.value) to xthisform.text2.value=x知识点:VFP部分/表单设计3、按要求在考生文件夹下完成下列操作:1)按下图设计一表单文件formdbca19。
1.扩展名为SCX的文件是( )。
•A、备注文件•B、项目文件•C、表单文件•D、菜单文件参考答案: C2.在当前表单的LABEL1控件中显示系统时间的语句是()。
•A、BEL1.CAPTION=TIME()•B、BEL1.VALUE=TIME()•C、BEL1.TEXT=TIME()•D、BEL1.CONTROL=TIME()参考答案: A3.以下叙述与表单数据环境有关,其中正确的是()。
•A、当表单运行时,数据环境中的表处于只读状态,只能显示不能修改•B、当表单关闭时,不能自动关闭数据环境中的表•C、当表单运行时,自动打开数据环境中的表•D、当表单运行时,与数据环境中的表无关参考答案: C4.在Visual FoxPro中,运行表单T1.SCX的命令是()。
•A、DO T1•B、RUN FORM1 T1•C、DO FORM T1•D、DO FROM T1参考答案: C5.假定一个表单里有一个文本框Text1和一个命令按钮组Comman dGroup1,命令按钮组是一个容器对象,其中包含Command1 和Command2两个命令按钮。
如果要在Command1命令按钮的某个方法中访问文本框的value属性值,下面哪个式子是正确的?()。
•A、ThisForm.Text1.value•B、This.Parent.value•C、Parent.Text1.value•D、this.Parent.Text1.value参考答案: A6.假设表单上有一选项组:●男○女,如果选择第二个按钮“女”,则该项组Value属性的值为________。
•A、.F.•B、女•C、 2•D、女或2参考答案: D7.关闭当前表单的程序代码是ThisForm.Release,其中的Release 是表单对象的()。
•A、标题•B、属性•C、事件•D、方法参考答案: D8.指定用户能否在列表框控件内进行多重选定的列表框属性是()•A、Value属性•B、ControlSource•C、Selected•D、MultiSelect参考答案: D9.假设表单My Form隐藏着,让该表单在屏幕上显示的命令是____ ____。
v f p表单和控件练习题(共13页) --本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--VFP表单和控件练习题1. 单选题:(分)在下列VFP的基类中,无CAPTION属性的基类是_________A. 标签B. 文本框C. 选项按钮D. 复选框解答:B参考答案: B2. 单选题:(分)将某个控件绑定到一个字段,移动记录后字段的值发生变化,这时该控件的_______属性的值也随之变化。
A. ValueB. NameC. CaptionD. 没有解答:A参考答案: A3. 单选题:(分)用户在VFP中创建子类或表单时,不能新建的是______________.A. 属性B. 方法C. 事件D. 事件的方法代码解答:C参考答案: C4. 单选题:(分)如果要引用一个控制所在的直接容器对象,则可以使用下列_____属性。
A. THISB. THISFORMC. PARENTD. 都可以解答:C参考答案: C5. 单选题:(分)命令按钮中显示的文字内容,是在属性_______中设置的。
A. NameB. CaptionC. FontNameD. ControlSource解答:B参考答案: B6. 单选题:(分)当用鼠标使组合框的内容发生变化时,将首先触发_______事件。
A. InteractiveChangeB. ClickC. InitD. DownClick解答:A参考答案: A7. 单选题:(分)若要建一个有5个按钮的选项组,应将属性_____的值改为5。
A. OptiongroupB. ButtoncountC. BoundColumnD. ControlSource解答:B参考答案: B8. 单选题:(分)VFP系统环境下,运行表单的命令为_______。
A. DO FORM <表单名>B. REPORT FORM <表单名>C. DO <表单名>D. 只能在项目管理器中运行解答:A参考答案: A9. 单选题:(分)建立事件循环的命令为______ 。
Visual FoxPro 程序设计模拟试题(二)一、选择题(每小题2分,共70分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置,答在试卷上不得分。
1·视图不能单独存在,它必须依赖于 ( )A·视图 B·数据库C·数据表 D·查询2·下列关于数据库系统的叙述中,正确的是 ( )A·表的字段之间和记录之间都存在联系B·表的字段之间和记录之间都不存在联系C·表的字段之间不存在联系,而记录之间存在联系D·表中只有字段之间存在联系3·下列命令中,拷贝库文件结构的命令是 ( )A·COPY TO B·COPY STRUCTURE TOC·COPY FILE TO D·COPY STRUCTURE EXTENDED TO4·概念设计的结构是得到一个与 ( )A·DBMS有关的逻辑结构 B·DBMS无关的概念模式C·DBMS和硬件有关的逻辑结构 D·DBMS和硬件无关的数据结构5·修改本地视图使用的命令是 ( )A·CREATE SQL VIEW B·MODIFYVIEWC·RENAME VIEW D·DELETE VIEW6·下列命令的语法规则中,非法的是 ( )A·命令动词只写前四个字母 B·命令动词后的子句位置可交换C·命令动词大小写字母等价 D·各短语和参数要连续输入无空格7·已知字符串M="12 34 ",N=" 56 78"。
则连接运算M-N的运算结果为 ( ) A·"12 34 56 78" B·"12 34 56 78"C·"1234 56 78" D·"123456 78"8·不属于循环结构的语句是 ( ) A·SCAN…ENDSCAN B·IF…ENDIFC·DO…ENDDO D·FOR …ENDFOR9·在ZGGZ.DBF第2条记录后插入一条空白记录的命令是 ( ) A·USE ZGGZ B·USE ZGGZGO 2 GO 2INSERT BEFORE INSERT BLANKC·USE ZGGZ D·USE ZGGZSKIP 2 SKIPINSERT BEFORE INSERT10·使用USE <库文件名> 命令打开库文件时,能够同时自动打开一个相关的 ( ) A·备注文件 B·文本文件C·内存变量文件 D·屏幕格式文件11·设有一字段变量"姓名",目前值为"王华",又有一内存变量"姓名",其值为"李敏",则命令? 姓名的值应为 ( ) A·王华 B·李敏C·王华 D·"李敏"12·命令?[李华]<=[黄华],"计算机报"$"计算机"的执行结果应为 ( ) A· .T. .T. B· .F. .F.C· .T. .F. D· .F. .T.13·设表TXL.DBF中有20条记录。
vf表单试题职业部07-08学年下学期第⼀次⽉考试卷科⽬:《VFP》⼀、填空题(每空1分,共30分)1.表单向导能产⽣两种表单:__________和________________________。
2.表单的英⽂名称为____________;表单设计完成以后,保存在磁盘上的表单⽂件的扩展名为________________。
3.创建快速表单的步骤:(1)_____________________________________(2)通过________菜单的_______________命令进⾏设置。
4.Visual FoxPor6.0中的控件对象基于所属的类可以分为________________和________________。
5._______控件是⼀种能在表单上显⽰⽂本的输出控件,常⽤作提⽰或说明。
6.标签的__________属性⽤于指定该标签的标题。
7.可以向⽂本框输⼊数值型、____________、____________、逻辑型4种类型,⽽编辑框只能⽤于输⼊和编辑____________型的数据。
8.Active X绑定控件与_____________型的字段绑定,能显⽰此类型中的OLE对象。
9.数据环境指创建表单时使⽤的数据源,包括_______、____________以及表单所要求的表之间的关系。
10.数据环境设计器中拖动表的字段到表单中产⽣的控件,如果添加的是逻辑型字段系统⽣成_____________;备注型字段⽣成____________;表⽣成_____________。
11.在表单设计器中,如果选定多个对象需按住____________键然后单击各个对象。
12.在表单设计器中复制对象时,新对象可以复制原对象的所有信息,但不能复制原对象的____________属性。
13.在命令窗⼝中执⾏___________________或_____________________命令,即可打开表单设计器窗⼝。
1.编制“学生”表信息查询界面,要求如图1、图2、图3所示。
图1 用户选择前的运行界面图2 用户选择同学后的运行界面图3 控件的布局界面2.编制一个表单完成表文件“学生.dbf”内容的学生奖学金查询显示功能(界面如图所示)。
要求:①当用户在组合框输入或选择班级(学号的左三位)后,按回车或“确定”按钮时,表单将自动显示对应班级的奖学金总额;②按“退出”按钮时,自动关闭表单。
图:用户选择确定后的运行界面3.建立一个表单,通过控件的事件代码控制,实现表单顶行的标签信息向下平移。
设计界面如图所示:图:信息单向平移表单设计界面4.运用文本框和计时器对象设计一个数字时钟表单,界面如图1、2所示。
要求:文本框文字为隶书、20号字,表单的标题为“数字时钟”,每隔1秒钟刷新一次时间。
图1:设计界面 图2:运行界面5.设计一个圆球跳动表单。
要求:球的宽和高为40,球的填充颜色为咖啡色,表单的标题为“圆球跳动”,球每隔0.5秒在表单的上下边之间跳动。
按开始按钮球跳动,按停止按钮球停止。
设计界面和运行界面见下图所示。
6.设计一个完成口令判定功能的表单,界面如图所示。
具体要求如下:①用户从键盘输入口令时,表单的显示控件以“*”代替具体内容;②系统的口令存放在表文件“学生.dbf ”的姓名字段中,要求完全匹配;③输入口令后,按回车或按“确定”按钮,将自动显示信息框(Messagebox ),提示“正确!”或“错误!”;④按“退出”按钮将自动关闭表单。
7. 编制一个表单完成表文件“学生.dbf ”内容的自动只读浏览显示功能,界面如图所示。
具体要求如下:①表单初始显示内容为表文件“学生.dbf ”的首记录;②表单内容将以10秒为间隔自动刷新,即自动顺序向后翻记录,当翻至表底时,将自动回到首记录循环翻动。
8.编制一个显示时钟和日期的表单,界面如图所示。
命令按钮及文本框的字体、颜色和大小设置为自己喜欢的形式。
图:设计界面 图:时间显示界面图:日期显示界面9.借助于文本框和微调框编制一个手工日历表单,界面如图所示。
综合表单设计(多表操作)【练习1】创建一个查询指定学生成绩的表单。
要求:(1)在text1文本框中输入学生的学号后,如果学生存在,则显示该生的成绩信息,否则显示学生不存在的提示信息;(2)使用数据环境实现成绩.dbf和学生.dbf之间的临时关联。
方法一:FORM1.INITTHIS.SETALL("V ALUE"," ","TEXTBOX")THIS.TEXT2.READONL Y=.T.MAND1.DEFAULT=.T.WITH THIS.GRID1.READONL Y=.T..ALLOWADDNEW=.F..DELETEMARK=.F..RECORDSOURCETYPE=1.RECORDSOURCE="成绩".VISIBLE=.F.ENDWITHTHIS.TEXT1.SETFOCUSSELE 成绩INDEX ON 学号TO XHSELE 学生SET RELA TO 学号INTO 成绩TEXT1.VALIDSELECT 学生SNO=ALLTRIM(THISFORM.TEXT1.V ALUE)LOCATE FOR 学号=SNOIF FOUND()THISFORM.GRID1.VISIBLE=.T.THISFORM.TEXT2.V ALUE=姓名ELSEMESSAGEBOX("查无此人!",0+48,"提示窗")THISFORM.GRID1.VISIBLE=.F.ENDIFTHISFORM.TEXT1.SELECTONENTRY=.T.THISFORM.TEXT1.SETFOCUSTHISFORM.REFRESH方法二:FORM1.INITTHIS.SETALL("V ALUE"," ","TEXTBOX")THIS.TEXT2.READONL Y=.T.MAND1.DEFAULT=.T.WITH THIS.GRID1.READONL Y=.T..ALLOWADDNEW=.F..DELETEMARK=.F..RECORDSOURCETYPE=1.RECORDSOURCE="成绩"ENDWITHTHIS.TEXT1.SETFOCUSTEXT1.VALIDSELECT 学生SNO=ALLTRIM(THISFORM.TEXT1.V ALUE)LOCATE FOR 学号=SNOIF FOUND()THISFORM.TEXT2.V ALUE=姓名SELECT * FROM 成绩WHERE 学号=学生.学号INTO CURSOR XSCJTHISFORM.GRID1.RECORDSOURCE="XSCJ"ELSEMESSAGEBOX("查无此人!",0+48,"提示窗")ENDIFTHISFORM.TEXT1.SELECTONENTRY=.T.THISFORM.TEXT1.SETFOCUSTHISFORM.REFRESH【练习2】创建一个查询指定课程的选修情况的表单,组合框combo1的数据源为课程名,表格grid1的数据源为成绩.dbf,标签2、标签3、标签4 的标题为“”。
VFP表单控件应用设计与案例表单控件的应用要点:1.条件语句在表单中应用:IF语句和do case语句2.循环语句在表单中应用:for语句和do while语句3.计时器的应用4.数据表在表单中应用:skip5.SQL语句的应用6.列表框的应用难点:SQL的应用表单控件对象有:表单表单集文本框编辑框列表框组合框表格复选框选项按钮组(单选框)页框Container容器命令按钮命令按钮组标签线条形状图像计时器微调控件ActiveX绑定控件超级链接控件对象分为:控件对象和容器控件。
控件对象是基本对象:命令按钮、文本框、标签、线条、形状、复选框、组合框。
容器控件包含其他对象的对象:表单、表单集、Container容器、命令按钮组、微调控件、选项按钮组(单选框)、页框、页面、表格、表格列从功能上分为:输出类:标签、图像、线条、形状输出类:文本框、编辑框、列表框、组合框、微调控件控制类:命令按钮、命令按钮组、复选框选项按钮组(单选框)、计时器多重容器类:表格、页框、Container容器、表单集连接类:ActiveX绑定控件超级链接控件1、条件语句在表单中应用单分支语句:if …. Else…. Endif多分支语句:do case ……endcaseIf…endif语句一般都是与For…endfor配合应用。
案例1多分支0901参考答案:“计算”按钮的click event代码:x=thisform.text1.valuedo casecase x<-10y=2*(sin(x)+1)case x<10y=(abs(x)-5)/3othery=x/7-8 endcasethisform.text2.value=y thisform.refresh案例2多分支0912k=thisform.text1.value do casecase k>=0 and k<60m="不合格"case k<85m="合格"case k<=100m="优秀"otherm="非法数据"endcasethisform.text2.value=m2. 循环语句在表单中应用案例0906m=alltrim(thisform.text1.value) k=len(m)s=0for i=1 to kn=substr(m,i,1)if n>="a" and n<="z"s=s+1endifendforthisform.text2.value=s案例0906a=thisform.text1.valueb=thisform.text2.valuec=thisform.text3.valued=thisform.text4.valuem=a*b+c*dif m>=300m=m*0.9endifthisform.text5.value=round(m,0)thisform.refresh3.计时器的应用属性:Interval:计时时间间隔,单位毫秒。
vfp6表单设计实例VFP (Visual FoxPro) 是一种关系数据库管理系统,由微软公司开发。
表单(Form)是 VFP 中用于创建用户界面的重要工具。
以下是一个简单的 VFP 6 表单设计的实例:1. 创建表单首先,打开 VFP 6,选择 "File" -> "New" -> "Form"。
这将打开表单设计器。
2. 添加控件在表单设计器中,你可以从工具箱(Toolbox)中拖放各种控件,如标签(Label)、文本框(TextBox)、命令按钮(CommandButton)等。
例如,你可以添加一个标签(Label)和一个文本框(TextBox),用于用户输入数据。
3. 设置属性选中控件后,可以在属性窗口(Properties Window)中设置各种属性,如名称、位置、大小、字体等。
例如,你可以设置标签的 `Caption` 属性为 "姓名",设置文本框的 `Name` 属性为 "txtName"。
4. 编写事件代码在 VFP 中,你可以为控件的特定事件编写代码。
例如,你可以为命令按钮的 `Click` 事件编写代码,以便在用户点击按钮时执行某些操作。
在代码窗口中输入以下代码:```vfpDO SomeProcedure```其中 `SomeProcedure` 是你要执行的过程的名称。
5. 保存表单最后,保存表单。
选择 "File" -> "Save As",并输入表单的名称和位置。
以上是一个简单的 VFP 表单设计实例。
你可以根据需要添加更多的控件和事件代码,以创建更复杂的用户界面。
VFP表单和控件练习题1. 单选题:(分)在下列VFP的基类中,无CAPTION属性的基类是_________A.标签B.文本框…选项按钮C.D.复选框解答:B参考答案: B、2. 单选题:(分)将某个控件绑定到一个字段,移动记录后字段的值发生变化,这时该控件的_______属性的值也随之变化。
A.:ValueC.CaptionD.没有解答:;A参考答案: A3. 单选题:(分)用户在VFP中创建子类或表单时,不能新建的是______________.[属性A.B.方法C.事件D.事件的方法代码!C解答:参考答案: C4. 单选题:(分)]如果要引用一个控制所在的直接容器对象,则可以使用下列_____属性。
A.THISB.THISFORMC.PARENTD.、都可以解答:C参考答案: C。
5. 单选题:(分)命令按钮中显示的文字内容,是在属性_______中设置的。
B.CaptionC.FontName》ControlSourceD.解答:B参考答案: B(6. 单选题:(分)当用鼠标使组合框的内容发生变化时,将首先触发_______事件。
A.InteractiveChangeB.ClickC.-InitD.DownClick解答:A参考答案: A|7. 单选题:(分)若要建一个有5个按钮的选项组,应将属性_____的值改为5。
A.OptiongroupB.Buttoncount&BoundColumnC.D.ControlSource解答:B参考答案: B~8. 单选题:(分)VFP系统环境下,运行表单的命令为_______。
A.DO FORM <表单名>B.^REPORT FORM <表单名>C.DO <表单名>D.只能在项目管理器中运行解答:A参考答案: A&9. 单选题:(分)建立事件循环的命令为______ 。
A.READ EVENTS.CLEAR EVENTSB.C.DO WHILE……ENDDOD.FOR………ENDFOR解答:A}参考答案: A10. 单选题:(分)设有一个页框含有3个页面,其中第一个页面的名字为Page1,上面有二个命令按钮:CmdOk、CmdPrint,如果要在CmdPrint的Click事件中引用CmdOk的Click事件代码,则采用_______ 。
国家二级VF机试(表单设计与应用)模拟试卷7(总分:64.00,做题时间:90分钟)一、选择题(总题数:32,分数:64.00)1.在Visual FoxPro中,下面关于属性、方法和事件的叙述错误的是(分数:2.00)A.属性用于描述对象的状态,方法用于表示对象的行为B.基于同一个类产生的两个对象可以分射设置自己的属性值C.事件代码也可以象方法一样被显式调用D.在创建一个表单时,可以添加新的属性、方法和事件√解析:解析:事件是一种由系统预先定义而由用户或系统发出的动作,事件作用于对象,对象识别事件并作出相应反应。
事件集是固定的,也就是说用户不可以定义新的事件。
2.在Visual Foxpro中,可视类库文件的扩展名是(分数:2.00)A..dbfB..SCXC..VCX √D..dbc解析:解析:.dbf是表的扩展名,.sex是表单的扩展名,.dbc是数据库的扩展名,.VCX是可视类文件的扩展名。
3.向项目中添加表单,应该使用项目管理器的(分数:2.00)A.“代码”选项卡B.“类”选项卡C.“数据”选项卡D.“文档”选项卡√解析:解析:在“文档”选项卡中所显示和管理的是Visual FoxPro中的表单、报表和标签:程序、API 库和应用程序属于“代码”选项卡,数据库、自由表和查询属于“数据”选项卡。
4.打开已经存在的表单文件的命令是(分数:2.00)A.MODIFY FORM √B.EDIT FORMC.OPEN FORMD.READ FORM解析:解析:打开已经存在的表单文件的命令是modify form。
5.表单文件的扩展名是(分数:2.00)A.frmB.prgC.SCX √D.VCX解析:解析:表单的扩展名是.SCX,表单备注文件的扩展名是.SCT。
6.建立表单的命令是(分数:2.00)A.CREATE FORM √B.CREATE TABLEC.NEW FORMD.NEW TABLE解析:解析:建立表单的命令为CREATE FORM。
一.程序设计题汇总1.通过输入学生的学号(字符型)查找学生,若找到该学生,先输出学号与姓名,然后输出“英语”和“计算机实用技术”成绩。
若找不到该学生输出“查无该生”。
(设表文件“学生信息”满足题目需要)set talk offclearuse 学生信息accept "请输入学生学号:" to xhlocate for 学号==xhif !eof()?学号,姓名list fiel 英语,计算机实用技术for 学号=xhelse?"查无该生"endifuse2.输入学生成绩,并要求:成绩小于60分时,输出“不及格”;成绩在60~69分之间时,输出“及格”;成绩在70~79之间时,输出“中”;当成绩在80~89之间时,输出“良”;当成绩在90~100之间时,输出“优”。
set talk offclearinput "请输入成绩:" to cjdo casecase cj>=90?"优秀"case cj >=80?"良好"case cj >=70?"中"case cj >=60?"及格"case cj<60?"不及格"otherwise?"数据有误"endcaseset talk on3.按学号在“学生信息.dbf”文件中查找并显示指定的记录。
要求可以重复查询,找到则显示该生的记录,找不到则提示“查无此人!”,按非“Y”、“y”可结束查询。
SET TALK OFFCLEARUSE 学生信息&&设当前目录下表文件存在ACCEPT '学号查询吗(Y/N)?' TO cx &&循环条件的初始化DO WHILE cx='Y'.OR.cx='y' &&大小写均可执行查询CLEARACCEPT '请输入学号:' TO xhLOCATE ALL FOR 学号=xh &&此处ALL可以缺省,默认为在全部记录查找。
VFP表单实验参考讲义一、标签和文本框(一)题目要求:(1)该表单的名称为“Form1”,标题为“密码输入窗口”,高度为190,宽度为300;(2)定义一个名称为“Label1”、标题为“请输入密码”、字号为10磅的标签;(3)定义一个名称为“Text1”的文本框,用于输入密码,当输入密码时,屏幕显示“*”;(4)定义一个名称为“Label2”的标签,标题为空,自动调整控件大小;(5)定义一个名称为“Command1”,标题为“显示密码”的按钮,当单击该按钮时,标签“Label2”显示输入的密码,编写Click事件代码(6)定义一个名称为“Command2”,标题为“关闭”的按钮,当单击该按钮时,释放该表单。
(不得退出VFP系统)操作要点:1)注意将text1的属性passwordchar设置为:*2)label2的属性autosize设置为:.T.3)“显示密码”按钮Command1的Click事件代码:写法一:bel2.Caption=Thisform.Text1.Value写法二:X=Thisform.Text1.Valuebel2.Caption=X3)“关闭”的按钮Command2的Click事件代码:Thisform.Release(二)Command1 的CLICK事件代码:if thisform.text1.value="abc"bel2.caption="欢迎使用"elsebel2.caption="密码错误"EndifCommand2 的CLICK事件代码:thisform.release(三)代码编写:1)“确定”按钮Command1的Click事件代码:If Thisform.text1.value=”ABCD”Messagebox(“欢迎光临”,65,“密码正确“)ElseMessagebox(“禁止进入“,65,”密码错误“)Endif2)“关闭”的按钮Command2的Click事件代码:Thisform.Release(四)代码编写:1)“确定”按钮Command1的Click事件代码:r=val(thisform.text1.value)s=3.1415926*r*rmessagebox(str(s,5,2),65,”面积”)2) “关闭”的按钮Command2的Click事件代码:Thisform.Release(五)题目要求:(1) 该表单的名称为“Form1”,标题为“温度转换”,高度为260,宽度为400;2) 定义一个名称为“Label1”标题为“摄氏温度”的标签;再定义一个名称为“Label2”标题为“华氏温度”的标签,两个标签的字号均为11磅;3) 定义一个名称为“Text1”的文本框,用于输入摄氏温度,再定义一个名称为“Text2”的文本框,具有只读属性,用于显示华氏温度; 4) 定义一个名称为“Command1”,标题为“转换”的按钮,当单击该按钮时,将输入的摄氏温度转换成华氏温度并显示在Text2文本框中,编写其Click事件代码;其中:华氏温度=9/5*摄氏温度+32 5) 定义一个名称为“Command2”,标题为“关闭”的按钮,当单击该按钮时,释放该表单(不得退出VFP系统)。
1、标签等控件的移动:控件从左边进右边出,单向移动。
编写程序:2、标签等控件的移动:控件从右边进左边出,单向移动。
编写程序:3、标签等控件的移动:控件从上边进下边出,单向移动编写程序:4、标签等控件的移动:控件从下边进上边出,单向移动编写程序:5、标签等控件的移动:控件从左边开始向右边移动,到达右边框时向左移动,往返移动。
编写程序:6、标签等控件的移动:控件从右边开始向左边移动,到达左边框时向右移动,往返移动。
编写程序:7、标签等控件的移动:控件从下边开始向上边移动,到达顶部边框时向下移动,往返移动。
编写程序:8、标签等控件的移动:控件从上边开始向下边移动,到达底部边框时向上移动,往返移动。
编写程序:9、 相关知识点:(仔细研究下面图中的每一个对象属性)1、 如果增加某控件的left 值,可以使该控件从当前位置向右移动,减小left 值,则可以使该对象从当前位置向左移动例如:BEL1.LEFT= BEL1.LEFT+10 (控件则向右移动)BEL1.LEFT= BEL1.LEFT-10(控件则向左移动)同意道理如果增加某控件的top 值则可以使该控件从当前位置向下移动,减小top 值可以使其从当前位置向上移动。
如:BEL1.top= BEL1.top+10(控件则从当前位置向下移动)BEL1.top= BEL1.top-10 LeftTop表单宽度width表单高度height对象宽度width 表单高度 height(控件则从当前位置向上移动)2、表单的宽度width和高度height可以用来控制循环,决定移动的控件移动到什么位置来向反方向移动或者重新开始移动。
3、决定控件移动的方向的往往需要一个变量来决定,如表单时使n=1表示向左移动,当n的值为0时表示向右移动。
当移动到最左边是要改变n的值为0,当移动到最右边时要改变n的值为1使控件向左移动。
Visual FxoPro程序设计题1.编写程序,从键盘输入一个日期,查询STUDENT表中该日期以后出生的学生信息并显示在浏览窗口中。
use student &&运行前单击教学管理数据库input “请输入某日期:” to r q*输入时有提示,或input to rq输入时无提示,输{^1987-01-01} browse for 出生日期>rq2.有一函数:x (x<1)y= 2x-1 (1≤x<10)3x-11 (x≥10)编写程序,输入x,输出y的值。
clearinput "Enter x please!" to xif x<1y=xelseif x<10y=2*x-1elsey=3*x-11endifendif? 'x=',x,'y=',y3.编写程序,从键盘输入一个年份,判断它是否闰年。
clearinput "Enter year number please!" to yif y%4=0 and y%100<>0 or y%400=0? y,"is a leap year!"else? y,"is not leap year."Endif4.编写程序,输入一个百分制成绩,要求输出成绩等级“A”、“B”、“C”、“D”、“E”。
90分以上为“A”,80~89分为“B”,70~79分为“C”,60~69分为“D”,60分以下为“E”。
clearinput “请输入一百分制成绩” to cjdo casecase cj>=90?” A”case cj>=80?” B”case cj>=70?” C”case cj>=60?” D”otherwise?” E”endcase5.编写程序,从键盘输入一个正整数M,输出M内(包括M)所有偶数。
VFP例题例一(史P195)设计只含一个文本框控件的表单,要求逐次单击框的内部能轮流显示当前日期与时间,试写出设计步骤。
(1)创建表单(2)创建文本框(3)将表单的Caption属性改为“日期与时间”(4)表单L oad事件代码的设置:PUBLIC I(5)文本框的Click事件代码编写:IF I=.T.THISFORM.TEXT1.V ALUE=DATE()THISFORM.TEXT1.DATEFORMAT=12THISFORM.TEXT1.DATEMARK="."I=.F.ELSETHISFORM.TEXT1.V ALUE=TIME()I=.T.ENDIF例二(史练习P67)[ 解 ] 设计步骤如下 :(1) 创建表单 : 往命令窗口键人命令MODIFY FORM T6-6, 使显示 T6-6.SCX设计器窗口 ( 参阅图 6.8) 。
(2) 创建文本框 : 单击表单控件工具栏中的文本框按钮 , 随后单击 Form1 表单窗口内某处 , 该处就会产生一个Text1 文本框控件。
(3) 创建命令按钮 , 并设置其 Caption 属性 : 单击表单控件工具栏中的 " 命令按钮 " 按钮 , 随后单击表单窗口内文本框控件下方 , 使产生一个 Command1 命令按钮控件→在属性列表框中选定 Caption 属性→在属性设置文本框中输入“日期或时间”字样。
(4) 修改表单的 Caption 属性 : 单击表单窗口 , 使属性窗口的对象组合框中显示Form1 →在属性列表框中选定Caption 属性→在属性设置文本框中输入“日期或时间”字样(5)Command1 的 MouseDown 事件代码编写如下 :图6.8LPARAb4ETERS nButton,nShift,nXCoord,nYCoord THISFORM.Text1.Value=DATEO && 本表单的文本框的值设置为当前日期THISFORM.Text1.DateFormatz12 && 日期格式设置为年月日次序THISFORM.Text1.DateMark="." && 年月日间隔符设置为点号(6)Commandl 的 MouseUp 事件代码编写如下 : LPARAMETERS nButton,nShift,nXCoord,nYCoord THISFORM.Text1.Value=TIMEO && 本表单的文本框的值设置为当前时间例 11章标签:表单中有三个标签 ,当用鼠标单击任何一个标签时 , 都使其他两个标签的标题文本互换。
典型程序设计题(附参考答案)1.求1到2000之间,能被3或7整除,并且含有数字5的整数的个数、它们的和、它们的平方根的和(保留2位小数)、以及它们的平方和。
2.求能被3整除且至少有一位数字为5的三位数的个数。
3.求出只要能被2,7,9之一整除的800以内的正整数的个数。
4.求[105,625]间能同时被7和11整除的自然数之和。
求[200,600]间奇数之和。
5.编程序求出1000到2000之间同时满足除3余2和除5余3条件的数的个数。
6.输出[10,100]中除以17的余数和除以5的商相等的整数的个数。
7.统计区间[1000,9999]内所有能被3整除,且千位数字与个位数字之和为8的整数的个数。
8.求在四位数的奇数中,所有各位数字之和是25的倍数的数的和。
9.求出所有能被17整除且不含重复数字的三位数的和。
10.求1到500的偶数立方和与奇数立方和之差。
11.求3+9+27+81+243+...这样的数之和. 若累加数大于500时,则结束累加.12.求1+3+5+7+9+11+...这样的奇数之和.若累加数大于500时, 则结束累加。
13.计算S=1*5*9*13*...*k,直到累乘数k>=25中止。
14.求出1到5000之间的能被5整除的前若干个偶数之和,当和大于500时程序退出。
15.编写程序,s=1+1/2+1/3+…+1/99,保留两位小数。
16.编程求S=1*3+2*4+3*5+...+198*200。
17.设S=1+1/2+1/3+...+1/N,N为正整数。
编程求使S不超过10的最大的N18.求S=8!+9!+10!19.编写程序,求10!20.计算S=3!+5!+7!+...+N!,求直到S>=680000为止的奇数N。
21.s=1!+2!+3!+....+n! 当s大于61000时结束累加,求n。
22.数列xi各元素的值是:x1=1,x2=1+2,x3=1+2+3,.....xn=1+2+3+......+n。
1、利用文本框和标签控件设计了一表单F1.SCX,文本框Text1的V alid事件代码及表单界面如图1所示。
向Text1中输入一段字符:”Figure 1-18 shows you how to use a MENU.”(不含双引号)[Text1.Valid event]x=alltrim(thisform.text1.value)y=len(x)store 0 to z1,z2for i=1 to ya=substr(x,i,1)do casecase asc(a)>=65 and asc(a)<=90z1=z1+1case asc(a)>=97 and asc(a)<=122z2=z2+1endcaseendforthisform.text2.value=z1thisform.text3.value=z2(1)执行该程序后,“统计1”右边的文本框Text2和“统计2”右边的文本框Text3中的数据值分别为5、22(2)Text2和Text3的初值分别为0、02、有数据表“图书.DBF”包含书号、书名、出版社、作者等字段,设计如图1所示表单,表单运行后,单击命令按钮可以在表格控件中显示图书表的部分字段的数据,如图1所示,请选择并完善代码。
命令按钮的CLICK事件代码:USE 图书copy TO TS FIELDS 书号,书名THISFORM.GRID1.RECORDSOURCETYPE=0THISFORM.GRID1.RECORDSOURCE=”TS”表单的UNLOAD(释放对象时发生)事件:CLOSE ALLDROP TABLE TS3、考生数据表(文件名为:KS.DBF)中有“准考证号/C/9”、“密码/C/6”、“成绩/N/5/1”等字段。
设计如图2所示表单,将考生数据表添加到表单的数据环境中,表单运行后,在表单的文本框TEXT1中输入查询考生的准考证号,文本框TEXT2中输入该考生的查询密码后,单击“查询”按钮,查询该考生的成绩,并将该考生的成绩显示在表单的标签LABEL3中(考号或密码输入错误,则弹出提示窗口显示“准考证号或密码错误!”)。
vfp表单所有习题参考答案————————————————————————————————作者:————————————————————————————————日期:VFP表单实验参考讲义一、标签和文本框(一)题目要求:(1)该表单的名称为“Form1”,标题为“密码输入窗口”,高度为190,宽度为300;(2)定义一个名称为“Label1”、标题为“请输入密码”、字号为10磅的标签;(3)定义一个名称为“Text1”的文本框,用于输入密码,当输入密码时,屏幕显示“*”;(4)定义一个名称为“Label2”的标签,标题为空,自动调整控件大小;(5)定义一个名称为“Command1”,标题为“显示密码”的按钮,当单击该按钮时,标签“Label2”显示输入的密码,编写Click事件代码(6)定义一个名称为“Command2”,标题为“关闭”的按钮,当单击该按钮时,释放该表单。
(不得退出VFP系统)操作要点:1)注意将text1的属性passwordchar设置为:*2)label2的属性autosize设置为:.T.3)“显示密码”按钮Command1的Click事件代码:写法一:bel2.Caption=Thisform.Text1.Value写法二:X=Thisform.Text1.Valuebel2.Caption=X3)“关闭”的按钮Command2的Click事件代码:Thisform.Release(二)Command1 的CLICK事件代码:if thisform.text1.value="abc"bel2.caption="欢迎使用"elsebel2.caption="密码错误"EndifCommand2 的CLICK事件代码:thisform.release(三)代码编写:1)“确定”按钮Command1的Click事件代码:If Thisform.text1.value=”ABCD”Messagebox(“欢迎光临”,65,“密码正确“)ElseMessagebox(“禁止进入“,65,”密码错误“)Endif2)“关闭”的按钮Command2的Click事件代码:Thisform.Release(四)代码编写:1)“确定”按钮Command1的Click事件代码:r=val(thisform.text1.value)s=3.1415926*r*rmessagebox(str(s,5,2),65,”面积”)2) “关闭”的按钮Command2的Click事件代码:Thisform.Release(五)题目要求:(1) 该表单的名称为“Form1”,标题为“温度转换”,高度为260,宽度为400;2) 定义一个名称为“Label1”标题为“摄氏温度”的标签;再定义一个名称为“Label2”标题为“华氏温度”的标签,两个标签的字号均为11磅;3) 定义一个名称为“Text1”的文本框,用于输入摄氏温度,再定义一个名称为“Text2”的文本框,具有只读属性,用于显示华氏温度; 4) 定义一个名称为“Command1”,标题为“转换”的按钮,当单击该按钮时,将输入的摄氏温度转换成华氏温度并显示在Text2文本框中,编写其Click事件代码;其中:华氏温度=9/5*摄氏温度+32 5) 定义一个名称为“Command2”,标题为“关闭”的按钮,当单击该按钮时,释放该表单(不得退出VFP系统)。
综合表单设计(多表操作)
【练习1】创建一个查询指定学生成绩的表单。
要求:(1)在text1文本框中输入学生的学号后,如果学生存在,则显示该生的成绩信息,否则显示学生不存在的提示信息;(2)使用数据环境实现成绩.dbf和学生.dbf之间的临时关联。
方法一:
FORM1.INIT
THIS.SETALL("V ALUE"," ","TEXTBOX")
THIS.TEXT2.READONLY=.T.
MAND1.DEFAULT=.T.
WITH THIS.GRID1
.READONLY=.T.
.ALLOWADDNEW=.F.
.DELETEMARK=.F.
.RECORDSOURCETYPE=1
.RECORDSOURCE="成绩"
.VISIBLE=.F.
ENDWITH
THIS.TEXT1.SETFOCUS
SELE 成绩
INDEX ON 学号TO XH
SELE 学生
SET RELA TO 学号INTO 成绩
TEXT1.VALID
SELECT 学生
SNO=ALLTRIM(THISFORM.TEXT1.V ALUE)
LOCA TE FOR 学号=SNO
IF FOUND()
THISFORM.GRID1.VISIBLE=.T.
THISFORM.TEXT2.V ALUE=姓名
ELSE
MESSAGEBOX("查无此人!",0+48,"提示窗")
THISFORM.GRID1.VISIBLE=.F.
ENDIF
THISFORM.TEXT1.SELECTONENTRY=.T.
THISFORM.TEXT1.SETFOCUS
THISFORM.REFRESH
方法二:
FORM1.INIT
THIS.SETALL("V ALUE"," ","TEXTBOX")
THIS.TEXT2.READONLY=.T.
MAND1.DEFAULT=.T.
WITH THIS.GRID1
.READONLY=.T.
.ALLOWADDNEW=.F.
.DELETEMARK=.F.
.RECORDSOURCETYPE=1
.RECORDSOURCE="成绩"
ENDWITH
THIS.TEXT1.SETFOCUS
TEXT1.VALID
SELECT 学生
SNO=ALLTRIM(THISFORM.TEXT1.V ALUE)
LOCA TE FOR 学号=SNO
IF FOUND()
THISFORM.TEXT2.V ALUE=姓名
SELECT * FROM 成绩WHERE 学号=学生.学号INTO CURSOR XSCJ
THISFORM.GRID1.RECORDSOURCE="XSCJ"
ELSE
MESSAGEBOX("查无此人!",0+48,"提示窗")
ENDIF
THISFORM.TEXT1.SELECTONENTRY=.T.
THISFORM.TEXT1.SETFOCUS
THISFORM.REFRESH
【练习2】创建一个查询指定课程的选修情况的表单,组合框combo1的数据源为课程名,表格grid1的数据源为成绩.dbf,标签2、标签3、标签4 的标题为“”。
要求:(1)用代码实现课程.dbf和成绩.dbf之间的临时关联;(2)在组合框中选择课程名,grid1中显示组合框中选中课程的成绩;(3)label2的标题为“××选修情况如下:”,“××”为组合框中选中的课程名称,label3的标题显示当前选中课程的选修人数,label4的标题显示当前选中课程的平均成绩。
比较与习题5.57编写代码的繁简。
FORM1.INIT
this.caption="课程选修查询"
this.setall("caption","","label")
bel1.caption="请选择课程名:"
bo1.rowsourcetype=6
bo1.rowsource="课程.课程名"
with this.grid1
.recordsourcetype=1
.recordsource="成绩"
.allowaddnew=.f.
.deletemark=.f.
.readonly=.t.
endwith
sele 成绩
index on 课程号 to kch
sele 课程
set rela to 课程号 into 成绩
COMBO1.INTERACTIVECHANGE
bel2.caption=THIS.DISPLAYVALUE+"选修情况如下:"
sele 成绩
count to xxrs for 课程号=课程.课程号
aver 成绩 to pj for 课程号=课程.课程号
bel3.caption=THIS.DISPLAYVALUE+"的选修人数为:"+str(xxrs,2)
bel4.caption=THIS.DISPLAYVALUE+"平均成绩是:"+str(pj,2)
SELE 课程
thisform.refresh
【练习3】创建一个学生成绩查询表单,组合框combo1的数据源为姓名。
要求:(1)在form1的init事件中建立三个表之间的临时关联;(2)表单运行时,combo1中选择姓名,将该生的姓名、选修课程名、成绩添加到combo2中;每次选择学生姓名如凌飞扬,先清除combo2中的内容,再显示新的内容,label2的标题为“凌飞扬选修成绩为:”。
FORM1.INIT
BO1.ROWSOURCETYPE=2
BO1.ROWSOURCE="学生.姓名"
SELE 成绩
INDEX ON 学号 TO XH
SELE 学生
SET RELA TO 学号 INTO 成绩
SELE 课程
INDEX ON 课程号 TO KCH
SELE 成绩
SET RELA TO 课程号 INTO 课程
COMBO1.INTERACTIVECHANGE
BO2.CLEAR
BEL2.CAPTION=THIS.DISPLAYVALUE+"的选修成绩为:"
SELE 成绩
SCAN FOR 学生.学号=学号 AND 课程号=课程.课程号
BO2.ADDITEM(学生.姓名+" "+课程.课程名+" "+STR(成绩.成绩,3)) ENDSCAN
THISFORM.REFRESH。