收藏 分销(赏)

省上机考表单设计题答案-学生.doc

上传人:xrp****65 文档编号:5898790 上传时间:2024-11-22 格式:DOC 页数:14 大小:5.68MB 下载积分:10 金币
下载 相关 举报
省上机考表单设计题答案-学生.doc_第1页
第1页 / 共14页
省上机考表单设计题答案-学生.doc_第2页
第2页 / 共14页


点击查看更多>>
资源描述
14 表单设计题 在考生目录的paper子目录中有界面文件Design.jpg和表单设计年涉及的表文件。 请设计程序,编制表单,在Paper子目录中生成Design.scx文件。 注意:以默认方式命名控件,以从左至右,从上向下的顺序拖放控件。 1.要求: (1)编制一个表单完成表文件“学生.dbf”内容的只读浏览显示功能; (2)表单初始显示内容为表文件“学生.dbf”内容的首记录; (3)表单内容将以10秒为间隔自动刷新,即自动向后翻记录,当翻至表底时,瘵自动回到首记录循环翻动。 1 2 ² 表单的Form1的Init事件代码: THIS.SETALL("READONLY",.T.,"TEXTBOX") GO TOP THISFORM.REFRESH ² 时钟控件Timer1的Timer事件代码: SKIP IF EOF() GO TOP ENDIF THISFORM.REFRESH 2.要求: (1)编制一个表单完成表文件“学生.dbf“内容的只读浏览显示功能 (2)表单初始显示内容为表文件“学生.dbf”的首记录 (3)当按“前翻”、“后翻”、“首记录”、“末记录”按钮时,表单将自动显示相应记录的内容 (4)当翻至表头或表底时,将自动设置相应按钮不可访问。 ² 表单的Form1的Init事件代码: THIS.SETALL("READONLY",.T.,"TEXTBOX") Sele 学生 GO TOP THISFORM.REFRESH ² “首记录”按钮Command1的Click事件代码: go top mand2.enabled=.t. mand3.enabled=.t. mand4.enabled=.t. mand1.enabled=.f. thisform.refresh ² “前翻”按钮Command2的Click事件代码: skip -1 if bof() mand1.enabled=.f. this.enabled=.f. endif mand3.enabled=.t. mand4.enabled=.t. thisform.refresh ² “后翻”按钮Command3的Click事件代码: skip if eof() mand3.enabled=.f. mand4.enabled=.f. endif mand1.enabled=.t. mand2.enabled=.t. thisform.refresh ² “末记录”按钮Command4的Click事件代码: go bottom mand1.enabled=.t. mand2.enabled=.t. mand3.enabled=.t. mand4.enabled=.f. thisform.refresh 3.要求:(1)编制“学生“表信息查询界面 (2)查询与用户指定的学生姓名相匹配的记录,并显示指定学生的所有信息。 ² List1的Rowsourcetype为“6-字段”,Rowsource为“学生.姓名”;文本框Text1~Text5的数据源属性分别为学生表中对应字段 ² 表单的Form1的Init事件代码: use 学生 thisform.setall("visible",.f.,"textbox") thisform.setall("visible",.f.,"label") thisform.label1.visible=.t. thisform.refresh ² 列表框List1的Interactivechange事件代码: thisform.setall("visible",.t.) thisform.refresh 4.要求:(1)编制“学生表”信息查询界面 (2)显示指定学生的所有信息。 ² Combo1的Rowsourcetype为“6-字段”,Rowsource为“学生.姓名”;文本框Text1~Text5的数据源属性分别为学生表中对应字段 ² 所有文本框Text的ReadOnly属性为“.T.”; ² 表单的Form1的Init事件代码: thisform.setall("visible",.f.,"textbox") thisform.setall("visible",.f.,"label") thisform.label1.visible=.t. thisform.refresh ² 组合框Combo1的Interactivechange事件代码: thisform.setall("visible",.t.) thisform.refresh 5.要求:编制“学生”表信息查询界面,查询与用户输入的学生学号相匹配的记录,并显示指定学生的所有信息。 ² Label3、Label4、Label5、Label6的Caption属性分别设置为“姓名:”、“性别:”、“出生年月:”、“奖学金:”,并设置所有文本框的数据源属性为学生表中的对应字段 ² 标签Label2的Forecolor属性为“255,255,255” ² 表单的Form1的Init事件代码: thisform.setall("visible",.f.) thisform.label1.visible=.t. thisform.text1.visible=.t. ² 文本框Text1的Valid事件代码: loca for alltrim(学号)=alltrim(this.value) if found() thisform.label2.caption="" thisform.setall("visible",.t.) else thisform.setall("visible",.f.) thisform.label1.visible=.t. thisform.text1.visible=.t. thisform.label2.visible=.t. thisform.label2.caption="您所指定的学生并不存在!" endif thisform.refresh 6.要求: (1)编制一个表单完成表文件“学生.dbf”、“成绩.dbf”、“课程.dbf”内容的编辑浏览显示功能 (2)三个表文件分别显示在三个不同的页面上(3)未被激活的页面自动设为不可访问 ² Timer1的Interval属性设置为10000 ² Timer1的Timer事件的代码: P=Thisform.PageFrame1.ActivePage P=P+1 IF P>3 P=1 ENDIF Thisform.PageFrame1.SetAll("Enabled",.F.,"Page") Thisform.PageFrame1.Pages(P).Enabled=.T. Thisform.PageFrame1.ActivePage=P 7.要求: (1)编制一个界面程序,实现将用户指定的表文件的字段名列表显示 (2)系统自动查询用户指定的表文件是否存在,存在则列表显示指定表文件的所有字段名信息,否则给出信息提示框 ² Form1的Init事件的代码: Thisform.label2.visible=.f. Thisform.list1.visible=.f. ² Text1的Valid事件的代码 fn=alltrim(this.value)+ ".dbf" if file(fn) thisform.setall("visible",.t.) thisform.list1.clear use (fn) for i=1 to fcount() thisform.list1.additem(fields(i)) endfor else Thisform.label2.visible=.f. Thisform.list1.visible=.f. messagebox("指定的表文件不存在!", 64, "表文件存在判断") endif thisform.refresh 8.要求: (1)编制一个表单完成表文件“学生.dbf”内容的查询显示功能 (2)当用户在组合框(下拉列表)选择班级(学号的左三位)后,表单将自动显示对应班级的奖学金总额 (3)按“退出”按钮时,自动关闭表单。 8 9 ² 表单Form1的Init事件代码: set talk off sele 学生 index on left(学号,3) to xh unique scan bo1.additem(left(学号,3)) endscan set index to ² 组合框Combo1的Valid事件代码: Sum 奖学金 to jxj for left(学号,3)=this.value Thisform.twxt1.value=jsj ² “退出”按钮Command1的Click事件代码: thisform.release 9.要求: (1)编制一个表单完成表文件“学生.dbf”“成绩.dbf”内容的查询显示功能 (2)当用户在组合框(下拉列表)选择班级(学号的左三位)后,表单将自动显示对应班级的所有学生的总平均成绩 (3)按“退出”按钮时,自动关闭表单。 ² 表单Form1的Init事件代码: Set talk off Select 学生 index on left(学号,3) to xh unique scan bo1.additem(left(学号,3)) endscan set index to ² 组合框combo1的Valid事件代码: select 成绩 average成绩 to cj for left(学号,3)=this.displayvalue thisform.text1.value=cj ² “退出”按钮Command1的Click事件代码: thisform.release 10.要求: (1)编制一个表单完成表文件“课程.dbf”“成绩.dbf”内容的查询显示功能 (2)当用户在组合框选择课程名后,表单将自动显示对应课程的所有学生的总平均成绩 (3)按“退出”按钮时,自动关闭表单。 ² 组合框Combo1的RowSouceType属性为“6-字段”,RowSouce属性为“课程.课程名”。 ² 组合框Combo1的Valid事件代码: set talk off select 课程 kch=课程号 select 成绩 average 成绩 to cj for 课程号=kch thisform.text1.value=cj ² “退出”按钮Command1的Click事件代码: thisform.release 11.要求: (1)编制一个表单完成表文件“学生.dbf”“成绩.dbf”内容的查询显示功能 (2)当用户在组合框(下拉列表)选择姓名后,表单将自动显示对应学生的平均成绩 (3)按“退出”按钮时,自动关闭表单。 ² 组合框Combo1的RowSouceType属性为“6-字段”,RowSouce属性为“学生.姓名”。 ² 组合框Combo1的Interactivepage事件代码: set talk off select 学生 xh=学号 select 成绩 average 成绩 to cj for 学号=xh thisform.text1.value=cj ² “退出”按钮Command1的Click事件代码: thisform.release 12.要求:编制一个人工翻动日历牌,界面窗口中显示当前日期,但是可以通过界面提供的微调按钮任意地向前或向后翻动日期。 ² Text1的dateformat属性设为“14-汉语” ² 微调Spinner1的Downclick事件代码: thisform.text1.value=thisform.text1.value-1 thisform.refresh ² 微调Spnnier1的Upclick事件代码: thisform.text1.value=thisform.text1.value+1 thisform.refresh 13.要求(1)设计一个表单,接受用户输入的数字,生成相应的矩阵 (2)文本框内输入一个小于等于10的数字,生成一个相应的对称矩阵,且这个矩阵的对角线的数字全部为0,其他的数字为1。 ² “显示”按钮Command1的click事件的代码: n=val(thisform.text1.value) s="" for i=1 to n for j=1 to n if j=i or j+i=n+1 s=s+"0"+space(1) else s=s+"1"+space(1) endif endfor s=s+chr(13) endfor thisform.edit1.value=s thisform.refresh 14.要求: (1)编制一个按钮组调色板 (2)当用户按了命令按钮组中的某个按钮后,表单的背景色就会变为按钮指定的对应颜色。 ² 命令按钮组Commandgroup1的Click事件代码: do case case this.value=1 thisform.backcolor=rgb(225,0,0) case this.value=2 thisform.backcolor=rgb(0,255,0) case this.value=3 thisform.backcolor=rgb(0,0,255) case this.value=4 thisform.backcolor=rgb(0,0,0) case this.value=5 thisform.backcolor=rgb(225,255,255) endcase thisform.refresh 15.要求: (1)编制一个按钮组调色板 (2)当用户按了命令按钮组中的某个按钮后,命令按钮组的背景色就会变为按钮指定的对应颜色。 ² 命令按钮组Commandgroup1的Click事件代码: do case case this.value=1 this.backcolor=rgb(225,0,0) case this.value=2 this.backcolor=rgb(0,255,0) case this.value=3 this.backcolor=rgb(0,0,255) case this.value=4 this.backcolor=rgb(0,0,0) case this.value=5 this.backcolor=rgb(225,255,255) endcase thisform.refresh 16.要求: (1)编制一个选项按钮组调色板 (2)当用户按了某个选项按钮后,表单的背景颜色就会变为按钮指定的对应颜色。 ² 选项按钮组Optiongroup1的Click事件代码: do case case this.value=1 thisform.backcolor=rgb(255,0,0) case this.value=2 thisform.backcolor=rgb(0,255,0) case this.value=3 thisform. backcolor=rgb(0,0,255) case this.value=4 thisform.backcolor=rgb(0,0,0) case this.value=5 thisform.backcolor=rgb(255,255,255) endcase 17.要求: (1)编制一个“选页调色板”表单 (2) 当用户按了某页后,页框的背景色就会变成指定的对应颜色。 ² 选项按钮组Pageframe1的Click事件代码: do case case this.activepage=1 this.page1.backcolor=rgb(255,0,0) case this.activepage=2 this.page2.backcolor=rgb(0,255,0) case this.activepage=3 this.page3.backcolor=rgb(0,0,255) case this.activepage=4 this.page4.backcolor=rgb(0,0,0) case this.activepage=5 this.page5.backcolor=rgb(255,255,255) endcase thisform.refresh 18.要求: (1)编制一个信息显示(时钟)的界面,显示当前时间(每秒动态显示跳动一次) (2)并将表单的背景颜色设置为蓝、绿色自动变换(与时间同步切换) ² Timer1的Timer事件代码: s=substr(time(),1,2) f=substr(time(),4,2) m=substr(time(),7,2) mn=val(m) if int(mn/2)=mn/2 thisform.backcolor=rgb(0,0,255) else thisform.backcolor=rgb(0,255,0) endif thisform.text1.value=time() 19.要求: (1)编制一个表单完成数字时钟显示功能 (2)表单将自动以1秒为间隔动态显示系统时间 (3)时、分、秒要求用汉字说明 ² 文本框Text1的背景色Backcolor为RGB(255,255,255);FONTNAME为“隶书”。 ² 时钟控件Timer1的Timer事件代码: s=substr(time(),1,2) f=substr(time(),4,2) m=substr(time(),7,2) thisform.text1.value=s+"时"+f+'分'+m+'秒' thisform.refresh 20.要求: (1)编制一个表单完成计时器计数显示功能 (2)表单初始显示状态为全零“00:00:00” (3)按“计数”按钮,将自动以秒为单位从零开始计数(设:时的计数属性名为S,分的计数属性名为F,秒的计数属性名为M。)并在表单上动态显示。按“停止”按钮将显示最后一刻的计数时间。 ² 创建1个新建属性,clocknum初值设为0 ² 表单的form1的init事件代码: thisform.timer1.enabled=.f. thisform.text1.value="00:00:00" thisform.refresh ² “计数”按钮command1的click事件代码: thisform.timer1.enabled=.t. ² “停止”按钮command2的click事件代码: thisform.timer1.enabled=.f. ² 时钟控件timer1的timer事件代码: js=thisform.clocknum s=int(js/3600) f=int(js/60) m=js%60 s1=iif(s<10,'0'+str(s,1),str(s,2)) f1=iif(f<10,'0'+str(f,1),str(f,2)) m1=iif(m<10,'0'+str(m,1),str(m,2)) thisform.text1.value=s1+":"+f1+":"+m1 thisform.clocknum=thisform.clocknum+1 thisform.refresh 21.要求: (1)“日期”“星期”“时钟”标签上的文本能自动换行,自动调整大小,背景透明; (2)时钟每1秒种跳一次 21 22 ² 时钟控件Timer1的Timer事件代码: y=str(year(date()),4) m=str(month(date()),2) d=str(day(date()),2) thisform.text1.value=y+"年"+m+"月"+d+"日" c="日一二三四五六" n=dow(date()) w="星期"+substr(c,2*n-1,2)+"("+cdow(date())+")" thisform.text2.value=w thisform.text3.value=time() 22.要求: (1)编制一个表单完成文字水平动态移动操纵的表单; (2)文字信息(纵向)初始显示位置在表单的左边,表单执行后,每间隔20毫秒,文字会自动以间隔加1的幅度逐步向表单右边移动,直到文字到达表单最右边缘; (3)然后,每间隔20毫秒文字会自动以间隔加1的幅度逐步向表单左边移动,直到文字回复到初始位置;(4)整个过程不间断地来回移动 ² 新建表单属性:right ² 表单的Form1的Init事件代码: thisform.timer1.interval=20 ² 时钟控件Timer1的Timer事件代码: IF thisform.label1.Left=0 thisform.right=.f. endif if thisform.label1.left+thisform.label1.width=thisform.width thisform.right=.t. ENDIF IF thisform.right thisform.label1.Left=thisform.label1.Left-1 ELSE thisform.label1.Left=thisform.label1.Left+1 ENDIF thisform.refresh 23.要求: (1)编制一个表单完成文字动态缩放操纵的表单; (2)文字信息初始的位置在表单的正中央,表单执行后,第间隔20毫秒,文字自动以字号加1的幅度逐步向周边延伸变大,直到文字充满整个表单; (3)然后每间隔20毫秒,文字会自动以字号加1的幅度逐步向中lkd回缩变小,直到文字复原为初始的状态; (4)整个过程不间断地缩放(最小字号为4,最大学号为52) . ² 新建表单属性change ² 表单的Form1的Init事件代码: thisform.change=0 ² 时钟控件Timer1的Timer事件代码: if thisform.label1.fontsize=52 thisform.change=1 endif if thisform.label1.fontsize=4 thisform.change=0 endif if thisform.change=0 thisform.label1.fontsize=thisform.label1.fontsize+1 else thisform.label1.fontsize=thisform.label1.fontsize-1 endif thisform.refresh 24.建立一个如图所示的表单 ² 选项按钮组Optiongroup1的Click事件代码: do case case this.value=1 create case this.value=2 create form case this.value=3 modify command endcase 25.编制一个表单完成数据转移操作功能 ² 命令按钮“添加一项”command1的click事件代码: thisform.list2.additem(thisform.list1.value) thisform.list1.removeitem(thisform.list1.listindex) thisform.refresh ² 命令按钮“全部添加”command2的click事件代码: thisform.list1.clear thisform.list2.clear scan thisform.list2.additem(姓名) endscan thisform.refresh ² 命令按钮“移去一项”command3的click事件: thisform.list1.additem(thisform.list2.value) thisform.list2.removeitem(thisform.list2.listindex) thisform.refresh ² 命令按钮“全部移去”command4 的click事件: thisform.list2.clear thisform.list1.clear scan thisform.list1.additem(姓名) endscan thisform.refresh 14
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 行业资料 > 医学/心理学

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服