背景:                 
[本书目录] [图书首页] [本书讨论区]  
链接地址:http://www.17xie.com/read-3356.html    注册17xie 一起来写书 实现您的出书梦想!

2.赋值语句

赋值语句是将指定的值赋给某个变量或对象的某个属性。

格式:[Let] 名称=表达式

说明:

1Let表示赋值,通常省略。

2)【名称】是变量或属性的名称。

3)【表达式】可以是VB中任何类型的表达式,但是其类型应以变量名的类型一致,否则会出现【类型不匹配】的错误。

4)赋值语句是先计算表达式的值,然后再赋值给等号左边的变量。

【实例3.4  设计一个程序,交换两变量的值。

在窗体中添加两个标签、两个文本框和一个按钮,界面如图3-11所示。

3-11  程序界面

打开代码编辑窗口,在其中输入如下代码:

Private Sub Command1_Click()

    Dim n As Integer

    n = Text1.Text

    Text1.Text = Text2.Text

    Text2.Text = n

End Sub

分别输入XY的值,然后单击【交换两变量的值】按钮,将XY的值交换,如图3-12所示。

3-12  运行结果

3.加载语句

当需要将某些控件或窗体加载到内存中时,可以使用Load语句。

格式:Load 对象名

说明:

使用Load语句只能加载窗体,但不能显示窗体。

当一个应用程序启动时,会自动加载并显示该应用程序的启动窗体。当一个窗体尚未加载时,对该窗体的任何引用都会自动加载该窗体。

例如:使用Show方法显示窗体时,会首先加载该窗体。

4.卸载语句

当要结束应用程序,或从内存中卸载某些控件或窗体时,可以使用Unload语句。

格式:Unload 对象名

说明:

1)【对象名】是要卸载的控件或窗体的名称,可用Me来表示当前所在的窗体对象。

2)在卸载窗体前,会引发QueryUnload事件,然后是Unload事件。在其中任意事件过程中,将参数Cancel设置为True,则可以防止窗体被卸载。

5.暂停语句

暂停语句用来暂停程序的执行,作用类似于【运行】菜单中的【中断】命令。

格式:Stop

说明:

Stop常用于程序调试,用它来设置断点,当Stop语句执行时,会中断程序运行,并自动打开立即窗口,方便用户对程序代码进行检查和调试。

6.结束语句

结束语句用来结束一个应用程序的执行,即强迫中止应用程序,卸载该程序中的所有窗体,凡是由Open语句打开的文件将被关闭,并且释放程序所占用的内存。

格式:End

说明:

End语句不调用UnloadQueryUnload、或Terminate事件或任何其它Visual Basic代码,只是强制终止代码的执行。在执行时,End语句会重置所有模块级别变量和所有模块的静态局部变量。若要保留这些变量的值,改为使用Stop语句,则可以在保留这些变量值的基础上恢复执行。

3.3  数据的输入与输出

一个计算机程序通常分为输入、处理和输出三部分。计算机通过输入操作接收数据,然后对数据进行处理,将处理完的数据以各种方式输出提供给用户。本节主要介绍程序中数据输入与输出的操作。

3.3.1  数据的输入

VB中,数据输入主要靠键盘和鼠标来完成。而对应的事件过程主要分为键盘的KeyDownKeyUpKeyAscii,及鼠标的MouseDownMouseUpMouseMove。下面分别进行讲解。

 

1.键盘事件

在大多数应用程序中,对于接受文本输入的控件,如:文本框、简单组合框和下拉组合框等,需要控制和处理输入的文本,而键盘输入目前仍是主流,所以常常就需要对键盘事件进行编程。

KeyDownKeyUpKeyPress键盘事件只用于能够获得焦点的对象,如窗体、文本框、命令按钮、选项按钮、复选框、组合框、列表框、图片框和滚动条等控件。对于窗体,仅当它上面没有可视和有效的控件或KeyPreview属性被设置为True时才能接收这些事件。

1KeyDownKeyUp事件

当用户按下键盘上的任意一个键时,就会触发焦点对象的KeyDown事件;当释放该按键,就会触发KeyUp事件。

格式:

