返回列表 发帖

vb学习1

〖VisualBasic基础知识〗
是微软公司推出的Basic语言编程工具,它比标准Basic语言增加了许多功能。它支持面对对象的编程,由于它是为Window这样的图形用户界面的操作系统开发的,所以它使用事件驱动的方式控制程序流程。
VisualBasic新概念:
1.VisualBasic术语 2.VB项目文件
VisualBasic术语
设计时:设计时是指在VB环境中建立应用程序时的时间。
运行时:运行时是指在应用程序运行期间,用户与应用程序进行交互的时间。
通常我们在设计时初始化窗体和控件的属性,在运行时响应窗体和控件的事件修改它们的属性或调用它们的方法。
对象:将数据和处理该数据的过程(函数和子程序)打包在一起而生成的新的数据类型称之为对象。
在VisualBasic中,所有窗体和控件都是对象。要访问对象的属性和方法,必须在对象和属性方法之间加入一个句点。
如:
Label1.Caption="VB编程乐园"
Text1.SetFocus
属性:对象中的数据。 方法:对象中的过程。
窗体:窗体是可用作定制应用程序界面的窗口,或用作从用户处收集信息的对话框。
你可向窗体增加控件、图形或图片来创建你的应用程序界面。
窗体可单独存在,也可是多文档界(MDI)中的一个文档,即一个子窗体。
控件:控件是用户操作对象的图形表示,以便向应用程序提供信息。例如:按钮、列表框或编辑框等。有的控件没有图形表示。
如:计时器、WinSocket等。
事件(Event):事件是指窗体或控件识别的活动。事件发生在用户与应用程序交互时。
如:单击控件、键盘输入、移动鼠标等。
也有部分事件由系统产生,不需要用户输入。如:计时器事件。
事件驱动程序设计:当程序是事件驱动的时,应编写执行来响应由用户或系统激活的事件的代码。与过程程序设计不同,后者的程序起始于代码的第一行,并遵循定义好的路径调用所需的过程。
事件驱动设计是图形用户界面的本质,即:由用户控制而代码做出响应。
VB项目文件
包括在VisualBasic应用程序开发中包括的所有的窗体、代码模块和定制控件的一个文件列表,以及在开发中选择的环境选项。
项目由下列文件组成:
文件类型 扩展名

项目文件 *.vbp
窗体文件 *.frm
模块文件 *.bas
定制控件 *.ocx
类模块 *.cls
资源文件 *.res

vb学习1

VisualBasic运行错误:
  某些错误只在程序在运行时发生,而且是不可避免的。例如:当我们写盘时磁盘写保护,或当我们打开文件时忘记插入软盘等。普通情况Windows操作系统会弹出一个对话框并中止程序运行。那么有没有办法可以捕获到错误,而程序自己处理错误呢?
  答案是有的。在VisualBasic中可以使用 On Error 语句捕获运行错误,而不会使程序因发生异常错误而退出。
VisualBasic错误处理:
1.创建错误处理器 2.关闭错误处理器
3.错误对象Err 4.退出错误处理程序
5.调用链中的错误处理
创建错误处理器

在VisualBasic中,我们使用On Error语句创建错误处理程序。它有两种方法:
1.On Error Goto 标号
当发生错误时跳转到指定的标号。
2.On Error Resume Next
当发生错误时忽略错误,继续执行下一条语句。
关闭错误处理器

错误处理要跟踪代码是否发生运行错误,很明显会降低程序运行速度,所以我们只对可能会产生错误的部分代码进行错误跟踪,而在根本不可能产生错误的代码前关闭错误处理器。
要关闭错误处理器使用:On Error Goto 0
错误对象Err

错误对象Err对象包含最近所发生的一次错误的信息。
属性:
Number 错误ID号。
Description 错误描述字符串。
Source 产生错误的应用程序,主要用于OLE编程。
例如:当我们通过OLE访问Microsoft Excel时产生了错误,这时:
Err.Source="Excel.Application"
方法:
Clear 清除错误。
Raise 引发错误。
我们使用Raise方法人为地产生一个错误,把错误传递给父过程或测试你自己编写得错误处理程序。
退出错误处理程序

