您好,欢迎来到微智科技网。
搜索
您的当前位置:首页设计题(有答案)

设计题(有答案)

来源:微智科技网


1.

新建如上图所示的表单,要求如下: 1) 表单Form1标题为“图像控件”;

2) 标签Label1标题为“你知道这是什么吗?”,20号,加粗,华文新魏,背景透明,自适应大小; 3) 图像控件Image1高200,宽280,显示的图像来自 “上机任务10”的rice.jpg; 4) 当鼠标指针置于图像上时,能够跳出提示文本“好吃的饭团!” 5) 文件保存为imsh.scx。

2. 新建表单“简易画.scx”,达到下图所示效果,所需控件自己添加设计。

3. 新建表单文件“计时封面.scx”,运行界面如下图所示。设计要求如下:

① 新建表单Form1,标题为“计时封面”,运行时居中,墙纸图形文件为circle.bmp(也可自选一个图形文件)【Picture】; ② 添加一个图像控件,显示图形为狐狸头(fox.Bmp——存放在上机任务文件夹中)【Picture】

③ 添加第一个标签控件Label1,标题为“学生成绩管理系统”,黄色、加粗、斜体、36号、隶书字体,标签背景透明

【BackStyle为1】,大小自动适应内容【AutoSize为.T.】;

④ 添加第二个标签控件Label2,显示当前日期及时间【label2的caption:=ttoc(datetime())】,以黑体、加粗、白

色、24号、自动换行【WordWrap为.T.】、水平居中【Alignment 为2】显示,标签背景透明【Backstyle:0-透明】。

⑤ 添加一个计时器控件Timer1,使标签Label2显示的内容每隔1秒刷新一次。【代码略】

⑥ 再添加一个计时器控件Timer2,使标签Label1的字体颜色每隔1秒随机更换一种颜色。【代码略】

Timer1 代码:thisform.label2.caption=ttoc(datetime()) Timer2 代码:x=int(rand()*255)

y=int(rand()*255) z=int(rand()*255)

thisform.label1.forecolor=rgb(x,y,z)

4. 设计表单,各对象的大小、布局大致如图,用属性窗口或生成器设置属性,要求如下:

1) 表单form1的标题为“小机器人”;

2) 形状控件shape1,shape2为两个相同的大椭圆,曲率99;

3) 形状控件shape3,shape4为两个相同、背景为黑色即RGB(0,0,0)的小椭圆,曲率99,高20,宽30; 4) 标签label1的背景透明,标题为数字“1”,红色即RGB(255,0,0),粗体,字号50,背景透明; 5) 线条Line1为粗细为5的水平黑色直线; 6) 运行保存。

5. 设计表单,各对象的大小、布局

大致如图,用属性窗口或生成器设置属性,要求如下:

1) 表单form1的标题为“学生与学生属性”; 2) Shape1、shape2、shape3均为椭圆形;

3) Label1、label2、label3的标题分别为“学号”(带下划线)、“姓名”、“性别”,大小自动适应内容;

4) 标签label4的标题为“学生”,固定单线外框;

5) 线条控件line1、line2、line3分别为指向label4的直线; 6) 文件保存为DSG101.SCX

6. 修改表单“计时文本框.scx”,实现以下功能:

单击“开始计时”按钮,计时器被激活,文本框的值从0开始每隔1秒自动增加1,且表单的背景绿、蓝两色自动切

换。当文本框的值为奇数时,表单的背景为绿色【rgb(0,255,0)】,为偶数时,表单背景变为蓝色【rgb(0,0,255)】。Timer1的Interval属性已经设置完成,请对“开始计时”按钮和计时器编写事件代码。

注意:     

“停止”按钮功能已具备,无需考生编写代码。

不得新建表单,不得增、删原表单上的控件,不得更改Class属性(类名)和Name属性(对象名)。 Timer1 代码:thisform.text1.value=thisform.text1.value+1 if mod(thisform.text1.value,2)=0 thisform.backcolor=rgb(0,0,255)

    

endif

if mod(thisform.text1.value,2)<>0 thisform.backcolor=rgb(0,255,0) Endif

Command1 代码:thisform.timer1.enabled=.t.(timer1.enabled属性要先设置为.f.)

7. 修改表单“7整除.scx”如上图,(注意:在本题“计算”command1 的click事件中已经存在一部分代码如图)要求在

两线之间完成剩余代码,实现“计算”按钮功能。 Command 代码:for i=1 to 100 if mod(i,7)=0 n=n+1 s=s+i endif

endfor

