vb实习报告 下载本文

内容发布更新时间 : 2024/6/15 11:24:44星期一 下面是文章的全部内容请认真阅读。

1、按照实习指导认真阅读本章内容,验证本章所有例题。按照要求操作并注意设置启动窗体。

2、按照实习指导书给出的如下步骤验证课本中的一段话:“文本框Text属性的值为字符串,如果输入的是数字字串,并要在程序中进行数值加法运算或数值比较时,最好用Val函数将字符串转化为数值类型”。

第一步:添加一个新窗体并设置成启动窗体,在窗体上添加3个文本框,4个命令按钮,如下图所示。

第二步:在窗体的Load事件中为各控件对象设置属性,文本框Text为空,四个命令按钮标题分别为“相加”、“相乘”、“相减”、“相比较”。

第三步:完成按钮代码,如下图所示。

第四步:运行窗体,若在Text1中输入12,Text2中输入6,分别单击4个按钮,先预测,然后进行验证,结果如下图。

第五步:修改代码,将第三步中Text1和Text2的值先用Val进行类型转换,,分析所得结果并验证。

第六步:如上修改代码,在Text1和Text2两个值中,任意只对一个进行类型转换,分析结果并验证。 3、模仿例3-6,用文本框的KeyDown事件测出“A”、“a”、“End”、“5”(主键盘)、“5”(数字键盘)等键的KeyCode码值。能否得出这样的结论:“一个键的KeyAscii值与键本身字符有关,如主键盘的5和小键盘的5 KeyAscii值相同,而KeyCode值与键的位置有关。”代码个结果如下:

Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)

Label1.Caption = \您按的那个键的 KeyCode 值是\End Sub

由以上结果可知“一个键的KeyAscii值与键本身字符有关,如主键盘的5和小键盘的5 KeyAscii值相同,而KeyCode值与键的位置有关。” 这句话是错误的。通过验证不难得出A与a 的keycode是相同的, 。此外一个键的KeyAscii值与键本身字符有关也是不对的A与a的Ascii码值也不相同。

4、自行设计实习,检测如果向一个文本框中输入一个字符时,KeyDown和KeyPress事件谁先被触发。写出检测方案、代码及结果。

检测方案:因为keycode与keyascii分别由keydown和keypress触发,所以将两个事件加载到同一个文本框下,在文本框中输入一个两种操作都能捕捉的的字符,用Print方法的输出结果,若显示keycode值则keydown先触发,若显示Ascii码值则keypress先触发。 代码:

Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) Cls

Print \你按下的键是\e); \ KeyCode为\e End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer) '

Print \你输入的键是\ ASCII码为\End Sub

运行程序敲击键盘上的U键,输出结果如下:

由实验结果不难得出,KeyDown和KeyPress事件同时被触发。

5、在工程中添加一个窗体,将该窗体设置为启动窗体,窗体上添加3个命令按钮,其中,分别写入代码“Form1.Show”、“Form2.Show” 、“Form3.Show”。运行窗体,单击各命令按钮。体会这个窗体的功能。

代码如下所示:

Private Sub Command1_Click() Form1.Show End Sub

Private Sub Command2_Click() Form2.Show End Sub

Private Sub Command3_Click() Form3.Show End Sub

运行程序,点击Command1,Form1窗口显示

点击Command2,Form2窗口随即显示

点击Command3,Form3窗口显示

实习总结:

本次实验通过两次上机课的实习掌握VB语句书写规则,学习并习掌握窗体的主要属性及Load事件的应用,掌握Print方法的输出格式控制,掌握命令按钮和标签的主要属性应用,掌握文本框的主要属性和事件应用、VB程序获得数据及输出结果的基本方法,了解工程管理概念,在前两次实验的基础之上添加、删除窗体文件、设置启动窗体、编译生成EXE文件、运行EXE文件的方法。

但在实验中暴露出一些问题,如在4中截图时最后总是截得Print Screen键的KeyCode码值,最后只能用QQ截图和PrintScreen截图相结合才把图截下来,还有KeyDown和KeyPress事件谁先被触发的实验中,一开始用Label输出的,显示的是KeyAscii值,但和同学讨论后用Print输出就是同时被触发,具体原理还不是很清楚,如果有机会的话希望老师能在课上予以解答。

本次实验难度比前两次明显增大,耗时明显增多,一切都在不断的尝试和摸索中艰难的进行导致直到现在才完成,两节实习并没有完成后来在宿舍完成的,但数个小时的摸索对VB又有了新的认识,也更加熟悉了VB的各种设置和操作的方法,希望在下次实验中能进一步提升实际操作能力,将课上学习的理论付诸于实践。