首页
社区
课程
招聘
[旧帖] [原创]VB视频的一些笔记(待续) 0.00雪花
发表于: 2010-1-21 18:57 1850

[旧帖] [原创]VB视频的一些笔记(待续) 0.00雪花

2010-1-21 18:57
1850
第一章 Visual Basic程序开发环境
一、多重选择题
1.下面哪些内容是VB6.0的特点:(ABCD)
A可视化程序设计
B面向对象的程序设计方法
C时间驱动的编程机制
D结构化程序设计
2.VB6.0有哪些版本:(BCD)
A Home版
B学习版
C专业版
D企业版
3.可以用下面哪些方法来退出VB6.0:(ABCD)
A“文件”菜单中的“退出”命令
B单击标题栏右上角的“关闭”按钮
C ALT+F4
D ALT+Q
二、单选题
1.在正确的安装VB6.0后,可以通过多种方式启动VB。以下方式中,
  不能启动VB6.0的是:(D)
A通过“开始”菜单中的“程序”命令
B通过“我的电脑”找到VB6.exe '双击该文件名
C通过“开始”菜单中的“运行”命令
D进入DOS方式,执行VB6.exe
2.为了用键盘打开菜单和执行菜单命令,第一步应按的键是:(A)
A Alt
B shift+功能键F4
C Ctrl或功能键F8
D Ctrl+Alt
3.VB6.0集成环境的主窗口不包括:(C)
A标题栏
B菜单栏
C状态栏
D工具栏
4.VB窗体设计器的主要功能是:(B)
A编写源程序代码
B建立用户界面
C画图
D显示文字
三、判断题
1.VB6.0可以开发DOS以下的应用程序(B)
A.是            B.非
2.VB中,工程文件的扩展名为.vbp,而窗体文件的扩展名为.frm(A)
A.是            B.非
3.VB6.0中的工具栏有两种形式,分别为固定形式和浮动形式。(A)
A.是            B.非   
如果BorderSTYPE为2,Maxbutton为FALSE,可以禁止窗体最大化  
+chr(13)+chr(10) &
字符串要用双引号扩起来。
然后后面紧接着又输出一个字符串。所以要用边接符。 &
Text1.ForeColor = vbRed '设置文本框字体颜色为红色
ForeColor 文本颜色  backColor 背景颜色
Text的属性设置下: MultiLine 设置True Scrollbars 设置2
第二章 对象及其操作(一)
一、对象(1)Visual Basic的对象
1、什么是对象
VB中,对象是具有特殊属性和行为方式的实体。窗体和工具箱里面的控件
就是VB中的对象。
工具箱里面的所有控件都是对象。
当然VB中的对象不止这些,VB的对象分为两类,一类是由系统设计好的,
让我们直接拿出来就可以用的,例如工具箱里的控件,而另一类是由我们
自己定义的,需要我们手上编写代码来实现。
2.对象的属性:是指对象的特征、特性。
设置对象属性的第一种方法:通过属性窗口来设置。
Caption属性就是用来设置按钮上的文字
设置对象属性的第二种方法:通过编写代码来设置。其格式为:
对象名.属性名称=属性值  例如:汽车.时速=120公里
command1.caption="确定"
这句代码的意思就是说把“确定”这两个字赋给按钮command1的captiom(标题)属性
进入编程界面
例:Private Sub Form_Load()
    command1.Caption="确定"
    End Sub
二、对象(二)对象属性设置
3.对象的事件
是由VB预先定义好的,能够被对象识别的动作。其格式为:
private sub 对象名称_事件名称()
。。。事件响应代码。。。
end sub
如:Private Sub Form_Load()
    command1.Caption="确定"
    End Sub
在这个格式里面
第一行用来标志一个对象事件的开始。
第二行是事件的响应代码
第三行是这个事件过程的结尾部分
“对象名称”指的该对象的name属性;“事件名称”是由VB事先定义好的事件,而这些事件
都是对象所有识别的,至于一个对象可以识别哪些事件,我们无须操心,因为我们在建立了一个对象(窗体或控件)后,Visual Basic会自动产生与该对象相匹配的事件,并在事件下拉列表中显示出来供编程人员选择,具体用法将在以后介绍。
在我们这个例子当中,对象名称为form(即窗体),事件名称为load(加载)。其意思就是:
当窗体form加载(load)的时候,把“确定”这两个字变为command1按钮的caption(即标题)。
当我们运行这个程序时,窗体的“加载”事件就被触发了,也就触发了command1.captiom=“确定”这段响应代码。所以这行代码的实际效果只能在运行阶段看出来。
4.对象的方法:就是对象可以执行的动作。其格式为:对象.方法
例如:颜色,高度,速度等是是汽车属性,那踩油门、刹车就是它的事件,而运动和停下就是它的方法
print是VB中的一个方法,用来在指定的对象设备输出信息。例如:form1.print“你好”(如果是在本窗体上输出文字的话,前面的forml可以省略),用于在窗体form1上输出“你好”两个字。
例:Private Sub Command1_Click()
    print“你好,欢迎您!”  <这里最前面省略了“form1.”完整格式应该是:“form1.print”
    End Sub
三、窗体(1)
BackColor(背景颜色):该属性主要用于设置窗体的背景颜色
其颜色值为十六进制常量
在设计阶段,我们可以通过<BackColor>右边的下拉菜单里的“调色板”为其点选一种颜色值。
窗体名.BackColor=颜色值
其中“颜色值”可以有以下几种格式:
1、十六进制。例如&H000080FF&
如:Private Sub Form_Load()
  form1.BackColor=&h000000ff&
  End Sub
2、颜色英文常量,例如红色:VBred
如:Private Sub Form_Load()
    form1.BackColor=vbred
    End Sub
设置方式很简单,只需要把一种颜色的英文前加上“VB”即可以了。如:VBred:红色;VBblue:
蓝色;VBgreen:绿色;VBwhite:白色;VBblack:黑色;VByellow:黄色...
3、QBColor(),其中括号内可以是0——15之间的任意整数。例如:QBColor(2)
如:Private Sub Form_Load()
    form1.BackColor=QBColor(3)
    End Sub