当我们使用On Error Goto标号来创建一个错误处理器时,那么该标号所指的程序我们称之为错误处理程序。当我们在错误处理程序中处理完序数据后就需要返回。返回的方法有三种:
1.Resume 返回到出错的语句从新执行。
2.Rusume Next 返回到出错的语句的下一条语句继续执行。
3.Resume 标号 返回到指定标号的语句继续执行。
调用链中的错误处理

如果一个过程没有错误处理器而又发生了错误,该错误就会传递给父过程,如果父过程也没有错误处理器,则继续向下传递,直到找到为止。如果始终未找到,则出现系统错误提示

TOP

vb学习1

拖放的概念

拖放是用鼠标拖放一个对象并把它放在窗体或其它对象上的活动。当我们在一个控件上按下鼠标键并移动的活动称为拖动,释放鼠标键时称为放下。
[注]:某些残疾人士不能执行拖放的任务,因此,拖放不应该是实现一个任务的唯一方法。你应该提供一种使用键盘、按钮或菜单命令的替代方法。
启动、结束拖放

启动拖放的方法有两种:
1.将拖放源控件拖放属性设置为自动方式。
XXXX.DragMode=vbAutomatic
[注]:当一个控件被设置为自动拖放时,它不再响应鼠标事件,如:Click事件。
2.手工拖放。
缺省情况下,控件的DragMode属性为vbManual,即手工拖放。
我们通常在源控件的MouseDown事件中调用Drag方法手工地启动拖放。
XXXX.Drag vbBeginDrag
结束拖放也有两种方法:
1.调用Drag方法。
XXXX.Drag vbEndDrag
2.当我们抬起鼠标键时总是停止拖放。
与拖放有关的源控件

属性:
DragMode 用于设置拖放方式。
=vbManual手工拖放。
=vbAutomatic自动拖放。
DragIcon 表示拖放时显示的图标。
通常我们使用LoadPicture函数读取图片。
XXXX.DragIcon=LoadPicture("C:\sample.ico")
方法:
Drag 启动或停止拖放。
事件:
MouseDown 在按下鼠标键时发生。
通常我们在该事件中启动拖放。
Sub XXXX_MouseDown()
XXXX.Drag vbBeginDrag
End Sub
与拖放有关的目标控件

事件:
DragOver 当源控件在目标控件上拖动时发生。
Sub XXXX_DrageOver(Source As Control, X As Single, Y As Single, State As Integer)
.....
End Sub
参数:
Source 返回哪一个控件拖放到该控件上X,Y返回鼠标相对于该控件的位置。
State 表示拖放是进入控件还是离开控件。
=vbEnter进入控件。
=vbLeave离开控件。
事件:
DragDrop 当把源控件拖到目标控件并松开鼠标键时发生。
Sub XXXX_DrageDrop(Source As Control, X As Single, Y As Single)
.....
End Sub
参数:
Source 返回哪一个控件拖放到该控件上X,Y返回鼠标相对于该控件的位置。

TOP

vb学习1

