实验6-2利用输入类控件设计表单
一、实验目的
熟悉文本框(TextBox)、编辑框(EditBox)、列表框(ListBox)与组合框(ComboBox)、微调(Spinner)等输入类控件的使用,理解和掌握这些对象的常用属性:Value、
ControlSource、DateFormat、InputMask、Format、ReadOnly、SelectOnEntry、PassWordChar、RowSourceType、RowSource、ListCount、List(i)、ListIndex、ColumnCount、DisplayValue、Sorted、visible,常用事件: When、GotFocus、Valid、LostFocus、InterActiveChange KeyPress、DownClick和UpClick,以及常用的SetFocus、AddItem、RemoveItem、Clear等方法的使用。能利用输入类控件进行表单设计。
二、实验准备
复习本章的第2节内容,重点掌握上面提到的对象、属性、事件和方法的概念及使用,特别要注意某些属性、方法只是针对某个或某些控件有效的。
三、实验内容
1.设计一个完成口令判定功能的表单,界面如图6-83到图6-85所示。具体要求如下:(1)用户从键盘输入口令时,表单的显示控件以“*”代替具体内容;(2)系统的口令是表文件“职工.dbf”的姓名,要求完全匹配;(3)输入口令后,按回车或按“确定”按钮,将自动显示信息框(Messagebox),提示“正确!”或“错误!”;(4)按“退出”按钮将自动关闭该表单。
图6-83口令表单运行界面 图6-84 输入正确对话框 图6-85 输入错误对话框
2.借助于文本框和微调框编制一个手工日历表单,界面如图6-86、图6-87所示。要求日期以中文的方式居中显示,显示的字体为宋体、26号加粗字。
图6-86 手工日历设计界面 图6-87 手工日历运行界面
3.编制“职工”表信息查询界面,要求如图6-88、图6-89、图6-90所示。要求:查询与用户指定的学生姓名相匹配的记录,并显示指定学生的所有信息。
图6-88 用户选择前的运行界面 图6-89 用户选择同学后的运行界面
4.编制一个表单,完成对“职工”、“销售” 表文件内容的职工销售金额查询显示功能,界面如图6-91至图6-93所示。具体要求如下:(1)当用户在组合框输入或选择姓名后,按回车或“确定”按钮时,表单将自动显示对应职工的平均销售额,
图6-90 控件的布局界面
如果该职工不存在,则显示提示信息。(2)按“退出”按钮时,自动关闭表单。
图6-91 销售金额查询设计界面 图6-92 销售金额查询运行界面 图6-93 输入错误对话框
5.设计一个表单,能在编辑框中输出一个对角线为0其余为1的一个矩阵,设计界面及运行界面如图6-94、图6-95所示。
图6-94显示矩阵设计界面 图6-95 显示矩阵运行界面
6.设计实现数据在列表框之间转移操作的表单。要求:能把左边列表框选定的数据项移到右边列表框,也能把右边列表框选定的数据项移到左边列表框,列表框的信息应排序。初始运行界面和操作后的界面分别如图6-96、图6-97所示。
图6-96 数据转移操作设计界面 图6-97 数据转移操作运行界面
四、实验6-2报告
1.实验过程报告
(1)写出第1题“口令”表单中“确定”按钮的Click事件代码。
LOCATE FOR ALLTRIM(姓名)=ALLTRIM(thisform.text1.Value ) if!EOF()
MESSAGEBOX(\正确!\ELSE
MESSAGEBOX(\错误!\ENDIF
thisform.text1.SetFocus
thisform.Refresh
(2)写出第2题“手工日历”表单中微调按钮的UpClick事件代码。
thisform.text1.Value=thisform.text1.Value+1 thisform.Refresh
(3)写出第3题“职工信息查询”表单中的Init事件代码。
thisform.list1.RowSourceType = 6
thisform.list1.RowSource =\职工ZG.姓名\thisform.SetAll(\thisform.SetAll(\thisform.SetAll(\
thisform.SetAll(\thisform.label1.Visible= .T. thisform.Refresh
(4)写出第4题“职工销售额查询”表单中“确定”按钮的Click事件代码。
SELECT 职工
LOCATE FOR ALLTRIM(姓名)=ALLTRIM(thisform.combo1.DisplayValue) IF FOUND()
SELECT 销售
AVERAGE 金额 TO pjje FOR 职工号=职工.职工号 thisform.text1.Value=pjje
MESSAGEBOX(\输入的姓名不存在!\错误信息\
ELSE ENDIF
thisform.combo1.SetFocus thisform.Refresh
(5)写出第5题“显示矩阵”表单中“显示”按钮的Click事件代码。
N=thisform.text1.Value thisform.list1.Clear FOR I=1 TO N
C=\
FOR J=1 TO N
IF I=J OR I+J=N+1
A=0 A=1 ELSE ENDIF
相关推荐: