您好,欢迎访问三七文档
11、用表单设计一个登录界面,如图下所示,当用户输入用户名和口令后,按确认键检验输入是否正确(假设用户名为abcdef,口令为654321)。如果输入正确,就显示“欢迎使用……”;如果输入不正确,则显示“用户名或口令不对,请重输……”;如果三次输入都不正确,就显示“用户名或口令不对,登录失败!”并且关闭表单。操作步骤如下:(1)新建表单,然后在表单上添加两个标签、两个文本框和一个命令按钮。(2)设置两个标签和一个命令按钮的caption属性为“用户名:”、“口令:”和“确认”。(3)将命令按钮“确认”的default的属性值设置为.t.。(4)设置文本框text2的inputmask属性值,在设置框中直接输入999999或输入“999999”。(5)设置文本框text2的passwordchar属性为“*”。(6)选择“表单”下的“新建属性”命令,打开“新建属性”对话框,为表单添加新属性numc。在“属性”窗口中将默认值设置为0。(7)用鼠标双击“确认”按钮,打开编辑事件代码窗口,在click事件中输入下面的代码:ifthisform.text1.value=abcdefandthisform.text2.value=654321wait欢迎使用……windowtimeout3thisform.releaseelsethisform.numc=thisform.numc+1ifthisform.numc=3wait用户名或口令不对,登录失败!windowtimeout3thisform.releaseelsewait用户名或口令不对,请重输……windowtimeout3endifendif2、用编辑框做一个趣味小实例——摸奖机,程序运行界面如下:2【分析】本题并无复杂的知识点,主要是在命令按钮的click事件中对文本框输入的值进行判断,根据所输入的选择值将其对应的奖品显示到编辑框中。【操作】(1)新建表单,将其caption属性值设置为“摸奖机”,autocenter属性值设置为.t.,width和height属性值分别设置为360和220,并将其保存为“摸奖机.scx”。(2)添加控件并设置属性:①向表单上添加一个标签控件label1,并将其caption属性值设置为“请输入您的选择(1-4)”。②向表单上添加一个文本框控件text1,将其inputmask属性值设置为9,value属性值设置为0。③向表单上添加一个命令按钮command1,并将其caption属性值设置为“您获得的奖品是”。④向表单上添加一个编辑框控件edit1。(3)按上图所示的程序运行界面,适当调整各控件的大小及在表单上的位置。(4)添加事件代码:命令按钮command1的click事件代码:docasecasethisform.text1.value=1thisform.edit1.value=您的奖品是手机一部!casethisform.text1.value=2thisform.edit1.value=您的奖品是10000元!casethisform.text1.value=3thisform.edit1.value=您的奖品是学习机一部!casethisform.text1.value=4thisform.edit1.value=您的奖品是彩电一台!otherwisethisform.edit1.value=谢谢您的参与!endcase3、用面向对象程序设计方法编写程序,判断某一年是否是闰年。3[操作](1)选择“文件”菜单下的“新建”功能,在弹出的“新建”对话框中选择“表单”选项,然后单击“新建文件”按钮。(2)使用“表单控件”工具栏,在表单中的合适位置添加2个标签label1、label2,1个文本框text1,1个命令按钮command1。各控件位置如后面左图所示。(3)在表单中选中添加的标签label1,在“属性”窗口中将其caption属性设置为“请输入需要判断的年份”;在表单中选中添加的命令按钮,在“属性”窗口中将其caption属性设置为“判断”。设置属性后程序界面如后面左图所示。(4)在命令按钮command1的click事件中输入代码:y=val(thisform.text1.value)ify%4=0andy%1000ory%400=0thisform.label2.caption=str(y)+是闰年!elsethisform.label2.caption=str(y)+不是闰年!endif4、设计竞赛用的评分程序:去掉一个最高分,去掉一个最低分,选手的最后得分为剩下分数的平均分。【思路】设计一个可以输入若干评委分数的表单,可以通过两个for循环分别找出分数的最大值和最小值,存入到两个变量,把评委的分数存入到一个数组中,计算时去掉找出的最大值和最小值即可得出最后得分。具体操作步骤和代码如下:新建表单,设置表单控件布局和属性,设置界面如下:命令按钮command1(计算)的click事件代码:dimeb(5)b(1)=val(allt(thisform.text1.value))b(2)=val(allt(thisform.text2.value))b(3)=val(allt(thisform.text3.value))b(4)=val(allt(thisform.text4.value))b(5)=val(allt(thisform.text5.value))max1=b(1)min1=b(1)*找出评委的最高分fori=1to5ifb(i)max1max1=b(i)endifendfor*找出评委的最低分4forj=1to5ifb(j)min1min1=b(j)endifendfor*计算最后得分thisform.text6.value=str((b(1)+b(2)+b(3)+b(4)+b(5)-max1-min1)/3,6,2)5、建立如下图所示的表单,表单上有1个形状、2个命令按钮。单击按钮“画圆”,则显示红色的圆,单击按钮“画正方形”,则显示白色的方框。“commandgroup1”控件click事件代码:Docasecasethis.value=1thisform.shape1.curvature=99thisform.shape1.backcolor=rgb(255,0,0)casethis.value=2thisform.shape1.curvature=0thisform.shape1.backcolor=rgb(255,255,255)endcase6、在表单上有一个命令按钮和命令按钮组,该命令按钮组包括3个命令按钮。当单击命令按钮组中某个按钮时,命令按钮组的背景色变成相应按钮指定的颜色;单击还原命令按钮,命令按钮组背景色还原成默认的颜色,其界面如图所示。命令按钮组的click事件代码:5docasecasethis.value=1this.backcolor=rgb(255,0,0)casethis.value=2this.backcolor=rgb(255,255,0)casethis.value=3this.backcolor=rgb(0,0,255)casethis.value=4this.backcolor=rgb(255,255,255)endcasethisform.refresh还原命令按钮的click事件代码:thisform.commandgroup1.backcolor=rgb(192,192,192)thisform.refresh7、在表单上有一个文本框和三个复选框。当单击某个复选框时,文本框中的文字会随之变化,如图所示。操作步骤:(1)选择控件。本例中使用文本框控件和复选框控件。(2)属性设置。文本框的value属性设为“欢迎使用vfp!”,复选框1的caption属性设为“粗体”,复选框2的caption属性设为“斜体”,复选框3的caption属性设为“下划线”。(3)编写代码。双击复选框1,打开代码窗口,在click事件中输入如下代码:ifthis.value=1thisform.text1.fontbold=.t.elsethisform.text1.fontbold=.f.endif双击复选框2,打开代码窗口,在click事件中输入如下代码:ifthis.value=1thisform.text1.fontitalic=.t.elsethisform.text1.fontitalic=.f.endif双击复选框3,打开代码窗口,在click事件中输入如下代码:ifthis.value=1thisform.text1.fontunderline=.t.elsethisform.text1.fontunderline=.f.endif68、设置字体程序,点击某字体按钮,则文字“计算机”就变为该字体。“加粗”check1的click事件代码:ifthis.value=1thisform.label1.fontbold=.t.elsethisform.label1.fontbold=.f.endif“commandgroup1”控件click事件代码:docasecasethisform.commandgroup1.value=1thisform.label1.fontname=隶书casethis.value=2thisform.label1.fontname=华文行楷casethis.value=3thisform.label1.fontname=华文彩云casethis.value=4thisform.label1.fontname=华文新魏endcase9、设计一个“职工基本情况”表单。该表单的功能如下:单击其底部的“第一个”按钮将显示职工数据库表的第一条记录;单击“上一个”扫钮将显示上一条记录;单击“下一个”按钮将显示下一条记录;单击“最后一个”按钮将显示最后一条记录。制作快速职工表单,其中数据表使用职工.dbf,然后插入命令按钮组command1group,将各个按钮的caption分别命名后,编写command1group的click事件代码如下:n=this.value&&按钮组选择值docasecasen=1&&第一个gotopcasen=2&&上一个ifbof()orrecno()=1gobottomelseskip-17endifcasen=3&&下一个ifeof()orrecno()=reccount()gotopelseskipendifcasen=4&&最后一个gobottomendcasethisform.refresh10、设计一个简单的计算器。要求:单击数字键、小数点或运算符号键,能将相应字符添加到文本框中计算式的末尾,若单击“清除”按钮,可将文本框清空:若单击“=”键,则计算文本框中算式的值并将其结果显示出来。若文本框中的式子无法计算则显示“运算式错误”字样。(1)新建一个名为计算器的表单,设置表单的Caption属性值为:计算器。(2)在表单中添加一个文本框控件,15个命令按钮控件,调整控件到合适的位置。设置命令按钮的Caption属性值为“=”号时,在Caption属性设置处输入:==(3)设置文本框的Format属性的值设置为T,定义一个名为x的表单属性。(4)设置所有标有0~9以及“.”的命令按钮的Click事件的代码如下:IFThisform.x&&如果刚按过=按钮This.Parent.Text1.Value=&&清除式子Thisform.x=.F.&&表示已按其它按钮ENDIFThis.Parent.Text1.Value=This.Parent.Text1.Value+This.Caption设置所有标有运算符的命令按钮的Click事件的代码如下:IFThisform.x&&如果刚按过=按钮Thisform.x=.f.&&表示已按其它按钮ENDIFThis.Parent.Text1.Value=T
本文标题:VF---表单设计
链接地址:https://www.777doc.com/doc-5265902 .html