Label控件 Label 控件主要用于在窗体中显示提示信息,常与Text控件一起使用。 属性: Caption 表示标签的内容。 例:Label1.Caption="N&ame:" 控件在窗体中显示Name:,&号跟的字母是快捷键字母,即当我们按下Alt+A时,Label1的Click事件将会发生。 这种快捷键定义方法对于菜单和许多其它控件同样适用。 Font 表示控件的字体。 ForeColor 表示控件的当前颜色。 Enabled 表示控件是否使能。 =True 使能。 =False 禁止(控件显示为灰色)。 Visible 表示控件是否可见 =True 可见。 =False 不可见。 Top,Left,Width,Height 表示控件在窗体中的位置和尺寸。 事件: Click 当点击或按下快捷键时发生,常用于使和它一起使用的Text控件获得输入交点。 例: Private Sub Label1_Click() Text1.SetFocus End Sub Text控件 Text控件接受用户的输入的字符串数据。 属性: Text 表示用户输入的内容。 例:Label1.Caption=Text1.Text 将Text1控件接收用户输入的数据通过Label1控件显示出来。 SelStart 表示用户选中一段文字的起始位置。第一个字符位置为0。 SelLength 表示用户选中文字的长度。 SelText 表示用户选中文字的内容。 例:0123456789 这时:SelStart=5,SelLength=4,SelText="5678" MultiLine 表示是否是多行输入。 =True 是多行输入。 =False 不是多行输入(缺省) 。 ScrollBars 多行情况下是否需要滚动条。 =0 没有。 =1 有水平。 =2 有垂直。 =3 水平、垂直都有。 Password 表示口令字符。Text属性返回用户输入数据,屏幕上显示该字符。 方法: SetFocus 使当前控件获得输入交点。 事件: KeyPress 当在控件上按下按键时发生。 Private Sub Text1_KeyPress(KeyAscii As Integer) End Sub KeyAscii 表示用户按键的ASCII码,如果在事件中将它改为0,则认为没有按键。 例:编写只允许输入数字的Text控件。 Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAsciiAsc("9") Then KeyAscii=0 End If End Sub Change 当控件内容改变时发生。 LostFoucus 当控件失去输入交点时发生。 GotFoucus 当控件获得输入交点时发生。 通常我们在Text控件获得输入交点时全选它的内容,方便用户直接修改数据。 代码如下: Private Sub Text1_GotFocus() Text1.SelStart=0 Text1.SelLength=Len(Text1.Text) End Sub CommandButton控件 CommandButton控件接受用户的命令。 属性: Caption 表示按钮所显示的内容 例:Command1.Caption="&OK" 事件: Click 当点击或按下快捷键时发生。 CheckBox控件 CheckBox控件检查某个选项是否被选中。 属性: Caption 表示检查框所提示的内容。 例:Check1.Caption="Windows &98":Check2.Caption="Windows &NT" Value 表示检查框是否被选中。 =0 未选中。 =1 选中。 例:Check1.Value=1:Check2.Value=0 事件: Click 当点击或按下快捷键时发生。 OptionButton控件 OptionButton控件检查一个选项是否被选中,它与CheckBox的区别是: CheckBox 是多选多项。 OptionButton 是多选一项。 属性: Caption 表示检查框所提示的内容。 例:Option1.Caption="男":Option2.Caption="女" Value 表示检查框是否被选中。 =False 未选中。 =True 选中。 例:Option1.Value=False:Option2.Value=True 事件: Click 当点击或按下快捷键时发生。 Frame控件 Frame控件主要用于为OptionButton控件分组。 属性: Caption 表示分组所提示的内容。 例:Frame1.Caption="性别":Frame2.Caption="民族" ListBox控件 ListBox控件用于在一组列表中选择其中的一项或多项。 属性: Text 表示当前操作项内容。 ListCount 表示当前列表框中总数据项数。 ListIndex 表示当前操作项下标,第1项=0。 List(i) 表示第i项表项内容。 MultiSelect 表示是否允许多选择。 Selected(i) 表示第i项是否被选中。 SelCount 表示被选中的项数。 Sort 表示是否排序。 方法: AddItem 向列表框增加一项数据。 ListX.AddItem(Item As String) RemoveItem 删除第i项 ListX.RemoveItem(i As Integer) 事件: Click 当点击列表框中的一项数据时发生。 ComboBox控件 ComboBox控件与ListBox基本相同,它的优点在于占用的面积小,除了可以在选项中选择外还可以输入其它数据。它的缺点是不能多选择。 属性: Text 存放从选项中选择的数据或用户输入的数据。 其它方法与事件和ListBox相同。 Image控件 Image控件用于显示一张图片。 属性: Picture 存放图片的数据。 通常我们使用LoadPicture函数读入一张图片。 例:ImageX.Picture=LoadPicture("C:\1.bmp") [注]:LoadPicture支持Bmp、Jpg、Gif、等多种格式图片文件。 Stretch 显示图片的方式。 =True 以控件的尺寸显示图片。 =False 以图片的原尺寸显示图片。 Timer控件 Timer控件以固定间隔时间名触发它的Timer事件。 属性: Enabled 表示是否起动计时器。 =True 启动。 =False 关闭。 Intertval 表示触发Timer事件的间隔时间以毫秒为单位,即:1000=1秒。 事件: Timer当计时器计时到间隔时间时发生。 DriveListBox控件 DriveListBox控件提供一个驱动器列表。 属性: Drive表示当前选择的驱动器盘符。 事件: Change当驱动器选择发生变化时发生。 DirListBox控件 DirListBox控件提供一个目录列表。 属性: Path表示当前目录的路径。 事件: Change当目录选择发生变化时发生。 FileListBox控件 FileListBox控件提供一个文件列表。 属性: Path表示当前文件列表所在的路径。 Filename表示选择的文件名(不含路径)。 Pattern决定列什么样的文件。 例:*.* 列所有文件。*.bmp 列BMP图片文件。 Click当点击列表框的一项数据时发生。 CommandDialog控件 CommandDialog控件包括了Windows操作系统提供的6种公用对话框。(仅介绍前四种对话框) Open 、Save 、Color 、Font 、Printer 、Help Open对话框 和 Save对话框 属性: Filename表示选择的文件名(含路径)。 Filter决定列什么样的文件。 格式:“说明|过滤|说明|过滤|...” 例:Filter="Text|*.txt|Picture|*.bmp;*.gif" 方法: ShowOpen弹出Open对话框。 ShowSave弹出Save对话框。 例:打开一个正文文件,把文件名赋给变量fn。 Dim fn As String CDlg1.Filter="Text|*.txt" CDlg1.ShowOpen fn=CDlg1.Filename Color对话框 属性: Color选择的颜色。 方法: ShowColor弹出Color对话框。 例:修改标签控件的Label1颜色。 CDlg1.Color=Label1.ForeColor CDlg1.ShowColor Label1.ForeColor=CDlg1.Color Font对话框 属性: Flags决定字体的集合。 FontBold是否加粗。 FontItalic是否斜体。 FontName字体名称。 FontSize字体大小。 方法: ShowFont弹出Font对话框。 例:修改标签控件Label1的字体。 CDlg1.FontName=Label1.FontName CDlg1.FontSize=Label1.FontSize CDlg1.Flags=cdlCFScreenFonts CDlg1.ShowFont Label1.FontBold=CDlg1.FontBold Label1.FontItalic=CDlg1.FontItalic Label1.FontName=CDlg1.FontName Label1.FontSize=CDlg1.FontSize

