VFP实验61利用输出类控件设计表单实验62利用输入类控件设计表单实验63 利用控制类控件设计表单.docx
- 文档编号:23593663
- 上传时间:2023-05-18
- 格式:DOCX
- 页数:19
- 大小:479.50KB
VFP实验61利用输出类控件设计表单实验62利用输入类控件设计表单实验63 利用控制类控件设计表单.docx
《VFP实验61利用输出类控件设计表单实验62利用输入类控件设计表单实验63 利用控制类控件设计表单.docx》由会员分享,可在线阅读,更多相关《VFP实验61利用输出类控件设计表单实验62利用输入类控件设计表单实验63 利用控制类控件设计表单.docx(19页珍藏版)》请在冰豆网上搜索。
VFP实验61利用输出类控件设计表单实验62利用输入类控件设计表单实验63利用控制类控件设计表单
实验6-1利用输出类控件设计表单
一、实验目的
理解和掌握输出显示类控件标签(Label)、图像(Image)、线条(Line)和形状(Shape)。
等的使用,熟练掌握Alignment、AutoSize、Left、Top、Height、Width、ForeColor、BackColorCaption、Curverture、Value、Visible、WordWrap、Picture、Interval等属性;能恰当地为Init、Timer、Click等事件编写代码;准确地运用Refresh、Release等方法和Messagebox()、RGB()函数。
二、实验准备
复习本章的第1节内容,重点掌握上面提到的对象、属性、事件、方法和函数的概念及使用,注意观察例题的设计过程及方法。
三、实验内容
1.设计一个由标签、文本框、图像、形状等控件实现的显示信息界面,如图6-72、6-73所示。
要求:
图像用三维的立体形状框住,诗用标签16号隶书蓝底白字竖行显示,各对象的大小调整到协调即可。
图6-72运行界面图6-73设计界面
2.运用文本框和计时器对象设计一个数字时钟表单,界面见图6-74、图6-75。
要求:
文本框文字为隶书、30号字,表单的标题为“数字时钟”,每隔1秒钟刷新一次时间。
图6-74设计界面图6-75运行界面
3.设计一个圆球跳动表单。
要求:
球的宽和高为60,球的填充颜色为咖啡色,表单的标题为“圆球跳动”,按“开始”,球每隔0.5秒在表单的上下边之间跳动,按“停止”,球停止跳动。
设计界面和运行界面见图6-76、图6-77。
图6-76设计界面图6-77运行界面
4.编制一个表单完成表文件“职工.dbf”内容的自动只读浏览显示功能,设计界面和运行界面如图6-78、图6-79所示。
具体要求如下:
①表单初始显示内容为表文件“职工.dbf”的首记录;②表单内容将以1秒为间隔自动刷新,即自动顺序向后翻记录,当翻至表底时,将自动回到首记录循环翻动。
图6-78职工表自动浏览表单设计界面图6-79职工表自动浏览表单运行界面
5.编制一个显示时钟和日期的表单,界面如图6-80、图6-81、图6-82所示。
命令按钮及文本框的字体、颜色和大小设置为自己喜欢的形式。
图6-80设计界面图6-81时间显示界面图6-82日期显示界面
四、实验6-1报告
1.实验过程报告
(1)写出第2题“数字时钟”表单的Init事件和Timer事件的代码。
thisform.text1.value=LEFT(TIME(),2)+"时"+SUBSTR(TIME(),4,2)+"分"+SUBSTR(TIME(),7,2)+"秒"
thisform.Refresh
(2)写出第3题“圆球跳动”表单的Timer事件的代码。
IFthisform.shape1.Top=0
thisform.shape1.Top=thisform.Height-thisform.shape1.Height
ELSE
thisform.shape1.Top=0
ENDIF
thisform.refresh
(3)写出第4题“职工表自动只读浏览”表单的Timer事件的代码。
SKIP
IFEOF()
GOtop
ENDIF
thisform.Refresh
2.简答题
(1)怎样使标签中的文字以竖行的形式显示?
设置WordWrap属性为.T.,再调整标签的大小,使其随边界自动返绕折行。
(2)“圆球跳动”表单的圆球是使用的什么对象?
怎样才能由方圆?
改变球的颜色用的什么属性?
怎样知道球到达了表单的顶部和底部?
形状控件;
点击形状控件,在属性中设置Curvature为99;
到达表单顶部为TOP=0.
到达底部时为thisform.shape1.Top=thisform.Height-thisform.shape1.Height
(3)在文本框中显示文字要用什么属性?
使文本框以只读的方式显示数据要用什么属性?
Value属性
Readonly属性
(4)在什么条件下计时器控件的Timer事件代码才能运行?
Interval属性不为0,Enabled属性为.T.
3.实验完成情况及存在问题。
实验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、InterActiveChangeKeyPress、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用户选择同学后的运行界面
图6-90控件的布局界面
4.编制一个表单,完成对“职工”、“销售”表文件内容的职工销售金额查询显示功能,界面如图6-91至图6-93所示。
具体要求如下:
(1)当用户在组合框输入或选择姓名后,按回车或“确定”按钮时,表单将自动显示对应职工的平均销售额,如果该职工不存在,则显示提示信息。
(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事件代码。
LOCATEFORALLTRIM(姓名)=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("readonly",.T.,"textbook")
thisform.SetAll("visible",.F.,"textbook")
thisform.SetAll("visible",.F.,"label")
thisform.SetAll("visible",.F.,"checkbook")
thisform.label1.Visible=.T.
thisform.Refresh
(4)写出第4题“职工销售额查询”表单中“确定”按钮的Click事件代码。
SELECT职工
LOCATEFORALLTRIM(姓名)=ALLTRIM(bo1.DisplayValue)
IFFOUND()
SELECT销售
AVERAGE金额TOpjjeFOR职工号=职工.职工号
thisform.text1.Value=pjje
ELSE
MESSAGEBOX("输入的姓名不存在!
",48,"错误信息")
ENDIF
bo1.SetFocus
thisform.Refresh
(5)写出第5题“显示矩阵”表单中“显示”按钮的Click事件代码。
N=thisform.text1.Value
thisform.list1.Clear
FORI=1TON
C=""
FORJ=1TON
IFI=JORI+J=N+1
A=0
ELSE
A=1
ENDIF
C=C+STR(A,2)
ENDFOR
thisform.list1.AddItem(C)
ENDFOR
thisform.text1.SetFocus
thisform.Refresh
2.简答题
(1)写出函数:
MessageBox("答错了,再试!
",32+0,"评判结果")各项目的含义。
答:
MessageBox:
对话框"答错了,再试!
":
对话框显示的内容
32+0:
问号图标,焦点在第一个按钮
"评判结果":
对话框的Caption
(2)文本框的显示内容以“*”代替是如何实现的?
答:
thisform.text1.PasswordChar="*"
(3)第1题“手工日历表单”的日期显示为什么要借助文本框,不能直接显示在微调框中?
答:
因为微调控件的功能主要是用来选择或输入一定范围是数值型数据,不能用来直接显示日期型数据,但两者结合就可以显示多种类型的数据了
(4)如果将第4题的“确定”按钮去掉,那么其Click事件代码应放在哪个事件中?
答:
Form1的Init事件
3.实验完成情况及存在问题
实验6-3利用控制类控件设计表单
一、实验目的
理解和掌握命令按钮、命令按钮组、选项按钮组和计时器控件等控制类控件的使用,理解和掌握这些对象的Enabled、ButtonCount、Buttons(i)、Value、ControlSource、Interval等属性,以及InterActiveChange、Timer等事件的使用。
进一步掌握表单的设计技巧,掌握新方法的添加和编辑。
二、实验准备
复习教材第3节的内容,重点复习上述对象的常用属性、事件和方法的使用。
复习新添加属性和方法。
三、实验内容
1、编制一个表单,完成职工表文件内容的只读浏览功能,界面如图6-98、图6-99所示。
要求如下:
(1)表单初始显示内容为表文件“职工.dbf”的首记录;
(2)当按“前翻”“后翻”“首记录”“末记录”按钮时,表单将自动显示相应记录的内容;(3)当翻至表头或表尾时,将自动设置相应按钮为不可访问。
图6-98职工表浏览设计界面图6-99职工表浏览运行界面
2.设计一个标准化模拟考试表单。
界面如图6-100至图6-102所示。
要求:
文字字体、字号任意,当选择答案时,根据对错用Messagebox()函数显示提示信息。
图6-100选择题运行界面图6-101答对对话框图6-102答错正确对话框
3.用命令按钮组设计九种颜色调色板表单,界面如图6-103、图6-104所示。
要求:
文字字体为楷书、12号加粗字,表单的标题为“调色板”,按钮组九个按钮,按三行三列排列,当单击对应的按钮时,按钮组的背景颜色相应改变。
图6-103调色板设计界面图6-104调色板运行界面
4.利用计时器控件设计一个模拟拍球动作的表单。
具体运行界面如图6-105所示。
球的起始位置在表单的顶行中部,表单执行后,球自上而下落下,当球到达表单底部时自动弹回,当球到达顶部时再次自动下落,如此往复弹跳,仿佛有人用手拍打球,直到关闭表单。
(思考1:
如果在下降过程中球体逐渐变大,而在上升过程中球体又逐渐回缩变小,如图6-106所示,如何实现?
思考2:
如果小球从左边升起右边落下,形成一个抛物线,如何实现?
)
图6-105球自上而下落下图6-106球逐渐变大
5.设计一个表单,实现查询并显示指定职工的销售总额,并根据销售总额给出5档业绩评价:
优(≥6000),良(≥4000),中(≥2000),合格(≥1000),不合格(<1000)。
要求不合格的销售总额和业绩档次用红字显示。
具体界面如图6-107、图6-108所示。
图6-107设计界面图6-108运行界面
6.设计一个表单,实现查询并显示指定部门职工的基本工资总额并将数字金额转换为中文大写金额。
具体界面如图6-109、图6-110所示。
图6-109设计界面图6-110运行界面
四、实验6-3报告
1.实验过程报告
(1)写出第2题“判断题”表单选项按钮组的InterActiveChange事件代码。
IFthis.Value=2
MESSAGEBOX("答对了,真棒!
",0+48,"评判结果")
ELSE
MESSAGEBOX("答错了,再试!
",0+32,"评判结果")
ENDIF
(2)写出第4题“拍球”表单计时器Timer事件代码。
IFthisform.SHApe1.Top>=thisform.Height-thisform.SHApe1.Height
thisform.F=1
ENDIF
IFthisform.shape1.Top=0
thisform.F=0
ENDIF
IFthisform.F=0
thisform.shape1.Top=thisform.shape1.Top+1
thisform.shape1.Height=thisform.shape1.Height+1
thisform.shape1.Width=thisform.shape1.Width+1
ELSE
thisform.SHApe1.Top=thisform.SHApe1.Top-1
thisform.SHApe1.Height=thisform.shape1.Height-1
thisform.shape1.Width=thisform.shape1.Width-1
ENDIF
thisform.Refresh
(3)如果用添加新的方法来统计第5题的5档销售业绩,如何编写该方法?
PARAMETERSx
DOCASE
CASEx>=6000
dc="优秀"
CASEx>=4000
dc="良好"
CASEx>=2000
dc="中等"
CASEx>=1000
dc="合格"
CASEx<1000
dc="不合格"
ENDCASE
RETURNdc
(4)如果用添加新的方法来统计第6题的工资总额大写,如何编写该方法?
PARAMETERSx
c1=""
c2=""
m=m*100
i=0
c=SPACE(0)
DOWHILE
N=MOD(m,10)
p1=SUBSTR(c1,2*n+1,2)
p2=SUBSTR(c2,2*i+1,2)
c=p1+p2+c
i+i+1
m=INT(m/10)
ENDDO
RETURNc
2.简答题
(1)如何将第3题的命令按钮组的9个按钮排好并对整齐?
答:
右击编辑,拖动按钮,然后再按格式->对齐
(2)怎样给表单添加新属性,如何给新属性赋初值?
答:
表单->新建属性在新建属性工具栏中输入初值
(3)在什么情况下需要向表单添加新的方法?
怎样给表单加新方法,如何进入新方法的代码编辑状态?
子程序相对独立。
使用菜单命令“表单”->“编辑属性/方法程序”,进入“编辑属性/方法程序”对话框。
(4)怎样使第5题的“查询职工工资总额和业绩档次”表单中的3个方框(Shape对象)设置为三维、透明、置后?
Specialeffect为0-3,backstyle为0-透明,
3.实验完成情况及存在问题。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VFP实验61 利用输出类控件设计表单实验62利用输入类控件设计表单实验63 利用控制类控件设计表单 VFP 实验 61 利用 输出 控件 设计 表单 62 输入 63 控制
链接地址:https://www.bdocx.com/doc/23593663.html