4、RGB(0,0,0——255,255,255)。
如:Private Sub Form_Load()
    form1.BackColor=RGB(235,105,123)
四、窗体(2)
BorderStyle(边框类型):该属性用来确定窗体边框的类型。可以取6个值;
0——窗体无边框
1——固定单边框。运行后,不能用鼠标拖动的方式调整窗体大小。
2——(默认值)标准的Windows窗口边框.运行后,窗体有最大化和最小化按钮.窗体大小可变,可用来鼠标拖动改变其大小.
3——固定对话框。没有最大化和最小化按钮。运行后,不能用调整其大小。
4——固定工具窗口。运行后,窗体大小不能改变,只显示关闭按钮,标题栏字体变小。
5——可变大小工具窗口。运行后,窗体大小可以改变,只显示关闭按钮,标题栏字体变小。
设为“0”,窗体就没有了边框。
设为“1”(固定单边框)时,运行后,不能用鼠标拖动其边框线的方法来调整窗体大小。
设为“2”(默认值)时,窗体拥有一个标准的windows窗口的边框。运行后,其窗体大小可以用
鼠标调整。
设为“3”(固定对话框)时。运行后,没有最大化和最小化按钮。窗体大小不能改变。
设为“4”(固定工具窗口)时,运行后,窗体大小不能改变,只显示关闭按钮,并且标题栏文字变小。
设为“5”(可变大小工具窗口)时:运行后,除了窗体大小可以调整外,其余与“4”相同。
第二章 对象及其操作(二)
五、窗体(3)
Caption(标题):用来设置窗体标题栏文字,即可在属性窗口设置,也可在事件过程中用代码设置。
如果用代码编写的话,其格式这样的:窗体名.Caption=字符串
如:Private Sub Form_Load()
    Form1.Caption=“这是一个例子”
  End Sub
运行后,窗体上的标题栏文字就变为了我们在代码中设置的“这是一个例子”。
ControlBox(控制框,又叫控制菜单),该属性用来设置窗口控制菜单的状态。只能为True(真)或False(假)两个值。
其中True为显示控制菜单,False为不显示控制菜单。
设为False,就不显示控制菜单
设为True时,就显示控制菜单
Enabled(允许):该属性用于激活或禁止窗体。取值只能是true(真)或(假)。其中True是激活窗体,False是禁用窗体(既是让窗体不响应任何操作)。可通过属性窗口设置,也可通过代码设置。
代码格式为:窗体名.Enabled=True或False  
Private Sub Form Load()
Fom1.Enabled=False        ←这就是让窗体Form1停止响应用户操作的代码。
End Sub  
六、窗体(4)
Font(字体):该属性用于设置在窗体上输出文字的各种特征,包括字体、大小等。
ForeColor(前景颜色):该属性用来定义文本或图形的前景颜色,其设置方法与BackColor(背景颜色)相同。该属性通常和Font(字体)属性结合使用。
Height(高度):该属性用于指定窗体的高度。其单位是twip。1twip是1/1440英寸(twip是一种与屏幕分辨率无关的计量单位,无论在什么屏幕上,如果画了一条1440twip的直线,打印起来都是1英寸。这种计量单位可以确保在不同的屏幕上保持正确的相对位置或比例关系)。
该属性主要用于精确调整窗体高度。程序代码格式:窗体名.Height=数值
例如:Private Sub Form_Load()
      form1.Height=6000
      End Sub