TOP

vb学习1

Form 属性

Name 属性:用于在属性窗口定义对象的名称,以便在程序中引用。它只能在设计时赋值。
对于任何一个可以在属性窗口设置其属性的对象必须设置该属性的值,VB自动为每一个对象给定一个缺省值。
Caption 属性:属性用于获取、设置窗体的标题。
BorderStyle 属性:用于设置窗体的边框。
它常用的有两个值:
普通窗体:可修改窗体的尺寸。
2-Sizable
对话框:不能修改窗体的尺寸。
3-FixedDialog
Top,Left,Width,Height 属性:它们分别表示该窗体在父窗体或屏幕的位置(Top,Left)和大小(Width,Height)。
ScaleTop,ScaleLeft,ScaleWidth,ScaleHeight 属性:它们分别表示该窗体工作区的位置和大小。
Form 方法

1、显示一个窗体。
FormX.Show[vbModal]
没有vbModal表示以非模式方式显示一个窗体。
带有vbModal表示以模式方式显示一个窗体。
2、隐藏一个窗体。
FormX.Hide
隐藏窗体并不把窗体从内存中卸载,要卸载窗体
需要使用语句。
Unload FormX
或:UnLoad Me (Me 表示当前窗体)
Form 事件

1、Load 事件:当窗体加载到内存时发生
Private Sub Form_Load()
... '常把初始化代码放在此处
End Sub
2、Resize 事件:当窗体改变其尺寸时发生
Private Sub Form_Resize()
... '常在此处修改其它控件的尺寸
End Sub
3、Unload 事件:当窗体从内存卸载时发生
Private Sub Form_Unload(Cancel As Integer)
... '在窗体卸载前做一些扫尾工作。
'如关闭文件、提示存盘等
End Sub
[参数]:
Cancel 表示:是否放弃卸载。带进来时=0,表示可以卸载。在代码中将其0,表示放弃卸载。
例:
Private Sub Form_Unload(Cancel As Integer)
If MsgBox("你想退出吗?",vbYesNo,"退出")=vbNo Then
Cancel=True
End if
End Sub



TOP

vb学习1

〖子程序与函数〗
1.子程序 2.函数
3.属性过程
子程序

执行单一活动的代码块。
事件是特殊的子程序。
定义方法如下:
[Public]Sub 子程序名(参数表)
...
End Sub
[Private]Sub 子程序名(参数表)
...
End Sub
参数表格式如下:
var1 As Type1,var2 As Type2,...
函数

与子程序的区别是它通过函数名返回值。
定义方法如下:
[Public]Function 函数名(参数表)_
As 类型
...
函数名=值
End Function
[Private]Function 函数名(参数表)_
As 类型
函数名=值
End Function
[注]:在VB中一条语句在一行中写不完,使用下划线加空格连接。
属性过程