thisform.text1.value=n thisform.text2.value=s thisform.refresh

8. 修改表单“个位6的和.scx”,实现如下功能:

在文本框Text1中输入一个正整数,单击“计算”按钮,计算从1到该数之间(含该数)个位数是6的整数之和,结

果显示在Text2中。

请限定Text1的输入数不超过3位,编写“计算”按钮的click事件代码。 注意:

         

“退出”按钮功能已经具备,无需考生编写相关代码。

不得新建表单,不得增、删原表单上的控件,不得更改Class属性(类名)和Name属性(对象名)。 Command 代码:s=0

n=thisform.text1.value for i=1 to n if mod(i,10)=6 s=s+i endif endfor

thisform.text2.value=s

9. 修改表单文件“求最大数.scx”,

最大数”命令按钮的click事件代码实现之。 Command 代码:

x=thisform.text1.value y=thisform.text2.value z=thisform.text3.value if x>y

thisform.text4.value=x if thisform.text4.valuethisform.text4.value=y if thisform.text4.value进行完善:单击命令按钮输出最大数,请编写“求

10. 修改表单文件“逆序输出.scx”:

功能是:在文本框1中输入一个字符串,按回车结束输入时(触发Valid事件),将字符串逆序输出在文本框2中。 Text1的valid事件代码: k=thisform.text1.value n=len(thisform.text1.value) s=\"\"

for i=n to 1 step -1 s=s+alltrim(substr(k,i,1))

endfor

thisform.text2.value=s

11. 修改表单“各数字之和.scx”,实现功能:求一个正整数的各位数字之和。运行界面如下左图所示。

Command1 代码: s=0

for i=1 to len(thisform.text1.value) s=s+val(substr(thisform.text1.value,i,1)) endfor

thisform.text2.value=s

text2中显示非空格字符的个数。 command1 代码: s=0

for i=1 to len(thisform.text1.value) if substr(thisform.text1.value,i,1)<>\" \" s=s+1 endif endfor

thisform.text2.value=s

12. 修改表单“calchar.SCX “,如上右图,编写“统计”按钮的代码,实现以下功能:在text1中输入任意一串字符,在

13. 修改表单“查单词.scx”,实现对表Dic.dbf记录的查询功能,要求如下:

输入单词(不区分大小写),单击“中文意思是”按钮后开始查询Dic.dbf,若找到显示该单词的中文意思,否则label2显

示“表中尚无此单词”。

请编写“中文意思是”按钮的事件代码。  

14. 修改表单login2.scx,运行界面如上图,功能如下:

数据环境请自己添加表,如需绑定,请设置相关属性。

不得新建表单,不得增、删原表单上的控件,不得更改Class属性(类名)和Name属性(对象名)。

注意:

在两个文本框中分别输入学号和密码(密码部分只允许输入6位数字,请设置相关属性),单击“确定”按钮,利用stulog.dbf(上右表)验证学号和密码正确与否,若正确,标签label3中显示欢迎信息,否则显示出错信息。请对“确定”按钮编写相应代码。 command1 代码:

select 学号,密码,姓名 from stulog into array x do case

case thisform.text1.value=x(1) and thisform.text2.value=x(2) thisform.label3.caption=\"欢迎\"+alltrim(姓名)+\"同学!\" case thisform.text1.value<>x(1) thisform.label3.caption=\"无此学号\" case thisform.text2.value<>x(2)

thisform.label3.caption=\"密码不正确\" endcase

15. 新建表单“rgb.scx”,用3个微件的值分别作为RGB函数的3个参数值,设置标签的标题文字颜色。

1)标签控件的标题文字为:宋体、24;自动换行、居中,背景透明。

2)微件的值范围为:0—255;控件只显示3 位整数;鼠标单击向上、向下箭头增减幅度为1。 3)当3个微件中任一个发生值改变时,标签控件的标题文字的颜色随之改变。 Spinner1 interactivechange 代码:

thisform.label1.forecolor=rgb(thisform.spinner1.value,thisform.spinner2.value,thisform.spinner3.value) Spinner2 interactivechange 代码:

thisform.label1.forecolor=rgb(thisform.spinner1.value,thisform.spinner2.value,thisform.spinner3.value) Spinner3 interactivechange 代码:

thisform.label1.forecolor=rgb(thisform.spinner1.value,thisform.spinner2.value,thisform.spinner3.value)

16. 创建表单“字体设置.scx”,要求使用“字体”选项按钮组optiongroup1和“颜色”选项按钮组optiongroup2改变“字

体设置”label1的字体和颜色。1) 2) 3)