width(宽度):该属性用于设置窗体的宽度。其设置方法与Height设置完全相同。
lcon(图标):该属性用于设置窗体的图标。一般把其设置为“.ico”格式的图标文件。该属性不仅可以通过属性窗口设置,也可通过程序代码设置。
用代码设置窗体的ICON属性与其他属性有些不同。
例如:不是窗体名.ICON="d:1.ico",
而是要用LoadPicture(加载图片)函数,其格式为:
窗体名.ICON=LoadPicture("图标文件的路径及文件名")
例:Private Sub Form_Load()
  form1.Icon=loadpicture("d:\1.ico)
  End Sub
窗体(6)
Picture(图形):该属性用来在窗体中加载一个图形.该属性即可通过属性窗口置,也可通过代码设置.
代码设置方法:
Private Sub Form_Load()
form1.Picture=loadpicture("d:天堂.jpg")→括号里面是我们要加载的正确的路径及文件名
End Sub
窗体(7)
Top(顶边)属性:该属性用来设置窗体顶边的坐标值,即窗体顶边与屏幕顶边的距离.
单位为Twip.2000就是2000 Twip.
运行后,窗体的顶边与屏幕的顶边之间的距离就是在属性窗口中设置的2000 Twip.
程序代码编入界面:
其格式为:窗体名.Top=数值
例:
Private Sub Form_Load()
Form1.Top=500
运行代码后,窗体顶边与屏幕顶边的距离就设为了5000Twip
Left(左边)属性:该属性用来设置窗体左边的坐标值,即窗体左边离屏幕左边的距离.其设置方法与Top属性相同.
Visible(可见性)属性:用来设置窗体是否可见.
Visible(可见性)属性有两个值:True为可见(即显示),False为不可见(即隐藏)
代码编入界面:
Private Sub Form_Load()
form1.Visible=True或False
End Sub
窗体(8)
WindowState(窗口状态)属性:该属性用来设置窗体的运行状态.可以取3个值:
0(是标准状态,默认值)
1(是最小化)
2(是最大化)
程序代码编入界面:
其格式为:窗体名.WindowState=0(或是1,或是2)
例:
Private Sub Form_load()
form1.WindowState=1
End Sub
窗体(9)
窗体的事件
1.Load(加载)事件
2.Unload(卸载)事件
3.Click(单击)事件
4.DblClicK(双击)事件
(1)Load(加载)事件:就是在窗体加载(启动)时所触发的事件.该事件主要用来在启动程序时对属性和变量进行初始化.
例:Form_Load()即是窗体的加载事件
温故而知新:
设置窗体的标题文字需要用到Caption属性.其代码设置格式为:窗体名.Caption="要设置的文字"        
Unload(卸载)事件:就是当窗体卸载(关闭)时触发的事件。在实际应用中,典型的就是用于提示用户在退出时对当前的操作进行保存等。
1.控件
控件的命名
  每个控件都有一个名字,这个名字就是控件的Name属性值。在一般情况下,控件都有自己的默认值。如:按钮的默认名字为Command1,文本框的默认名字为Text1。
  我们可以通过更改控件的Name属性值来给控件命名。在对控件命名时,最好是做到“知名见义”,即一见这个名字就能反映出这是一个什么样的控件。例如我把一个“确定”命名按钮命名为cmdok。其中cmd是我取命令按钮command的缩写,OK中文是确定的意思。这样命名,可以提高程序的可读性。
控件值:为了方便使用,VB为每个控件规定了一个默认属性,在用代码设置这样的属性时,不必给出属性名。通常把该属性称为控件值。
  即可以把“对象名.属性值”的格式中的“属性名”去掉,而改为“对象=属性值”。
例:正常代码输入是Text1.text=“你好”,此时也可以这样写:Text1=“你好”。
2.控件的画法和基本操作
(1)按键盘上的Delete(删除键)可以删除控件,必须先要选取要删除的控件才行。
(2)要同时移动多个控件,按住键盘上的Shift键,然后选取要移动的控件。也可用鼠标拖动虚线的方式来选中多个控件。
第三章 简单程序设计
1.Visual Basic中的语句
(1)在VB中书写代码不区分大小写,而且还有自动转化代码大小写的功能。例如:在输入Print时,不管输入PRINT还是print,按回车键后都会变为Print。
(2)VB代码中使用的标点符号都需要在英文状态下输入,而且VB还有自动检查语法的功能。在输入语句的过程中,VB将自动对输入的内容进行语法检查,如果发现了错误,就会弹出错误提示框。
(3)VB中的语句以回车键结束。一般要求“一行一句”,也可以使用符合语句,即把多句代码写在一行,但每句代码之间必须要用冒号(:)来连接。当一行代码很长时,可用“空格+下划线(_)”来换行。
如:print"你好":print"欢迎关临";
print _
"回车换行"
(4)VB用带等号(=)的赋值语句来对变量或对象的属性赋值。它与数学意义上的“等号”不同。例如:
i=1(把数值常量1赋给变量i)
mystr="Hellow.World!"(把字符串常量"Hellow.World!"赋给变量mystr)
form1.Caption="你好"(把字符串"你好"赋给窗体form1的Caption(标题)属性)
form1.Caption=Command1.Caption(把命令按钮Command1的Caption(标题)属性值赋给窗体form1的Caption(标题)属性)
(5)VB用单引号(’)来作为注释语句的开始部分。注释语句是对程序的说明,是为了方便他人阅读程序的。注释语句里面的所有内容都不参与程序的运行。
例如:Print"你好"’这行代码就是调用Print方法来在窗体上输出文字
(6)VB用End语句来结束一个程序的运行。
例如:Private Sub Command1_Click()
      End
      End Sub
2.编写简单的VB应用程序
(1)用VB开发应用程序的一般步骤分为:
一、建立可视用户界面
二、设置可视界面特性(设置对象属性)
三、编写事件驱动代码
四、调试、运行、生成可执行文件(.exe)  
注意:标题属性和名称属性是不一样的。名称(Name)属性是对象的名字,是供我们在代码中操纵的对象。而按钮的标题(Caption)属性是用来在按钮上显示的文字。
  (1)每个对象都有一个默认事件,在设计阶段双击一个对象就会进入到该对象的默认事件过程代码编辑状态。在这里,因为命令按钮的默认事件为Click(单击)事件,所以现在我们就会进入到命令按钮1(即command1)的单击事件过程代码编辑状态。
Private Sub Command1_Click()

End Sub
这时,VB会自动给出我们这个事件过程的开头及结尾部分。我们可以在两行之间输入事件过程响应代码。
在这里,Private译为“私有”,用来表明过程的类型。
这里的Sub用来说明是一个过程。
Command1_Click()就是过程名,前面的Command1是对象名(即对象的名称属性),而Click就是该对象的事件名(单击事件)。中间由下划线相连。在过程的后面有对括号。在下面的End Sub就是这个事件过程的结束语句。中间空的一行,是用来编写事件响应代码的地方。
根据题意,当在单击命令按钮1(Command1)的时候,让文本框显示一行文字。即是在Command1_Click()的事件过程中,用代码设置文本框(text1)的文本(text)属性。
所以我们这样编写代码:
Private Sub Command1_Click()
Text1.Text="欢迎进入VB世界"
End Sub
(2)Private Sub Command1_Click()
  Text1.FontSize=20(FontSize(字体尺寸)属性,用来设置文字的大小。
  End Sub
第四章 Visual Basic程序设计基础(一)
1.数据类型(1)基本数据类型
VB的数据类型分为:基本数据类型、用户自定义数据类型(又叫记录类型)、枚举类型
基本数据类型又分为:
字符串型(String)——变长字符串和定长字符串                  
数值型
货币型(Currency)
变体型(Varaint)
其他类型:字节(Byte)、布尔(Boolean)、日期(Date)、对象(Object)
数值型又分为:
整型数:整数(Integer)和长整数(Long)
浮点数(实型数或实数):单精度浮点数(Single)双精度浮点数(Double)
2.字符串(String):是一个字符序列,在VB中,字符串是放在双引号内的若干个字符。其中长度为0(即不含任何字符)的字符串被称为空字符串。
字符串通常放在引号(“”)里面。例如:
Text1.text="欢迎进入VB世界"
Text1.text=""
带引号的内容就是一个字符串。在第2行等号后面是一个空字符串。
变长字符串的长度是不确定的,可以是从0——2的31次幂,约21亿个字符。而定长字符串含有确定个数的字符,最大长度不超过2的16次幂(65535)个字符。
3.整型数是不带小数点和指数符号的数,在机器内部以二进制补码形式表示。例如,整型数4,-4分别以下面的形式存放:
4        00000000 00000100
-4        11111111 11111100
整数(Integer):以两个字节(16位)的二进制码表示和参加运算,其取值范围为-32768——32767。
长整数(Long):以带符号的4个字节(32)位二进制数存储,其取值范围为:-2147483648——2147483647。

4.浮点数也称实型数或实数,是带有小数部分的数值。它由3部分组成:符号、指数及尾数。单精度浮点数和双精度浮点数的指数分别用“E”或(“e”)和“D”或(“d”)来表示。例如:
123.45E3      单精度数,相当于123.45乘以10的3次幂;
123.45678D3    双精度数,相当于123.45678乘以10的3次幂。
(1)单精度浮点数(Single):以4个字节(32位)存储,其中符号占1位,指数占8位,其余23位表示尾数,此外还有一个附加的隐含位。单精度浮点数可以精确到7位十进制数。
(2)双精度浮点数(Double):用8个字节(64位存储),其中符号占1位,指数占11位,其余52位用来表示尾数,此外还有一个隐含位。双精度浮点数可以精确到15位或16位十进制数。就是说,可以精确到小数点后15或16位。
5.货币(Currency)数据类型是为表示钱款而设置的。该类型数据以8个字节(64位)存储,精确到小数点后4位(小数点前有15位),在小数点后4位以后的数字将被舍去。浮点数中的小数点是“浮动”的,即小数点可以出现在数的任何位置,而货币类型数据的小数点是固定的,因此称为定点数据类型。
6.变体(Variant)数据类型是一种可变的数据类型,可以表示任何值,包括数值、字符串、日期/时间等。
7.字节(Byte)实际上是一种数值类型,以1个字节的无符号二进制数存储,其取值范围为0——255。
8.布尔(Boolean)是一个逻辑值,用两个字节存储,只能取两种值,即True(真)或False(假)。
9.日期(Date)型数据用来表示日期或时间信息。用8个字节存储。
10.对象(Obiject)型数据用来表示图形、OLE对象或其他对象,用4个字节存储。
常量和变量
常量是一个被命名的内存位置,它的值在程序执行过程中是不会发生改变的。从常量的提供者上来说,VB中的常量分为两种:系统内部常量和自定义常量(又叫符号常量)。
系统内部常量是应用程序和控件提供的,它可与应用程序的对象、方法和属性一起使用。
系统内部的常量名采用大小写混合的格式。其前缀表示定义常量的对象库名。来自Visual Basic和Visual Basic For Application对象库的常量常以Vb开头。
例如:VbVlack表示黑色,VbBlue表示蓝色,同VbKeyUp、VbKeyDown、VbKeyLeft、VbKeyRight分别来表示键盘上、下、左、右键的键代码。
VB提供了一整套完备的系统内部常量,可通过“对象浏览器”进行查看其定义。
1.温故而知新:更改窗体的背景颜色,需要用到BackColor属性。其值为一个十六进制常量。&HFF(红色的十六进制表示方法)。
2.从对象浏览器当中我们可以看出一个VB系统内部常量是以Const语句来定义的,而我们也可以根据自己程序中的需要,用Const语句来定义一个自己的常量。这样的常量就是自定义常量,又叫作符号常量。即可以把这个常量当作代替一个指定值的符号来看待。
一般情况下,我们可以把常量的定义放在窗体的(通用)过程当中。
格式为Const 常量名=表达式。如:Const pi=3.1415926
例如:Private Sub Command1_Click()
      Print pi
      End Sub
      Private Sub Command1_Click()
      Print 2*pi
      End Sub
如上面一样编写代码。;(例如中的代码只供参考!)
3.在程序中经常会发现代码中一些数值从不改变,并且会一次又一次反复出现。在这种情况下,可用常量来表示这些值。在程序中使用常量,不仅可以提高程序执行效率,而且还可以方便编程人员。
1.变量就是内存分配的一块命名空间,用来存储程序中可以变化的量。和所有的计算机高级语言一样,Visual Basic也用变量来储存数据值,每个变量都有一个名字和相应的数据类型,通过名字来引用一个变量,而数据类型则决定了该变量的储存形式。
实例:Private Sub Command1_Click()
      Dim aa As String
      aa = Text1.Text
      Print aa
      End Sub
这里的aa就是一个变量的名字,给变量起什么样的名字全凭我们自己决定。但是在给变量命名的时候,须遵循以下规则:
2.变量的命名规则
(1)变量名只能由字母、数字、下划线组成;
(2)变量名的第一个字符必须是英文字母,最后一个字母可以是类型说明符。
(3)变量名的有效字符为255个。
(4)不能用Visual Basic的系统保留字(关键字)作为变量名,但可把保留字嵌入变量名中。同时,变量名也不能是末尾带有类型说明符的保留字。例如:Print和Print$是不能用作变量名的。而Print_a就可以作为变量名。
(5)Visual Basic不区分变量名字母的大小写。在定义一个变量后,只要字符相同,则不管其大小写是否相同,指的都是这同一个变量。
附加:什么是类型说明符号
由于历史原因,VB目前仍保留类型说明符,其实用起来很方便,可以少输入很多字符呀.
可读性也不差.据说执行起来还很高效,下面就来说一下类型说明符吧.
主要有6个说明符.
1.整型 integer        %
2.长整型 long          &
3.单精度浮点数 single        !
4.双精度浮点数 double        #
5.货币型 currency      @
6.字符串型 string        $

用法举例:
类型说明符用在三个地方.
1.常数后面.
由于VB在判断一个常数时,有可能存在多义性,比如8.08这个数,有可能是单精度型,也有可能是双精度型,为了告诉VB类型,可以在8.08后面加上这个说明符,
如: 8.08#,就表明这个数是双精度了.
2.常量名后面:
如下面定义一个常量HEJI,这个常量是双精度型,尽管其值为2,计算时是按双精度而不是按整型的
const HEJI#=2      
3.变量名后面:(这是我们最长看到的)  
dim str1 as String
可以写成
dim str1$
二、(1)Dim aa As String这行语句是一个变量声明语句。声明一个变量需要用到这样的格式:Declare 变量名 As 类型,这里的“Declare”可以是Dim、Static、Redim、Public或是private。“As”是关键字,“类型”是要声明变量的数据类型。dim aa as String就是声明一个字符串变量aa,aa是一个变量名,它是不区分大小写的。不管是写作AA、aa、Aa,它们和aa都是一样的,都被看作是同一个变量名。Dim:用于在标准模块(Module)、窗体模块(Form)或过程(Procedure)中定义变量名或数组。当定义的变量要用于窗体时,程序代码窗体中的“对象”框应为“通用”,“过程框”应为“声明”。在这里,变量aa被定义在了命名按钮Command1的单击事件过程中,那变量aa的作用范围就是这个Command1_click()的单击事件过程。也就是说,变量aa只有在这个过程里才是有效的。如果在其他过程里调用这个变量aa就无效。如果想在定义的一个变量后,让这个变量在这个窗体里所有的过程都有效,那就需要把变量定义在窗体的“通用”“声明”里面。这里的“As String”是说明这个变量的数据类型是字符串型。“As String”可用来定义变长字符串变量,也可有来定义定长字符串变量。变长字符串变量的长度取决于赋给它的字符串的长度,定长字符串变量的长度通过加上“*数字”来确定。例如:把dim aa as String变为dim aa as String*10就是定义了一个10个字符长度的字符串变量aa。例如:dim aa as string *5,这行代码的意思就是给这个字符串aa定义一个长度为5个字符。运行后,输入的字符多余5个字符将被VB自动去掉,只显示小于或等于5个字符的内容。aa=Text1.Text这行代码就是对变量aa的一个赋值语句,就是把文本框Text1的文本内容即text属性赋给变量aa,需要注意的就是赋值语句中的等号两边的内容必须数据类型是一致的。在这里文本框里面的内容自然是字符串数据类型,而我们定义的变量aa是它也是一个字符串变量,这样的话aa的值就是文本框里面的内容,当文本框里面的内容发生改变时,aa也自然会随之改变。然后我们用pront方法输出变量aa这个变量值后,其实输出的就是本文框里面的内容。在本例中,我们用as string语句来定义变量aa的数据类型。我们也可以用类型说明符来标识变量aa的数据类型。如:dim aa$,dim aa$和dim aa as string是一样的。
Static:用于在过程中定义静态变量及数组变量。与Dim不同,如果用Static定义了一个变量,则每次引用该变量时,其值会继续保留。而当引用Dim定义的变量时,变量值会被重新设置(数值变量重新设置为0,字符串变量重新被设置为空)。通常把由Dim定义的变量称为自动变量,而把由Static定义的变量称为静态变量。
例如:先在窗体上画一个命令按钮command1,在命令按钮command1的单击事件过程输入这样的代码,首先用static定义一个整型变量i。
Private Sub Command1_Click()
Static i As Integer
i=i+1          让i的数值等于i+1
Print i
End Sub
一、变量的作用域——局部变量与全局变量
1、局部变量
局部变量是在过程(事件过程或通用过程)内定义的变量,其作用域是它所在的过程。局部变量在过程内用Dim、Static定义。
2、模块变量(窗体变量和标准模块变量)
窗体变量——可用于该窗体内的所有过程。在使用窗体变量前,必须先声明,即窗体变量不能默认声明。
标准模块变量——对该模块中的所有过程都可见,但对其它模块中的代码不可见。
标准模块中模块层变量的声明和使用与窗体模块中窗体层变量类似。标准模块是只含有程序代码的应用程序文件,扩展名为.bas。
建立新的标准模块的方法:打开“工程”菜单/“添加模块”命令,选择“新建”选项卡,单击“模块”图标后打开,则打开了标准模块代码窗口,在其中输入标准模块代码。声明标准模块变量用Dim、Private定义。
3、全局变量(过程变量)
可以在工程的每个模块、每个过程中使用。全局变量只能在标准模块的声明部分声明(不能在过程或窗体模块在声明),必须用Public或Global语句声明,不能用Dim、Private声明。
4.变量的作用域
名称        作用域            声明位置              使用语句
局部变量    过程              过程中              Dim或Static
模块变量  窗体模块或标准模块  模块的声明部分        Dim或Private
全局变量  整个应用程序      标准模块的声明部分    Public或Global
第四章 Visual Basic程序设计基础(二)
二、变量的作用域—默认声明
用Dim和Private以及Public语句可定义局部变量、模块级变量和全局变量。这种变量是显示声明。
Visual Basic允许变量不经声明而直接使用,这种变量就叫做隐式声明。此时Visual Basic会把该变量指定为变体(Variant)数据类型,并默认定义为局部变量。这种方式比较简单方便,在程序代码中可以随时命名并使用变量,但不易检查。
Option Explicit——强制要求声明变量的语句
四、常用内部函数(1)转换函数
Visual Basic的转换函数
1、Int(x):求不大于自变量X的最大整数。
Int(x)中的“X”就是一个自变量(或被成为参数),自变量是数学中的术语,在计算机高级语言中一般被称为参数。
例如:int(3.5)就是求不大于3.5的最大整数。
Private Sub Form_Click()
print int (3.5)
End Sub
当然这种测试Visual Basic函数的方法比较麻烦,因为必须执行事件过程才能看到结果。为此,VB提供了命令行解释程序(Command Line Interpreter,即CLI),可以通过命令行直接显示函数的执行结果,这种方式被称为直接方式。直接方式在立即窗口中执行。因此,为了在命令行中输出函数的执行结果,必须先打开立即窗口。
打开立即窗口的方式:视图——立即窗口或Ctrl+G。
在“立即窗口”中可输入命令,命令行解释程序对输入的命令进行解释,并立即响应,它与DOS下命令行的执行情况类似。
在立即窗口中,“?”与Print是一样的。
如:print int (3.5)
3
? int(3.5)
3 回车后,结果都是3。
2、Fix(x):去掉一个浮点数的小数部分,保留其整数部分。
例如:Fix(3.1415926)就是求3.1415926的整数部分。
立即窗口中输入:
print Fix(3.1415926)
3  ←结果是3,Fix函数不会四舍五入。
(1)Int和Fix函数的相同点与不同点
Int和Fix函数都删除X参数的小数部分并返回以整数表示的结果。
它们的区别在于如果X为负数时,Int函数返回小于或等于X的第一个负整数,而Fix函数返回大于或等于X参数的第一个负整数。
例如:Int将-8.4转换为-9,而Fix将-8.4转换为-8。
3、Hex$(x):把一个十进制数转换为十六进制数。
例如:Hex$(10)就是将十进制的10转换为十六进制数。
立即窗口中
?hex$(10)
A
?hex(10)
A ←结果都是A
4、Oct$(x):把一个十进制数转换为八进制数。
例如:Oct$(10)就是将十进制的10转换为八进制数。
立即窗口中
? oct$(10)
12
5、Asc(x$):返回字符串x$中第一个字符的ASCII字符。
ASCII是AmericanStandardCodeforInformationInterchange(美国标准信息交换代码)的缩写,用来制定计算机中每个符号对应的代码,这也叫做计算机的内码(code)。每个ASCII码以1个字节(Byte)储存,从0到数字127代表不同的常用符号,例如大写A的ASCII码是65,小写a则是97。(由于ASCII字节的七个位,最高位并不使用,所以后来又将最高的一个位也编入这套内码中,成为八个位的延伸ASCII(ExtendedASCII)码,这套内码加上了许多外文和表格等特殊符号,成为目前常用的内码。)
立即窗口中
? asc("A")←在这里需要注意的是,括号内的引号一定要有,否则就会出错,因为前面我们也学过,有引号的内容就是一个字符串。在这个asc中,asc的数据类型必须是字符串型。
97
6、CHR$(x):把X的值转换为相应的ASCII字符。
7、Str$(x):把X的值转换为一个字符串。
8、Cint(x):把X的小数部分四舍五入,转换为整数。
9、Ccur(x):把X的值转换为货币类型值,小数部分最多保留4位且自动四舍五入。
10、CDbl(x):把X值转换为双精度数。
11、CLng(x):把X的小数部分四舍五入转换为长整数型数。
12、CSng(x):把X值转换为单精度数。
13、Cvar(x):把X值转换为变体类型值。      
五、数学函数
1、Sin(x):返回自变量X的正弦值。
立即窗口中
? sin(30)
-.988031624092862
在显示结果中我们可以发现这并不是我们想要的结果,有过数学常识的人都知道30度的正弦值为0.5。
    X自变量(即参数)是一个双精度浮点数(Double)或任何有效的数值表达式,用来表示一个以弧度为单位的角度。也就是说,X的单位应该是弧度,而在一般的情况下,X是以角度给出的。
    在“Sin(30)”中,括号里的单位是角度,而不是弧度,所以我们应该把它转换为弧度。其转换公式为:1度=圆周率/180=3.1415926/180(弧度)
根据这个公式,求30度角正弦值应把Sin函数内的30再乘以3.1415926/180。
立即窗口中
? sin(30*3.1415926/180)
.49999999226498
2、Cos(x):返回自变量X的余弦值。
3、Tan(x):返回自变量X的正切值。
4、Atn(x):返回自变量X的反正切值。
5、Abs(x):返回自变量X的绝对值。
立即窗口中
? abs(-5)
5
6、Sgn(x):返回自变量X的符号,即当X为负数时,返回-1;当X为0时,返回0;当x为正数时,返回1。
立即窗口中
? sgn(-5.3)
? sgn(5)
1
? sgn(0)
0
7、Sqr(x):返回自变量X的平方根,X必须大于或等于0。
立即窗口中
? sqr(5)
2.23606797749979
8、Exp(x):返回以e为底,以X为指数的值,即求e的X次方。
附加:正弦值
弦值是在直角三角形中,对边的长比上斜边的长的值。 任意锐角的正弦值等于它的余角的余弦值,任意锐角的余弦值等于它的余角的正弦值。
sin30°=1╱2 sin45°=√2╱2 sin60°=√3╱2 sin90°=1 sin180°=0 sin0°=0 shi270°=-1
正弦是sin
是直角三角形的锐角的对边比斜边的值
余弦cos
是直角三角形的锐角的邻边比斜边的值
正切是tan
是直角三角形的锐角的对边比邻边的值
反正切的cot
是直角三角形的锐角的邻边比对边的值
在△ABC中,∠C=90°,把锐角A的邻边与对边的比,叫做∠A的余切,记作cotA
在△ABC中,∠C=90°,把锐角A的邻边与斜边的比,叫做∠A的余弦,记作cosA.
在△ABC中,∠C=90°,把锐角A的对边与邻边的比,叫做∠A的正切,记作tanA
在△ABC中,∠C=90°,把锐角A的对边与斜边的比,叫做∠A的正弦,记作sinA  
六、日期与时间函数
1、Day(Now):返回当前的日期。
在立即窗口中
print Day(Now)←回车后显示的就是系统当前日期。以下输入方法差不多。
2、WeekDay(Now):返回当前的星期。
3、Month(Now):返回当前的月份。
4、Year(Now):返回当前的年份。
5、Hour(Now):返回小时(0~23)。
6、Minute(Now):返回分(0~59)。
7、Second(Now):返回秒(0~59)。
注意:(1)当前指的是电脑的系统日期与时间!电脑时间是多少,当前时间是多少。
(2)VB把星期天当作每周的第一天。
七、随机数函数
1.Rnd[(x)]:产生一个0~1之间的单精度随机数。
例如:在立即窗口中
print rnd
.5647038
print rnd
.145103
print rnd
.8645377
在立即窗口中我们每次用rnd函数输入的随机数是不同的。
如果我们想输出0~10之间的随机数。那就需要用rnd乘以10。
例如:在立即窗口中
print 10*rnd
5.906306
注意!!!:
用rnd函数可以产生随机数,当一个应用程序不断地重复使用随机数时,同一序列的随机数会反复出现,用Randomize语句可以消除这种情况。
第四章 Visual Basic程序设计基础(三)
七、字符处理与字符串函数
(一)、Visual Basic的字符处理机制
1、早期VB采用单字节处理机制。英文字符占用1个字节,汉字占用2个字节,即ANSI方式。一个中文字符相当于两个ASCII字符组成。
2、在VB4.0以后,字符串采用大字符统一编码方式,所有字符都占用2个字节,即UniCode方式。
在这种机制下,一个英文字母或一个汉字都被看做是1个字符。
在立即窗口中
print len(“VB程序设计”) ←ANSI格式
6
print lenB(“VB程序设计”)←UniCode格式
12
3、为了兼容早期的软件,可使用转换函数StrConv把字符串转换为指定格式。其格式为:新字符串=StrConv(待转换字符串,转换格式)。
在立即窗口中
print len(StrCov("VB程序设计",vbFromUnicode))
5
print lenB(StrCov("VB程序设计",vbFromUnicode))
10
释:StrCov(要转换的字符串,转换格式)
其中,“要转换的字符串”可以是字符串常量,也可是字符中变量。而“转换格式”若是vbFromUnicode(字面意思就是“从”“Unicode”转换),则是将Unicode编码格式的字符串转换为ANSI格式;若是vbUnicode就是将ANSI转换为Unicode。
(1)对于字符串“VB程序设计”,
Unicode方式下:
Len函数中,1个英文字符和1个汉字均占1个字节,所以结果为6。
LenB函数中,1个英文字符和1个汉字均占2个字节,所以结果为12。
ANSI方式下:
Len函数中,1个英文字符占半个字节,一个汉字占1个字节,所以结果为5。
LenB函数中,1个英文字符占1个字节,一个汉字占2个字节,所以结果为10。
(二)、字符串函数
1、删除空白字符函数
(1)LTrim(字符串):去掉“字符串”左边的空白字符。
(2)RTrim(字符串):去掉“字符串”右边的空白字符。
(3)Trim(字符串):去掉“字符串”两边的空白字符。
例如:在立即窗口中
a$="  Hellow,World!  "
b=LTrim(a)
c=RTrim(a)
d=tiim(a)
print b;d          ←print里的分号是一个前后连接符号。表示输出变量b之后紧接着输出变量d的值。
Hellow,World!  Hellow,World!
print b;c
Hellow,World!    Hellow,World!
print c;d
  Hellow,World!Hellow,World!
2、字符串截取函数
(1)Left(字符串,n):返回“字符串”中的前n个字符。
(2)Mid(字符串,p,n):从“字符串”的第p个字符开始,向后截取n个字符。
(3)Right(字符串,n):返回“字符串”中的后n个字符。
例如:在立即窗口中
a$="abcdef"
print left(a,4)
abcd
print mid(a,2,3)
bcd
print mid(a,2)
bcdef
print right(a,4)
cdef
3、字符串长度测试函数:即Len函数,用来测试字符串的长度。它也可以用来测试变量的存储空间。
其格式为:Len(字符串)
          Len(变量名)
例如:在立即窗口中
a$="how are you"
print len(a)
11
print len("how are you")
11
print len(bb#)←双精度浮点数长度
8
print len(cc!)←单精度浮点数长度
4
print len(dd&)←整型数长度
2
4、String函数,用来返回由n个指定字符组成的字符。
其格式为:String(n,ASCII码)
          String(n,字符串)
例如:立即窗口中
print string(4,65)←括号里的65没引号,就是一个ASCII码。ASCII码所对应的字符就是大写A,前面的4就是输出字符的个数。
AAAA
print string(5,"?")
?????
print string(3,"abc")←这里abc是一个多字符的字符串。它将返回字符串的abc的第一个字母a的三个字符。
aaa
5、Space(n)函数,用来返回n个空格。
例如:立即窗口中
print space(5);"你好"←这行代码的意思就是在输出5个空格后再输出字符串 你好 ,space(5)为5个空格。
    你好
6、大小写转换函数:
(1)UCase(字符串)把字符串的小写字母转换为大写;
(2)LCase(字符串)则把大写字母转换为小写。
例如:立即窗口中
a$="Microsoft Visual Basic"
print Ucase(a)
MICROSOFT VISUAL BASIC
print lcase(a)
microsoft visual basic  
7、字符串匹配(InStr)函数:在编写程序时,有时候需要知道是否在文本框中输入了某个字符串,这可通过Instr来判断。
其格式为:InStr([首字符位置,]字符串1,字符串2[,n])该函数在“字符串1”中查找“字符串2”,如果找到了,则返回“字符串2”的第一个字符在“字符串1”中的位置。“字符串1”的第一个字符位置为1。
例如:在立即窗口中
a$="欢迎使用VB编程"
print instr(a,"VB")
5                ←这里VB的位置是在第五个字符处,所以返回值是5。
print instr(a,"vb"
0                ←因为小写的vb在这个字符串变量中是不存在的,所以返回值为0。

8、插入字符语句Mid:格式:Mid(字符串,位置[,L]=子字符串。该语句把从“字符串”的“位置”开始的字符用“子字符串”代替。如果含有L自变量,则替换的内容是“子字符串”左部的第L个字符。其中“位置”和L均为长整数。
例如:立即窗口中
a$="欢迎使用VB编程"
mid(a,3)="学习"
print a
欢迎学习VB编程
9、Visual Basic的字符串函数:
函数        格式                          功能
LTrim  LTrim(字符串)              去掉字符串左边的空格
RTrim  RTrim(字符串)              去掉字符串右边的空格
Trim    Trim(字符串)              去掉字符串两边的空格
Left    Left(字符串,n)            取字符串左部的n个字符
Right  Right(字符串,n)            取字符串右边的n个字符
Mid    Mid(字符串,p,n)            从位置P处开始取字符串的n个字符
Len    Len(字符串)                测试字符串的长度
String  String(n,字符串)          返回由n个字符组成的字符串
Space  Space(n)                  返回n个空格
InStr  InStr(字符串1,字符串2)    在字符串1中查找字符串2
Ucase  Ucase(字符串)              小写转换为大写
Lcase  Lcase(字符串)              大写转换为小写
一、运算符与表达式
1、Visual Basic的算术运算符
  运    算          运算符          表达式例子
    幂              ^              X^Y
  乘 法              *              X*Y
浮点除法            /              X/Y
  整 除              \              X\Y
  取 模            Mod            X Mod Y
  加 法              +              X+Y
  减 法              -              X-Y
  连接              &            a$ & b$
例如:在立即窗口中
print 10^2
100
print 10^3
1000
print 10^-2 ←这行语句用来输出平方的倒数
.01
print 16^0.5←这行语句用来输出16的平方根
4
print 27^(1/3)←这行语句就是输出27的立方根
3
在这里需要注意的就是,当指数是一个表达式时,必须要加上括号。
print 5/2
2.5
print 5\2
2
print 18.5\3.9 ←四舍五入为19\4,←去掉结果后面的小数部分,结果为4。
4
print 8 mod 5 ←取模就是取余运算!
3
print 37.45 mod 5.678←四舍五入为37 mod 6,余数为1,所以这个结果为1。
1
这张表是按算术运算符的优先顺序列出的。幂的优先级最高。
乘法和浮点除法是同级运算符。加法和减法是同级运算符号。
如:print 3+3*5  ←先算乘法在算加法,跟数学中的完全相同。
    18
print (3+3)*5    ←先算括号内,在算括号外。
30
print 1+((2+3)*2)*3←如果有两个括号,先算内括号,在算外括号。
31
print 13/5*2
5.2
print 13\5*2  ←因为整除运算符底于浮点除法运算符和乘法运算符。所以这行语句先进行乘法运算即5*2,在进行整除运算。所以结果为1。
1
a$="12"
b$="34"
print a & b
1234
print a+b    ←加号也算连接符号!
1234
二、关系运算符
  运算符        测试关系          表达试例子
    =              相等              X=Y
  <>或><          不相等          X<>Y或X><Y
    <              小于              X<Y
    >              大于              X>Y
    <=          小于或等于          X<=Y
    >=          大于或等于          X>=Y
  Like          比较样式
    Is          比较对象变量
在VB中,任何非0值表示真,0表示假。一般以-1表示真,0表示假。
例如:在立即窗口中
x=2:y=3:z=3
print x=y
False
print y=z
True
print x<>y
True
print x>y
False
用关系运算符即可用于数值的比较,也可用于字符串的比较。
a$="你"
b$="他"
print a=b
False
print a>b
True
a之所以大于b,是由其值的拼音首字母决定的。
例如:aa$="阿"←阿的拼音首字母是a.
      bb$="本"←本的拼音首字母是b.
      print aa>bb
      True
因为a在b的前面,所以字符串aa大于字符串bb。所以它的值是真的。
如果拼音的首字母相同,则比较拼音的第二个字母,以此类推!
print "棒">"崩"
True  
三、逻辑运算符
运  算          运 算 符            举 例
(1)  非              Not          Not(5>6)结果为True。
Not(非):由真变假或由假变真,进行“取反”操作。
例如;在立即窗口中
print 5>6
False
print Not(5>6)
True    ←把假取反即为真。
(2)  与              And          (5>6)And(7<8)结果为False。
And(与):对两个关系表达式的值进行比较,如果两个表达式的值均为真(True),结果才为真(True);否则为假(False)。即:真(True)And真(True)=真(True)。
例如:print (5>6)and (7<8)
      False
(3)  或              Or            (5>6)And(7<8)结果为True。
Or(或):对两个表达式进行比较,如果其中一个表达式的值为True(真),结果就为真(True),只有两个表达式的值均为False(假)时,结果才为False(假)。
即:真(True)Or假(False)=真(True)
  假(False)Or假(False)=假(False)
如:在立即窗口中
print (5>6)or(7<8)
True
(4)  异或            Xor          (2>1)Xor(3<4)结果为False。
Xor(异或):对两个表达式进行比较,如果两个表达式同时为真(True)或同时为假(False),则结果为假(False);否则为真(True)。
即:真(True)Xor真(True)=假(False)
    假(False)Xor假(False)=假(False)
其他情况均为真(True)。
如:print(2>1)Xor(3<4)
    False
(5)  等价            Eqv          (5>6)And(3<4)结果为True。
Eqv(等价):如果两个表达式同时为True或同时为False,则结果为True。与Xor异或运算相反。
即:真(True)Eqv真(True)=真(True)
    假(False)Eqv假(False)=真(True)
其他情况均为假(False)
如:print(2>1)eqv(3<4)
    True
(6)  蕴含            Imp          (10>9)Imp(1>2)结果为False。
Imp(蕴含)运算:当第一个表达式为True,且第二个表达式为False时,结果为False。
即:真(True)Imp假(False)=假(False)
其他均为真(True)
如:print(10>9)imp(1>2)
    False
print (1>2)Imp(10>9)  ←第一个表达式必须为真,结果才是假,否则为真。
True
四、表达式的执行顺序
1、函数运算
2、算术运算
3、关系运算
4、逻辑运算
算术运算符          比较运算符      逻辑运算符        优先级
幂运算(^)                 相等(=)                 Not                      」
  负数(-)          不等于(<>)      And                    」
乘法(*)和浮点除(/)      小于(<)                Or                       ↓
  整除(\)              大于(>)                        Xor                    」
求模运算(Mod)        小于或等于(<-)    Eqv                     」
加法(+)和减法(-)  大于或等于(>=)    Imp                    ↓
字符串连接(&)        Like                                              」      
                        Is                                               ↓

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 1
支持
分享
最新回复 (2)
雪    币: 4
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
这些都是我看教程的时候做下的笔记,不知道对大家可否有用处,我把教程的网站发给大家吧http://tech.163.com/special/000915SN/vbgreat.html
2010-1-21 19:04
0
雪    币: 45
活跃值: (55)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
3
VB。。与看雪论坛似乎格格不入
2012-5-4 16:45
0
游客
登录 | 注册 方可回帖
返回
//