1、VFP无表表单上机程序设计题(无表表单部分)Visual Foxpro 语言设计题目如下,单击“回答”按钮,进行考试。在考生文件夹的Paper子文件夹中有界面文件Design.jpg。请设计程序,编制表单,在Paper子文件夹中生成Design.scx文件。注意:以默认方式命名控件,以从左至右,从上向下的顺序拖放控件。1要求:1.编制一个按钮组调色板;2.当用户按了命令按钮组中的某个按钮后,表单的背景色就会变为按钮指定的对应颜色。 设置表单标题为“按钮组调色板”。 设置命令按钮组中的按钮(右击按钮组,选“生成器”)(1)表单Form1的Init事件代码:(其它属性均已在属性窗口中设置)this
2、.backcolor=rgb(255,0,0)(2)命令按钮组CommandGroup1的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=r
3、gb(255,255,255)endcase2要求:1.编制一个按钮组调色板;2.当用户按了命令按钮组中的某个按钮后,命令按钮组的背景色就会变为按钮指定的对应颜色。 设置表单标题为“按钮组调色板”。 设置命令按钮组中的按钮。(1)表单Form1的Init事件代码:(其它属性均已在属性窗口中设置)mandgroup1.backcolor=rgb(255,0,0)(2)命令按钮组CommandGroup1的Click事件代码: do case case this.value=1 this.backcolor=rgb(255,0,0) case this.value=2 this.backcolor
4、=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(255,255,255)endcase3要求:1.编制一个选项按钮组调色板;2.当用户按了某个选项按钮后,表单的背景色就会变为按钮指定的对应颜色。 设置表单标题为“选项按钮组调色板”。 设置选项按钮组中的按钮(生成器)(1)表单Form1的Init事件代码:this.backcolor=rgb(255,0,0)(2)
5、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)endcase4要求:1.编制一个选
6、项按钮组调色板;2.当用户按了某个按钮后,选项按钮组的背景色就会变。 设置表单标题为“选项按钮组调色板”。 设置选项按钮组中的按钮。(1)表单Form1的Init事件代码:this.optiongroup1.backcolor=rgb(255,0,0)(2)选项按钮组OptionGroup1的Click事件代码:do case case this.value=1 this.backcolor=rgb(255,0,0) case this.value=2 this.backcolor=rgb(0,255,0) case this.value=3 this.backcolor=rgb(0,0,25
7、5) case this.value=4 this.backcolor=rgb(0,0,0) case this.value=5 this.backcolor=rgb(255,255,255)endcase5要求:编制一个选项卡组(页框)调色板,当用户按了某个选项卡(页)后,当前页的背景色就会变为选项卡标题指定的对应颜色。 设置表单标题为“选页调色板”。 设置页框中各page的caption属性。(右击页框后选(编辑)再设置,下同) 分别设置页框中各选项卡的颜色。 将黑选项卡中的标题“黑”的颜色设为白色。该题可以不写一行代码。6要求:1.编制一个信息显示(时钟)界面,显示当前时间(每秒动态跳动
8、一次);2.并将表单的背景设置为蓝、绿两色自动变换(与时间同步切换)。 设置表单标题为“信息窗”。 设置文本框Text1的Fontsize属性(将其放大)。 设置文本框的的ReadOnly属性为真。 设置计时器Timer1的Interval属性为1000。(1)表单Form1的Init事件代码:if val(right(time(),2)%2=0 thisform.backcolor=rgb(0,255,0)else thisform.backcolor=rgb(0,0,255)endifthis.text1.value=time()(2)计时器控件Timer1的Timer事件代码:thisf
9、orm.text1.value=time()if val(right(time(),2)%2=0 thisform.backcolor=rgb(0,255,0)else thisform.backcolor=rgb(0,0,255)endif7要求:1.编制一个表单完成数字时钟显示功能;2.表单将自动以1秒为间隔动态显示系统时间;3.时、分、秒要求用汉字说明。 设置表单标题为“数字时钟”。 设置文本框Text1的Fontsize属性(将其放大)。 设置文本框的字体为“隶书”。 设置计时器Timer1的Interval属性为1000。(1)表单Form1的Init事件代码:避免运行时文本框空白t
10、hisform.text1.value=subs(time(),1,2)+时+subs(time(),4,2)+分+subs(time(),7,2)+秒(2)计时器Timer1的Timer事件代码:thisform.text1.value=subs(time(),1,2)+时+subs(time(),4,2)+分+subs(time(),7,2)+秒8要求:编制一个人工翻动日历牌界面,界面窗口中显示当前日期,但是用户可以通过界面提供的微调按钮任意地向前或向后翻动日期。 设置表单标题为“人工翻动日历牌”。 设置文本框Text1的Fontsize属性(将其放大)。 设置文本框的的ReadOnly属
11、性为真。 设置文本框背景和前景色(如设置文字颜色为“白”),大小适当。(1)表单Form1的Init事件代码:public dset century ond=date()y=substr(dtoc(d),7,4)m=substr(dtoc(d),1,2)r=substr(dtoc(d),4,2)thisform.text1.value=y+年+m+月+r+日(2)微调对象Spinner1的UpClick事件代码:D=d-1Y=substr(dtoc(d),7,4)M= substr(dtoc(d),1,2)R=substr(dtoc(d),4,2)thisform.text1.value=y+
12、”年”+m+”月”+r+”日”(3)微调对象Spinner1的DownClick事件代码:D=d+1Y=substr(dtoc(d),7,4)M= substr(dtoc(d),1,2)R=substr(dtoc(d),4 ,2)thisform.text1.value=y+”年”+m+”月”+r+”日”9要求:1.编制一个日历时钟表单;2.表单中的日历是当前日期,时钟会动态跳动(每1秒跳一次)。 设置表单标题为“日历时钟表单”。 设置计时器Timer1的Interval属性为1000。 设置文本框的Fontsize属性(将其放大),字体为隶书。 设置文本框的的ReadOnly属性为真。(1)
13、表单Form1的Init事件代码:Thisform.text1.value=substr(dtoc(date(),7,4)+年+substr(dtoc(date(),1,2)+月+substr(dtoc(date(),4,2)+日Thisform.text2.value=time()(2)计时器控件Timer1的Timer事件代码:thisform.text1.value=substr(dtoc(date(),7,4)+年+substr(dtoc(date(),1,2)+月+substr(dtoc(date(),4,2)+日thisform.text2.value=time()10要求:编制一
14、个日历时钟表单,表单中的日历是当前日期、当前星期,时钟会动态跳动(每1秒跳一次)。 设置表单标题为“日历时钟表单”。 设置计时器Timer1的Interval属性为1000。 设置文本框的Fontsize属性(将其放大),字体为隶书。(1)表单Form1的Init事件代码:thisform.text1.value=substr(dtoc(date(),7,4)+;年+substr(dtoc(date(),1,2)+月+substr(dtoc(date(),4,2)+日xq=七一二三四五六thisform.text2.value=星期+substr(xq,2*dow(date()-1,2)+(+
15、cdow(date()+)thisform.text3.value=time()(2)计时器控件Timer1的Timer事件代码:thisform.text1.value=substr(dtoc(date(),7,4)+年+substr(dtoc(date(),1,2)+月+substr(dtoc(date(),4,2)+日xq=七一二三四五六thisform.text2.value=星期+substr(xq,2*dow(date()-1,2)+(+cdow(date()+)thisform.text3.value=time()说明:Dow()函数用17数字表示星期几,1表示星期日、7表示星期
16、六。cdow()函数返回英文星期值。11要求:1.编制一个表单完成计时器计数显示功能;2.表单初始显示状态为全零“00:00:00”;3.按“计数”按钮,将自动以秒为单位从零开始计数(设:时的计数属性名为S,分的计数属性名为F,秒的计数属性名为M)并在表单上动态显示,按“停止”按钮将显示最后一刻的计数时间。 设置表单标题为“计数器”。(Form1的Caption属性为“计数器”) 设置文本框Text1的Fontsize属性(将其放大)。 设置计时器Timer1的Interval属性为1000。 新建三个属性thisform.s、thisform.f、thisform.m,分别用来保存“时”、“
17、分”、“秒”。新属性创建方法:(“表单”“新建属性”输入属性名)(1)表单Form1的Init事件代码:thisform.timer1.enabled=.f. &开始时时钟无效thisform.text1.value=00:00:00 &文本框置0store 0 to thisform.s,thisform.f,thisform.m &分别给时、分、秒赋初值,如果在属性窗口直接赋值,这里就不需要这句了。(2)命令按钮Command1的Click事件代码:thisform.timer1.enabled=.t.thisform.text1.value=00:00:00store 0 to this
18、form.s,thisform.f,thisform.m(3)命令按钮Command2的Click事件代码:thisform.timer1.enabled=.f.(4)计时器Timer1的Timer事件代码:thisform.m=thisform.m+1if thisform.m=60 thisform.m=0 thisform.f=thisform.f+1 if thisform.f=60 thisform.f=0 thisform.s=thisform.s+1 endifendifs=iif(thisform.s9,str(thisform.s,2),0+str(thisform.s,1)
19、f=iif(thisform.f9,str(thisform.f,2),0+str(thisform.f,1)m=iif(thisform.m9,str(thisform.m,2),0+str(thisform.m,1)thisform.text1.value=s+:+f+:+m12要求:1.模仿Visual FoxPro中的“新建”对话框,编制一个“新建”表单;2.当用户选了“表”、“表单”或“程序”任意一项后,就可以自动进入“表设计器”或“表单设计器”或程序编辑窗中。 设置表单标题为“新建”。 “文件类型”为一个标签。OptionGroup1的Click事件代码:do case case
20、this.value=1 create .dbf case this.value=2 create form case this.value=3 modi commendcase 13要求:1.编制一个文字水平动态移动操纵的表单;2.文字信息(纵向)初始的显示位置在表单的左边,表单执行后,每间隔20毫秒,文字会自动以间隔加1的幅度逐步向表单右边移动,直到文字到达表单最右边缘;3.然后每间隔20毫秒文字会自动以间隔减1的幅度逐步向表单左边移动,直到文字回复到初始位置;4.整个过程不间断地来回移动。 设置表单标题为“水平移动的文字”。 设置表单背景色为黄色。 设置标签Label1的颜色、字体、字号
21、及BackStyle(背景风格)为透明。 设置标签Label1的WordWrap属性为真(可以换行显示)。 设置时间间隔为20。(1)表单Form1的Init事件代码:public t,left1t=1left1=thisform.label1.left(2)控件Timer1的Timer事件代码:if thisform.label1.leftthisform.width-thisform.label1.width or thisform.label1.leftthisform.height-thisform.label1.height or thisform.label1.topc, 且c0;
22、a+cb, 且b0;b+ca, 且a0判断。 设置按钮标题为“判断计算”。 设置标签Label1字号、自动大小属性AutoSize为真,Label2自动大小属性AutoSize为真。(1)表单Form1的Init事件代码:this.label2.visible=.f.(2)命令按钮Command1的Click事件代码:a=val(thisform.text1.value)b=val(thisform.text2.value)c=val(thisform.text3.value)p=(a+b+c)/2thisform.label2.visible=.t.if (a+bc and c0) and
23、(a+cb and b0) and (b+ca and a0) s=sqrt(p*(p-a)*(p-b)*(p-c) thisform.label2.caption=能构成三角形,面积等于:+ltrim(str(s)else thisform.label2.caption=不能构成三角形!endif 18要求:在文本框中输入一个起始数,在编辑框中显示20个从起始位置开始并且是3的倍数的整数,且这20个数字的个位数都是3,利用标签输出这20个数的和。 设置按钮标题为“统计”。 设置标签Label1、Label2自动大小属性AutoSize为真。 设置编辑框的只读属性ReadOnly为真。(1)F
24、orm1的Init事件代码:this.label2.visible=.f.this.text1.setfocus(2)控件Command1的Click事件代码:c= &赋空串s=0 &累加和赋初值n=0 &计数器赋初值a=val(alltr(thisform.text1.value) &文本框当前值do whil .t. if n=20 exit endif if a%3=0 and a%10=3 c=c+allt(str(a)+chr(13) n=n+1 s=s+a endif a=a+1enddothisform.edit1.value=cthisform.label2.visible=.
25、t.thisform.label2.caption=这组数字的和=+allt(str(s)thisform.text1.setfocus 19要求:1.编制一个小型文本编辑器,其功能布局见design.jpg;2.文字信息从键盘输入至Edit框;3.三个单选按钮分别用于设置“宋体”、“黑体”和“隶书”;4.三个Check按钮用设置字体的“倾斜”、“加粗”和“下划线”;5.字号用微调控件实现。 设置表单标题为“自制文本编辑器”。 设置标签Label1自动大小属性AutoSize为真,并改变其字号及颜色。 设置标签Label2的Caption属性为“字号”。 设置选项组按钮和复选框的标题大小。 设置微调控件Spinner1的SpinnerHighV
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1