25.编制“学生”表信息查询界面,要求如图1、图2、图3所示。图1用户选择前的运行界面图2用户选择同学后的运行界面答案:(学生表拉到数据环境)(把“性别”字段拉到表单内,改Caption)(1)表单Form1的Init事件代码:Thisform.Label1.Caption=”请选择学生姓名”Thisform.Label2..Caption=”学号”Thisform.Label3..Caption=”姓名”Thisform.Labe4..Caption=”性别”Thisform.Label5..Caption=”出生年月”Thisform.Label6..Caption=”奖学金”Thisform.Check1.Caption=”选中为’男’,否则为’女’”Thisform.Caption=”学生表信息查询”Thisform.Setall(“Readonly”,.T.,”TextBox”)Thisform.Check1.Readonly=.T.(2)列表框List的InterActiveChange事件代码:ThisForm.SetAll(Visible,.T.)ThisForm.Refresh19.编制一个表单完成表文件“学生.dbf”内容的学生奖学金查询显示功能(界面如图所示)。要求:①当用户在组合框输入或选择班级(学号的前三位)后,按回车或“确定”按钮时,表单将自动显示对应班级的奖学金总额;②按“退出”按钮时,自动关闭表单。图:用户选择确定后的运行界面答案:(把学生表拉到数据环境)(1)表单Form1的Init事件代码:SETTALKOFFSETSAFETYOFFINDEXONLEFT(学生.学号,3)TOXHUNIQUEThisform.Combo1.DisplayValue=Left(学生.学号,3)SCANThisform.Combo1.AddItem(Left(学生.学号,3))ENDSCANSETINDEXTO(2)组合框Combo1的Valid事件代码:IFEMPTY(This.DisplayValue)RETURN.T.ENDIFLOCATEFORLEFT(ALLTRIM(学生.学号),3)==LEFT(ALLTRIM(This.DisplayValue),3)IFEOF()RETURN.F.ELSERETURN.T.ENDIF(3)命令按扭Command1的Click事件代码:SUM奖学金TOMJXJFORLEFT(ALLTRIM(学号),3)==LEFT(ALLTRIM;(Thisform.Combo1.DisplayValue),3)Thisform.Text1.Value=MJXJ(4)命令按扭Command2的Click事件代码:Thisform.Release18.建立一个表单,通过每次单击“开始”按钮,都能实现表单的标签信息从顶行向下平移,移到底边即停止。设计界面如图所示。标签高度为30像素,字体颜色为蓝色。图:信息单向平移表单设计界面答案:(Foreclour)(1)表单Form1的Init事件:Thisform.Timer1.Enabled=.F.(2)命令按扭Command1的事件代码:Thisform.Timer1.Enabled=.T.(3)命令按扭Command2的事件代码:Thisform.Release(4)计时器Timer1的Timer事件:IFThisform.Label1.Top=Thisform.Height-Thisform.Label1.HeightThisform.Label1.Top=Thisform.Label1.Top+1ENDIFThisform.Refresh16.运用文本框和计时器对象设计一个数字时钟表单,界面如图1、2所示。要求:文本框文字为隶书、20号字,表单的标题为“数字时钟”,每隔1秒钟刷新一次时间。图1:设计界面图2:运行界面答案:(1)表单Form1的Init事件代码:Thisform.Caption=数字时钟Thisform.Text1.FontName=隶书Thisform.Text1.FontSize=30Thisform.Timer.Interval=1000(2)计时器Timer1的Timer事件:Thisform.Text1.Value=LEFT(TIME(),2)+时+SUBSTR(TIME(),4,2)+分+RIGHT(TIME(),2)+秒15.设计一个圆球跳动表单。要求:球的宽和高为40,球的填充颜色为咖啡色,表单的标题为“圆球跳动”,球每隔0.5秒在表单的上下边之间跳动。按开始按钮球跳动,按停止按钮球停止。设计界面和运行界面见下图所示。答案:(属性curvature设置为99backcolor)(1)命令按扭Command1的事件代码:Thisform.Timer1.Enabled=.T.(2)命令按扭Command2的事件代码:Thisform.Timer1.Enabled=.F.(3)计时器Timer1的Timer事件:IFThisform.Shape1.Top=0Thisform.Shape1.Top=Thisform.Height-Thisform.Shape1.HeightELSEThisform.Shape1.Top=0ENDIFThisform.Refresh14.设计一个完成口令判定功能的表单,界面如图所示。具体要求如下:①用户从键盘输入口令时,表单的显示控件以“*”代替具体内容;②系统的口令存放在表文件“学生.dbf”的姓名字段中,要求完全匹配;③输入口令后,按回车或按“确定”按钮,将自动显示信息框(Messagebox),提示“正确!”或“错误!”;④按“退出”按钮将自动关闭表单。答案:(1)表单Form1的Init事件:USE学生ThisForm.Text1.PassWordChar=*This.caption=”口令验证窗”(2)文本框Text1的Valid事件LOCATEFORALLTRTM(THIS.VALUE)=ALLTRTM(姓名)IFFOUND()MESSAGEBOX(“正确!”)RETURN.T.ELSEMESSAGEBOX(“错误!)RETURN.F.ENDIFThisform.Refresh(3)命令按扭Command1的Click事件代码:Thisform.text1.Valid(4)命令按扭Command2的Click事件代码:USEThisform.Release6.编制一个表单完成表文件“学生.dbf”内容的自动只读浏览显示功能,界面如图所示。具体要求如下:①表单初始显示内容为表文件“学生.dbf”的首记录;②表单内容将以10秒为间隔自动刷新,即自动顺序向后翻记录,当翻至表底时,将自动回到首记录循环翻动。答案:(1)表单Form1的Init事件代码:ThisForm.SetAll(ReadOnly,.T.,TextBox)ThisForm.SetAll(ReadOnly,.T.,CheckBox)ThisForm.SetAll(ReadOnly,.T.,EdittBox)(2)计时器Timer1的Timer事件:SKIPIFEOF()GOTOPENDIFThisform.ReFresh(计时器的属性窗口设置其interval属性为10000(2秒))17.编制一个显示时钟和日期的表单,界面如图所示。命令按钮及文本框的字体、颜色和大小设置为自己喜欢的形式。图:设计界面图:时间显示界面图:日期显示界面答案:(1)表单Form1的Init事件:ThisForm.Text1.Value=00:00:00Thisform.Timer1.Enabled=.F.(2)命令按扭Command1的事件代码:Thisform.Timer1.Enabled=.T.(3)命令按扭Command2的事件代码:Thisform.Timer1.Enabled=.F.Y=ALLTRIM(STR(YEAR(DATE())))M=ALLTRIM(STR(MONTH(DATE())))D=ALLTRIM(STR(DAY(DATE())))Thisform.Text1.Value=Y+年+M+月+D+日+CHR(13)+CDOW(DATE())Thisform.Refresh(4)命令按扭Command3的事件代码:Thisform.Release(5)计时器Timer1的Timer事件:Thisform.Text1.Value=TIME()Thisform.Refresh5.借助于文本框和微调框编制一个手工日历表单,界面如图所示。要求日期以中文的方式居中显示,显示的字体为宋体、30号字。图:手工日历设计界面图:手工日历运行界面答案:居中(Alignment,注意修改字体,字号)(1)表单Form1的Init事件:Thisform.Text1.Value=DATE()Thisform.Spinner1.SetFocusThisform.Text1.DataFormat=14(2)微调Spinner1的Upclick事件Thisform.Text1.Value=Thisform.Text1.Value+1Thisform.Refresh(3)微调Spinner1的Downclick事件Thisform.Text1.Value=Thisform.Text1.Value-1Thisform.Refresh12.用选项按钮组设计5颜色调色板表单,界面如图11-3所示。要求:文字为楷书、18号字,表单的标题为“调色板”,按钮组5个按钮,按三行三列排列,当单击对应的按钮时,按钮组的背景颜色相应改变。图:调色板答案:(注意Value和颜色的对应)(1)表单FORM1的INIT事件Thisform.OptionGroup1.Value=1Thisform.OptionGroup1.Backcolor=RGB(255,0,0)(2)命令按扭组CommandGroup1的Click事件:DOcaseCASEthis.Value=1this.BackColor=RGB(255,0,0)CASEthis.Value=2this.BackColor=RGB(0,0,255)CASEthis.Value=3this.BackColor=RGB(0,255,0)CASEthis.Value=4this.BackColor=RGB(255,255,255)CASEthis.Value=5this.BackColor=RGB(0,0,0)ENDCASEthisform.Refresh1.设计一个标准化模拟考试表单。界面如图所示。要求:文字字体、字号任意,当选择答案时,根据对错用Messagebox()函数显示提示信息。图:模拟考试表单答案:(1)表单Form1的Init事件:Thisform.OptionGroup1.Value=0(2)选项按扭组OptionGroup1的InterActiveChange事件:IFthis.value=2MESSAGEBOX(答对了,真棒!,0+48,评判结果)ELSEMESSAGEBOX(答错了,再试!,0+32,评判结果)ENDIF3.编制一个表单完成表文件“学生.dbf”“成绩.dbf”内容的学生成绩查询显示功能,界面如图11-5所示。具体要求如下:①当用户在组合框输入或选择姓名后,按回车或“确定”按钮时,表单将自动显示对应学生的平均成绩,如果该学生不存在,则显示提示信息。②按“退出”按钮时,自动关闭表单。图:学生成绩查询表单答案:(combo1的Rowsourcetype设为6,Rowsource设为学生.姓名,把学生表和成绩表拉到数据环境)(1)表单Form1的Init事件:SETTALKOFF(2)命令按扭Command1的事件代码:SELECT学生LOCATEALLFORALLTRIM(姓名)=ALLTRIM(Thisform.Combo1.DisplayValue)IF!F