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.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
本站由北京市万商天勤律师事务所王兴未律师提供法律服务