VFP无表表单.docx

上传人:b****6 文档编号:5773018 上传时间:2023-01-01 格式:DOCX 页数:18 大小:320.60KB
下载 相关 举报
VFP无表表单.docx_第1页
第1页 / 共18页
VFP无表表单.docx_第2页
第2页 / 共18页
VFP无表表单.docx_第3页
第3页 / 共18页
VFP无表表单.docx_第4页
第4页 / 共18页
VFP无表表单.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

VFP无表表单.docx

《VFP无表表单.docx》由会员分享,可在线阅读,更多相关《VFP无表表单.docx(18页珍藏版)》请在冰豆网上搜索。

VFP无表表单.docx

VFP无表表单

上机程序设计题(无表表单部分)

VisualFoxpro语言设计题目如下,单击“回答”按钮,进行考试。

在考生文件夹的Paper子文件夹中有界面文件Design.jpg。

请设计程序,编制表单,在Paper子文件夹中生成Design.scx文件。

注意:

以默认方式命名控件,以从左至右,从上向下的顺序拖放控件。

1.要求:

1.编制一个按钮组调色板;

2.当用户按了命令按钮组中的某个按钮后,表单的背景色就会变为按钮指定的对应颜色。

Ø设置表单标题为“按钮组调色板”。

Ø设置命令按钮组中的按钮(右击按钮组,选“生成器”)

(1)表单Form1的Init事件代码:

(其它属性均已在属性窗口中设置)

this.backcolor=rgb(255,0,0)

(2)命令按钮组CommandGroup1的Click事件代码:

docase

casethis.value=1

thisform.backcolor=rgb(255,0,0)

casethis.value=2

thisform.backcolor=rgb(0,255,0)

casethis.value=3

thisform.backcolor=rgb(0,0,255)

casethis.value=4

thisform.backcolor=rgb(0,0,0)

casethis.value=5

thisform.backcolor=rgb(255,255,255)

endcase

2.要求:

1.编制一个按钮组调色板;

2.当用户按了命令按钮组中的某个按钮后,命令按钮组的背景色就会变为按钮指定的对应颜色。

Ø设置表单标题为“按钮组调色板”。

Ø设置命令按钮组中的按钮。

(1)表单Form1的Init事件代码:

(其它属性均已在属性窗口中设置)

mandgroup1.backcolor=rgb(255,0,0)

(2)命令按钮组CommandGroup1的Click事件代码:

docase

casethis.value=1

this.backcolor=rgb(255,0,0)

casethis.value=2

this.backcolor=rgb(0,255,0)

casethis.value=3

this.backcolor=rgb(0,0,255)

casethis.value=4

this.backcolor=rgb(0,0,0)

casethis.value=5

this.backcolor=rgb(255,255,255)

endcase

3.要求:

1.编制一个选项按钮组调色板;

2.当用户按了某个选项按钮后,表单的背景色就会变为按钮指定的对应颜色。

Ø设置表单标题为“选项按钮组调色板”。

Ø设置选项按钮组中的按钮(生成器)

(1)表单Form1的Init事件代码:

this.backcolor=rgb(255,0,0)

(2)OptionGroup1的Click事件代码:

docase

casethis.value=1

thisform.backcolor=rgb(255,0,0)

casethis.value=2

thisform.backcolor=rgb(0,255,0)

casethis.value=3

thisform.backcolor=rgb(0,0,255)

casethis.value=4

thisform.backcolor=rgb(0,0,0)

casethis.value=5

thisform.backcolor=rgb(255,255,255)

endcase

4.要求:

1.编制一个选项按钮组调色板;

2.当用户按了某个按钮后,选项按钮组的背景色就会变。

Ø设置表单标题为“选项按钮组调色板”。

Ø设置选项按钮组中的按钮。

(1)表单Form1的Init事件代码:

this.optiongroup1.backcolor=rgb(255,0,0)

(2)选项按钮组OptionGroup1的Click事件代码:

docase

casethis.value=1

this.backcolor=rgb(255,0,0)

casethis.value=2

this.backcolor=rgb(0,255,0)

casethis.value=3

this.backcolor=rgb(0,0,255)

casethis.value=4

this.backcolor=rgb(0,0,0)

casethis.value=5

this.backcolor=rgb(255,255,255)

endcase

5.要求:

编制一个选项卡组(页框)调色板,当用户按了某个选项卡(页)后,当前页的背景色就会变为选项卡标题指定的对应颜色。

 

Ø设置表单标题为“选页调色板”。

Ø设置页框中各page的caption属性。

(右击页框后选(编辑)再设置,下同)

Ø分别设置页框中各选项卡的颜色。

Ø将黑选项卡中的标题“黑”的颜色设为白色。

该题可以不写一行代码。

6.要求:

1.编制一个信息显示(时钟)界面,显示当前时间(每秒动态跳动一次);

2.并将表单的背景设置为蓝、绿两色自动变换(与时间同步切换)。

 

Ø设置表单标题为“信息窗”。

Ø设置文本框Text1的Fontsize属性(将其放大)。

Ø设置文本框的的ReadOnly属性为真。

Ø设置计时器Timer1的Interval属性为1000。

(1)表单Form1的Init事件代码:

ifval(right(time(),2))%2=0

thisform.backcolor=rgb(0,255,0)

else

thisform.backcolor=rgb(0,0,255)

endif

this.text1.value=time()

(2)计时器控件Timer1的Timer事件代码:

thisform.text1.value=time()

ifval(right(time(),2))%2=0

thisform.backcolor=rgb(0,255,0)

else

thisform.backcolor=rgb(0,0,255)

endif

7.要求:

1.编制一个表单完成数字时钟显示功能;

2.表单将自动以1秒为间隔动态显示系统时间;

3.时、分、秒要求用汉字说明。

Ø设置表单标题为“数字时钟”。

Ø设置文本框Text1的Fontsize属性(将其放大)。

Ø设置文本框的字体为“隶书”。

Ø设置计时器Timer1的Interval属性为1000。

(1)表单Form1的Init事件代码:

避免运行时文本框空白

thisform.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属性为真。

Ø设置文本框背景和前景色(如设置文字颜色为“白”),大小适当。

(1)表单Form1的Init事件代码:

publicd

setcenturyon

d=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-1

Y=substr(dtoc(d),7,4)

M=substr(dtoc(d),1,2)

R=substr(dtoc(d),4,2)

thisform.text1.value=y+”年”+m+”月”+r+”日”

(3)微调对象Spinner1的DownClick事件代码:

D=d+1

Y=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)表单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.要求:

编制一个日历时钟表单,表单中的日历是当前日期、当前星期,时钟会动态跳动(每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)+"("+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()函数用1~7数字表示星期几,1表示星期日、7表示星期六。

cdow()函数返回英文星期值。

11.要求:

1.编制一个表单完成计时器计数显示功能; 

2.表单初始显示状态为全零“00:

00:

00”;

3.按“计数”按钮,将自动以秒为单位从零开始计数(设:

时的计数属性名为S,分的计数属性名为F,秒的计数属性名为M)并在表单上动态显示,按“停止”按钮将显示最后一刻的计数时间。

 

Ø设置表单标题为“计数器”。

(Form1的Caption属性为“计数器”)

Ø设置文本框Text1的Fontsize属性(将其放大)。

Ø设置计时器Timer1的Interval属性为1000。

Ø新建三个属性thisform.s、thisform.f、thisform.m,分别用来保存“时”、“分”、“秒”。

新属性创建方法:

(“表单”——“新建属性”——输入属性名)

(1)表单Form1的Init事件代码:

thisform.timer1.enabled=.f.&&开始时时钟无效

thisform.text1.value="00:

00:

00"&&文本框置0

store0tothisform.s,thisform.f,thisform.m&&分别给时、分、秒赋初值,如果在属性窗口直接赋值,这里就不需要这句了。

(2)命令按钮Command1的Click事件代码:

thisform.timer1.enabled=.t.

thisform.text1.value="00:

00:

00"

store0tothisform.s,thisform.f,thisform.m

(3)命令按钮Command2的Click事件代码:

thisform.timer1.enabled=.f.

(4)计时器Timer1的Timer事件代码:

thisform.m=thisform.m+1

ifthisform.m=60

thisform.m=0

thisform.f=thisform.f+1

ifthisform.f=60

thisform.f=0

thisform.s=thisform.s+1

endif

endif

s=iif(thisform.s>9,str(thisform.s,2),"0"+str(thisform.s,1))

f=iif(thisform.f>9,str(thisform.f,2),"0"+str(thisform.f,1))

m=iif(thisform.m>9,str(thisform.m,2),"0"+str(thisform.m,1))

thisform.text1.value=s+":

"+f+":

"+m

12.要求:

1.模仿VisualFoxPro中的“新建”对话框,编制一个“新建”表单;

2.当用户选了“表”、“表单”或“程序”任意一项后,就可以自动进入“表设计器”或“表单设计器”或程序编辑窗中。

Ø设置表单标题为“新建”。

Ø“文件类型”为一个标签。

OptionGroup1的Click事件代码:

docase

casethis.value=1

create.dbf

casethis.value=2

createform

casethis.value=3

modicomm

endcase

13.要求:

1.编制一个文字水平动态移动操纵的表单;

2.文字信息(纵向)初始的显示位置在表单的左边,表单执行后,每间隔20毫秒,文字会自动以间隔加1的幅度逐步向表单右边移动,直到文字到达表单最右边缘;

3.然后每间隔20毫秒文字会自动以间隔减1的幅度逐步向表单左边移动,直到文字回复到初始位置;

4.整个过程不间断地来回移动。

Ø设置表单标题为“水平移动的文字”。

Ø设置表单背景色为黄色。

Ø设置标签Label1的颜色、字体、字号及BackStyle(背景风格)为透明。

Ø设置标签Label1的WordWrap属性为真(可以换行显示)。

Ø设置时间间隔为20。

(1)表单Form1的Init事件代码:

publict,left1

t=1

left1=thisform.label1.left

(2)控件Timer1的Timer事件代码:

ifthisform.label1.left>thisform.width-thisform.label1.widthorthisform.label1.left

t=-t

endif

thisform.label1.left=thisform.label1.left+t

14.要求:

1.编制一个文字垂直动态移动操纵的表单;

2.文字信息初始的显示位置在表单的正上方,表单执行后,每间隔20毫秒,文字会自动以间隔加1的幅度逐步向表单正下方移动,直到文字到达表单底部;

3.然后每间隔20毫秒,文字会自动以间隔减1的幅度逐步向表单正上方移动,直到文字回复到初始位置;

4.整个过程不间断地来回移动。

Ø设置表单标题为“垂直移动的文字”。

Ø设置表单背景色为黄色。

Ø设置标签Label1的颜色、字体、字号及BackStyle(背景风格)为透明。

Ø设置时间间隔为20。

(1)表单Form1的Init事件代码:

publict,top1

t=1

top1=thisform.label1.top

(2)控件Timer1的Timer事件代码:

ifthisform.label1.top>thisform.height-thisform.label1.heightorthisform.label1.top

t=-t

endif

thisform.label1.top=thisform.label1.top+t

15.要求:

1.编制一个文字动态缩放操纵的表单;

2.文字信息初始的显示位置在表单的正中央,表单执行后,每间隔20毫秒,文字会自动以字号加1的幅度逐步向周遍延伸变大,直到文字充满整个表单;

3.然后每间隔20毫秒文字会自动以字号减1的幅度逐步向中央回缩变小,直到文字复原为初始的状态;

4.整个过程不间断地缩放(最小字号为:

4,最大字号为:

52)。

Ø设置表单标题为“缩放文字”,设置表单背景色为黄色。

Ø设置标签Label1的颜色、字体、字号及BackStyle(背景风格)为透明。

自动大小属性AutoSize为真,对齐方式属性Alignment=2-中央。

Ø设置计时器时间间隔Interval为20。

(1)表单Form1的Init事件代码:

publict

t=1

thisform.label1.fontsize=4

(2)控件Timer1的Timer事件代码:

thisform.label1.fontsize=thisform.label1.fontsize+t

ifthisform.label1.fontsize=4.or.thisform.label1.fontsize=52

t=-t

endif

16.要求:

1.设计一个表单,接受用户输入的数字,生成相应的矩阵; 

2.文本框内输入一个小于等于10的数字,生成一个相应的对称矩阵,且这个距阵的对角线的数字全部为0,其他的数字为1。

Ø设置标签Label1的WordWrap属性为真(可以换行显示)。

Ø设置编辑框Edit1的ReadOnly属性为真(只读)

命令按钮Command1的Click事件代码:

n=val(thisform.text1.value)&&定义变量n,并赋值为文本框当前值.

dimes(n,n)&&定义数组

c=""&&定义空串

fori=1ton

forj=1ton

ifi=jori+j=n+1

s(i,j)='0'

else

s(i,j)='1'

endif

c=c+""+s(i,j)

endfor

c=c+chr(13)&&chr(13)回车换行

endfor

thisform.edit1.value=c&&在编辑框内显示字符c

thisform.text1.setfocus&&为文本框设置焦点

17.要求:

1.在表单中的三个文本框中分别输入3个数,判别是否能形成三角形,如果是三角形,求出此三角形的面积。

2.判断是否是三角形,可利用:

a+b>c,且c>0;a+c>b,且b>0;b+c>a,且a>0判断。

Ø设置按钮标题为“判断计算”。

Ø设置标签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)/2

thisform.label2.visible=.t.

if(a+b>candc>0)and(a+c>bandb>0)and(b+c>aanda>0)

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)Form1的Init事件代码:

this.label2.visible=.f.

this.text1.setfocus

(2)控件Command1的Click事件代码:

c=""&&赋空串

s=0&&累加和赋初值

n=0&&计数器赋初值

a=val(alltr(thisform.text1.value))&&文本框当前值

dowhil.t.

ifn=20

exit

endif

ifa%3=0anda%10=3

c=c+allt(str(a))+chr(13)

n=n+1

s=s+a

endif

a=a+1

enddo

thisform.edit1.value=c

thisform.label2.visible=.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