在ActiveX中详细介绍。


TOP

vb学习1

赋值语句

在VB中赋值语句有两种:
1:对普通变量的赋值。
变量=表达式
如:
Dim a As Integer
a=100*20
2:对对象变量的赋值。
Set 变量=表达式
如:
Dim ex As DataBase
Set ex=OpenDataBase("File.mdb")
If 语句

If语句用于测试条件,根据测试结果执行不同的操作。格式如下:
If 表达式 Then
...
Else
...
End If
或:
If 表达式 Then 语句1:语句2: ..
例:
If Password="123456" Then
OK=True
Else
Ok=False
End if
Select Case 语句

Select Case 语句用于对某一表达式的值进行多种处理。
格式如下:
Select Case 表达式
Case 值1:
...
Case 值2:
...
Case Else
...
End Select
For 循环语句
顶点
For...Next用于指定次数的循环。
格式有两种:
1、普通的数字变量:
For var=start To end[Step step]
...
Next var
2、集合中的对象:
For Each obj In objs
...
Next obj
其中:obj 是对象变量。 Objs 是集合变量。
Do 循环语句

根据某一条件来决定是否循环时我们使用Do循环。
Do 循环有两种:
1、当型循环(先判断后执行)
Do While|Until 条件
...
Loop
2、直按型循环(先执行后判断)
Do
...
Loop While|Until 条件
[注]:While 当条件为 True 时循环。 Until 当条件为 True 时退出。
With 语句

当我们经常使用某一对象的属性、方法时,就可以使用。
With语句。With语句可以使代码更简捷,并能提高运行速度。
格式如下:
With 对象变量
...
End With
例如:
With Text1
.SelStart=0
.SeiLength=Len(.Text)
.SetFocus
End With
相当于:
Text1.SelStart=0
Text1.SeiLength=Len(Text1.Text)
Text1.SetFocus

TOP

vb学习1

〖常量与变量〗
1.VisualBasic数据类型 2.变量的声明
3.Option Explicit 关键字 4.变量的作用域
5.Static 关键字 6.常量
7.数据类型转换
VisualBasic数据类型 数据类型 举例
字节型 56
布尔型 True False
整型 5367
长整型 4364574
单精度型 4362.34
双精度型 4652.65735745
货币型 $234.34
日期型 4/7/2000
对象型 Label1
字符串型 "My homepage"
变体型 任意值
变量的声明

Dim var As Type
Public var As Type
Private var As Type
其中:
Public 定义公有变量
Dim、Private 定义私有变量
Option Explicit 关键字

在VisualBasic中用户可以不声明而直接使用变量,但容易产生错误。可以使用Option Explicit关键字强制声明变量,必需先声明再引用。
Option Explicit关键字放在窗体或模块的通用声明(GenneralDeclarations)处。
也可以通过设置将Option Explicit自动加到每个模块中。
变量的作用域

局部(Local):在过程级定义的变量,仅在声明它的过程中可见。
模块/窗体(Modudule/Form):在模块或窗体级声明的变量,在声明它的模块或窗体中的所有过程中可见。
公有(Public):在模块或窗体级声明的变量,在所有项目的任何过程中都可见。
Static 关键字

普通的局部变量在过程结束后被释放,在下次执行过程时从新初始化为0。
用Static声明的局部变量在过程结束后不被释放,仍保留变量的值。
例如:
Sub P()
Static I As Integer
I=I+1
MsgBox "A=" & I
End Sub
常量

常量是程序中不发生变化的值。它和变量一样有三种作用域:
它的定义语法如下:
[Public]Const con[As Type]=expression
[Private]Const con[As Type]=expression
[]内为可以缺省项
数据类型转换

VisualBasic自动完成某些数据转换,为提高运行速度,我们通常使用CType() 函数显示地转换。
VisualBasic转换函数包括:
CBool 转换为Boolean类型
CByte 转换为Byte类型
CCur 转换为Currency类型
CDate 转换为Date类型
CDbl 转换为Double类型
CInt 转换为Integer类型
CLng 转换为Long类型
CSng 转换为Single类型
CStr 转换为String类型
CVar 转换为Variant类型
CVErr 转换为Error类型

TOP

返回列表 回复 发帖