Private Sub 对象名_KeyDown(KeyCode As Integer, Shift As Integer)

Private Sub 对象名_KeyUp(KeyCode As Integer, Shift As Integer)

说明:

l          KeyCode参数是用户按下的那个键的扫描码(键盘上的每一个按键都一个扫描码,且各自不同),该码以【键】为准,它不同于KeyPress事件中的KeyAscii参数(以【字符】为准)。例如:大小写字母【A】和【a】用的是同一个键,所以它们的扫描码相同,即KeyCode相同,而Ascii码不同(【A】是65、【a】是97),即KeyAscii不同。因此,往往只能通过KeyCode参数了解用户按下键盘上的哪个键(不是字符)。

l          Shift参数是ShiftCtrlAlt三个转换键目前的状态信息,往往可以通过此参数的值了解上述三个转换键按下的情况。Shift参数是一个是位域,它用最少的位响应SHIFT键(位0)、CTRL键(位1)和ALT键(位2)。这些位分别对应于值124。具体的取值请见表3-12所示。

3-12  Shift参数的取值

十进制

二进制

转换键按下情况

0

000

没有按下转换键

1

001

只按下Shift

2

010

只按下Ctrl

3

011

按下Ctrl+Shift

4

100

只按下Alt

5

101

按下Alt+Shift

6

110

按下Alt+Ctrl

7

111

按下Alt+Ctrl+Shift

l          KeyDownKeyUp用两种参数解释每个字符的大写形式和小写形式。虽然KeyDownKeyUp事件可应用于大多数键,它们最经常地还是应用于:扩展的字符键(如功能键)等、定位键、键盘修饰键和按键的组合、区别数字小键盘和常规数字键。

l          命令按钮的Default属性设置为True时,ENTER键不能引用KeyDownKeyUp事件;命令按钮的Cancel属性设置为True时,ESC键不能引用KeyDownKeyUp事件;Tab键不能引用KeyDownKeyUp事件。

【实例3.5  编写程序,利用KeyDownKeyUp事件显示按下和释放转换键情况,。

打开代码编辑窗口,在其中输入如下代码:

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

    If Shift = 1 Then Print "按下Shift"; KeyCode

    If Shift = 2 Then Print "按下Ctrl"; KeyCode

    If Shift = 3 Then Print "按下Ctrl+Shift"; KeyCode

    If Shift = 4 Then Print "按下Alt"; KeyCode

    If Shift = 5 Then Print "按下Alt+Shift"; KeyCode

    If Shift = 6 Then Print "按下Alt+Ctrl"; KeyCode

    If Shift = 7 Then Print "按下Alt+Ctrl+Shift"; KeyCode

End Sub

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

    Print "释放"; KeyCode

End Sub

运行程序后结果如图3-13所示。

3-13  程序运行结果

2KeyPress事件

当用户按下和松开一个能产生Ascii码的键时发生KeyPress事件。该事件被触发时,被按键的ASCII码将自动传递给事件过程的KeyAscii参数。在程序中,通过访问该参数,可得知用户按下了哪一个按键,并可对字母大小写进行识别。

格式:Private Sub 对象名_KeyPress(KeyAscii As Integer)

说明:

其中,参数KeyAscii就是该过程接受到的按键的Ascii码。例如:按下大写字母【B】,KeyAscii的值为66;按下小写字母【b】,KeyAscii的值为98。改变keyascii参数的值会改变所显示的字符。

在键盘上的按键并非都能产生Ascii码,如:方向键←、→、↑、↓、功能键F1F12

字数:4178    最后更新:1年以前 [09-06 00:24]我爱钱 修改
本页编辑者:我爱钱  
[前一页]:第三章  [后一页]:第三章
[在本页中加入书签] [收藏本书] [推荐本书]
  17xie论坛 > 本书讨论区 > 本页评论   (共0条)
发表评论

用户名称 匿名发表
评论内容
验证码

关于我们 | 版权声明 | 免责声明 | 诚聘英才 | 联系我们 | 合作伙伴 | 友情链接 | 广告合作 | 提交意见
Copyright © 2007 17xie.com 互联网协同写书平台 京ICP备08002671号