Label1显示“字体设置”,宋体,背景透明,粗体,自动适应大小,在表单上水平居中; Optiongroup1中的四个选项如图,宋体,粗体,间隔相等,横向排列; Optiongroup2的三个选项如图。 Optiongroup1 click事件 代码:

thisform.label1.fontname=thisform.optiongroup1.value

Optiongroup2.option1 代码:thisform.label1.forecolor=rgb(255,0,0) Optiongroup2.option2 代码:thisform.label1.forecolor=rgb(0,255,0) Optiongroup2.option2代码:thisform.label1.forecolor=rgb(0,0,255)

17. 修改“课程成绩.scx”,利用Grade表和Course表,设计一个按课程名进行查询的表单,界面如图。要求:在选项按钮

组中选中一个课程名,单击“确定”按钮后,显示该课程的最高分、最低分、平均分和选修人数。单击“退出”按钮,

将关闭所有的打开表文件,并退出表单。

(选项按钮组各选项如图,宋体20号,间隔18像素) Command1 代码:

select max(成绩),min(成绩),avg(成绩),count(*) from grade,course;

where grade.课程号=course.课程号 and course.课程名=thisform.optiongroup1.value; into array x

thisform.text1.value=x(1) thisform.text2.value=x(2) thisform.text3.value=x(3) thisform.text4.value=x(4)

18. 修改表单DSG456.SCX,根据表PX.DBF实现以下功能:

1) 选择要生成的表(可以一次选择2张表),单击“完成”按钮,生成相应的表文件;

2) 若选择了“女教师工资表”,将生成由女教师记录组成,按教师号升序排列的表文件PX1.DBF;

3) 若选择了“各系工资汇总表”,将生成按系号汇总基本工资平均值的表文件PX2.DBF(包含系号和平均工资2个字

段)。 编写“完成”按钮的事件代码。

19. 新建表单waterhi.scx,设计如图所示的表单界面(各对象的大小、布局大致如图),要求如下:

(注:该题只能使用属性窗口或生成器的设置实现,无需编写任何代码)

1) 新建表单Form1,标题为“水位变化”,运行时在屏幕居中;

2) 往表单添加一个容器控件Container1,背景为白色rgb(255,255,255); 3) 添加一个属于容器控件的矩形控件shape1,背景蓝色rgb(0,0,255) 4) 添加一个标签控件Label1,标题为“水位高度”,大小自适应;

5) 添加一个微件Spinner1,微调的最大值和最小值分别为100和1(含鼠标和键盘输入),运行初始值为45,增减

幅度单位为5;

6) 完成后以waterhi.scx为文件名保存设计的表单。

20.

修改表单xsys.scx,运行界面如上图,编写“更新”按钮的click代码,要求如下: 1) 将形状控件shape1的颜色更新为三个微件按钮值所表示的颜色;

2) 若三个微调按钮值为255、0、0,将shape1的形状改为正方形(curvature=0); 3) 若三个微调按钮值为0、0、255,将shape1的形状改为圆形(curvature=99)。

Command1 代码: do case

case thisform.spinner1.value=255 and thisform.spinner2.value=0 and thisform.spinner3.value=0

thisform.shape1.backcolor=rgb(thisform.spinner1.value,thisform.spinner2.value,thisform.spinner3.value)

case thisform.spinner1.value=0 and thisform.spinner2.value=0 and thisform.spinner3.value=255

thisform.shape1.backcolor=rgb(thisform.spinner1.value,thisform.spinner2.value,thisform.spinner3.value)

thisform.shape1.curvature=99 endcase

21. 新建表单selpage.scx,设计如下图所示的表单界面(各对象的大小、布局大致如图),要求如下: 1) 2)

新建表单Form1,标题为“页框和页面”,运行时在屏幕居中;

添加一个页框控件,包含3个页面,第1个页面标题为“白”,背景色为rgb(255,255,255);第2个页面标题为“红”,背景色为rgb(255,193,193);第3个页面标题为“绿”,背景色为rgb(210,255,210)。

3) 4) 5) 6)

在第2个页面中添加一个命令按钮command1。

在第3个页面中添加一个形状控件shape1,初始背景色为白色。

对command1按钮编写代码,实现:当点击该按钮时,shape1的背景色变为蓝色。 运行保存为selpage.scx。 Command1 代码:

this.parent.parent.page3.shape1.backcolor=rgb(0,0,255)

22. 建立如图所示的表单,要求如下:

(注:该题只能使用属性窗口或生成器的设置实现,无需编写任何代码) 1) 表单form1的标题为“奖牌查询”,运行时居中;

列表框list1数据源为“6-字段”类型,取自country表的“国家名称”字段; 2) 选项按钮组optiongroup1有3个按钮,标题依次为金牌、银牌和铜牌; 3) 命令按钮command1标题为“查询”; 4) 文件名保存为jpb.scx。

钮时,在text3中输出运算结果。 Command1 代码: do case

case thisform.list1.value=\"+\"

thisform.text3.value=thisform.text1.value+thisform.text2.value case thisform.list1.value=\"-\"

thisform.text3.value=thisform.text1.value-thisform.text2.value case thisform.list1.value=\"*\"

thisform.text3.value=thisform.text1.value*thisform.text2.value case thisform.list1.value=\"/\"

thisform.text3.value=thisform.text1.value/thisform.text2.value endcase

23. 修改表单cal.Scx,界面如上图所示,在text1和text2中输入两个运算数,在list1中选择运算符,点击“等于”按

24. 修改表单addcal.scx,运行界面如上图。通过对“添加并计算”按钮编写代码,实现如下功能:将文本框text1中输

入的字符串添加到列表框list1中,并将该串长度添加到列表框list2中。(注:删除字符串前导和后置空格的功能已经具备,无需考生设置。) Command1 代码:

thisform.list1.additem(thisform.text1.value)

thisform.list2.additem(str(len(thisform.text1.value)))

25. 打开表单gs.scx,利用数据环境中的表GSB.DBF实现以下功能:

1) 左列表框的数据来自表GSB.DBF中的“歌手姓名”字段,允许多重选择(允许多重选择功能已设置); 2) 单击“确认”按钮,将左侧列表中所选择的歌手复制到右侧列表框(右列表框原内容先清空再添入本次选项)。 设置左列表框的数据源及编写“确认”按钮的事件代码。

注意:不得新建表单,不得增、删原表单上的控件,不得更改class属性和name属性; 表单需运行后关闭,否则不得分。 【解题提示:】

步骤1:打开表单gs.scx,进行修改,数据环境中添加表GSB.DBF;

步骤2:分别设置list1和list2的Roesourcetype:0,list1的multiselect属性已经设置为.T.(允许多选); 步骤3:在“确认”按钮添加代码(只需要实现复制功能,即在list2中添加新项,而list1中不必删除); 步骤4:运行保存。 command1 代码:

for i=1 to thisform.list1.listcount if thisform.list1.selected(i)

thisform.list2.additem(thisform.list1.list(i)) endif endfor

26. 设计表单,各对象的大小、布局大致如图,用属性窗口或生成器设置属性,要求如下: 1) 2) 3) 4) 5) 6) 7)

(注:该题只能使用属性窗口或生成器的设置实现,无需编写任何代码) 表单form1的标题为“查找”;

标签label1的标题为“查找内容”,其右侧为组合框combo1; 形状控件shape1为矩形,边框为白色RGB(255,255,255),宽度为2;

矩形框内有两个复选框check1,check2的标题分别为“区分大小写”、“全字匹配”; 标签label2置于矩形左上角,标题为“选项”,大小自动适应,置前; 命令按钮command1标题为“查找下一个”; 运行保存。

27. 修改表单tsxz.scx如上图,利用book1表按图书种类统计该类书的总数量和总金额。 要求如下:

在组合框中选择书的种类(无重复),点击“统计”按钮,则相应的统计数据显示在文本框中。 【解题提示:】

步骤1:在数据环境中添加表:book1

步骤2:通过属性窗口设置combo1显示种类(rowsourcetype:3-SQL,rowsource:略); 步骤3:在统计按钮的click过程添加代码(总金额=单价*数量;SQL语句中使用分组;数组)。 步骤4:运行保存。 Command1 代码:

select count(*),sum(单价*数量) from book1 where 种类=thisform.combo1.value into array x thisform.text1.value=x(1) thisform.text2.value=x(2) combo1 resource 代码:

select distinct 种类 from book1(写在属性窗口里)

28. 打开表单bmhcxsj.scx,界面如图,利用两张表bmdm和work,实现按部门查询该部门职工的工号、姓名、职称与所在的

部门名。要求如下:

1) 组合框的数据源为bmdm表的“部门号”字段;

2) 选中组合框中一项,列表框则自动显示该部门所有职工的工号、姓名、职称和所在的部门名。 【解题提示:】

步骤1:打开表单bmhcxsj.scx,进行修改,在数据环境中添加两张表 bmdm,work; 步骤2:选中组合框combo1,右键调出生成器,设置字段部门号; 步骤3:选中列表框list1,通过属性窗口设置如下:

a) b) c)

Columncount:4 &&列数为4 Roesourcetype:3-SQL语句

Rowsource不在属性窗口设置,在代码中设。

步骤4:在combo1的interactivechang过程添加代码(略) 步骤5:运行保存。

combo1 interactivechange代码:thisform.list1.rowsource=\"select 工号,姓名,职称,部门号 from work where work.部门号=bmdm.部门号 and 部门号=thisform.combo1.value into cursor xx\"

29. 设计如图所示表单运行界面,用表STU.DBF和SCORE.DBF实现按学号查询其各门课程的成绩。要求如下: (注:该题只能使用属性窗口或生成器的设置实现,无需编码) 1) 表单Form1标题为“学生成绩浏览”,背景黑色;

表格grdStu数据源为STU表的xh、xm、zy字段,标题分别为“学号”、“姓名”、“专业”,只读; 2) 表格grdScore数据源为Score表的学号、课程号和成绩字段,只读; 3) 若选中grdStu的某一行,在grdScore中将显示该生的课程号和成绩; 4) 文件运行保存为XXCJLL.scx。

30. 设计如图所示的表单运行初始界面(各对象的大小、布局大致如图),实现按部门查询职工的工号、姓名、部门号,要

求如下:

(注:该题只能使用属性窗口或生成器的设置实现,无需编写代码)

1) 2)

新建表单Form1,背景色为纯蓝,即RGB(0,0,255)

往表单添加一个标签控件Label1,标题为“请选择部门”,背景透明,文字白色即RGB(255,255,255),大小自适应内容; 3) 4) 5) 6)

31. 利用人事信息表rsdan.dbf和部门信息表depart.dbf,设计如图的表单运行界面(各对象的大小、布局大致如图),要

求如下:

添加一个组合框控件Combo1,数据源为bmdm表的字段“部门号”;

添加一个表格控件grdWork,数据源自左到右为Work表的工号、姓名、部门号,grdWork为只读; 当选中combol的某一项时,表格grdword则自动显示该部门所有的工号、姓名、部门号; 完成后以lookfor.scx为文件名保存所设计的表单.

1) 新建表单Form1,标题“登入”;

2) 添加一个表格控件GrdRsdan,各列自左向右分别显示表rsdan.dbf中的姓名、性别、部门和工资;

3) 部门列当前控件为组合框控件,组合框名为Combo1,组合框中数值的源类型为:字段,数据值的源为depart.dbf中的

“部门名”;

4) 添加一个命令按钮Command1,标题为“添加”; 5) 完成以后以inputw.scx为文件名保存设计的表单。

32. 打开表单dsc12.scx,利用数据环境中的表spdmb和xsb实现如下功能: 1) 选项按钮组初始选中“超级MP4”,界面如图左;

2) 在选项按钮组中选择商品名称,单击“统计”按钮,显示该商品各年度的总利润,运行界面如上图右; 设置选项按钮组属性及编写“统计”按钮的代码。 注意:“退出”按钮功能已经实现,无需考生编写代码。

不得新建表单、不得增删原表单上的控件,不得更改class属性和name属性。 表单需运行后关闭,否则不得分。

33. 打开表单DSC202.SCX,根据表CUSTM.DBF实现如下功能: 1) 2)

选项按钮组初始选中“按用户名升序”,界面如左上图;

在选项按钮组中选择“按用户名升序”或“按联系人降序”后,单击“确定”按钮后,在表格中分别显示按用户名升

序和按联系人降序的记录; 3)

请设置选项按钮组的属性及编写“确定”按钮的事件代码。

设置左列表框的数据源及编写“确认”按钮的事件代码。

注意:不得新建表单,不得增、删原表单上的控件,不得更改class属性和name属性; 表单需运行后关闭,否则不得分。

34. 打开表单adds.scx,运行界面如上图,对复选框及“计算”按钮编写代码实现表sp.dbf的记录计算功能。要求如下: 1) “允许计算”复选框选中时,激活“计算”按钮;如未选中,“计算”按钮处于非激活状态; 2) 点击“计算”按钮,统计各商品金额。

Check1 代码:

if thisform.check1.value=1 thisform.command1.enabled=.t. endif

if thisform.check1.value=0 thisform.command1.enabled=.f. endif

command1 代码:

update sp set 金额=单价*数量 thisform.refresh

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 7swz.com 版权所有 赣ICP备2024042798号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务