过程
通用过程的定义以及调用
ByVal 按值传递
ByRef 按地址传递
调用过程需要用到关键字 Call
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Dim Y, S As Long
Call JC(5, Y)
S = Y
Call JC(10, Y)
Debug.Print("5!+10!=" & S + Y)
End Sub
Public Sub JC(ByVal N As Integer, ByRef T As Long)
Dim I As Integer
T = 1
For I = 1 To N
T = T * I
Next I
End Sub
Function 过程的定义和调用
Private Sub From1_Click(...) Handles Me.Click
Dim A As Single = 10
Dim B As Single = 20
Dim C As Single = 30
Dim S As Single
S = Max(A, B)
Debug.Print("max=" & Max(S, C))
End Sub
Public Sub Max(ByVal M As Single, ByVal N As Single)As Single
If M > N Then
Max = M
Else
Max = N
End If
End Sub
数据文件
打开关闭文件
FileOpen(文件号,文件名,模式)
-
文件名一般是一个绝对路径加文件名
-
模式
模式 | 内容 | 备考 |
OpenMode.Output | 向文件写入数据 | 文件存在清除原内容,不存在 新建文件 |
OpenMode.Input | 从文件中读取数据 | |
OpenMode.Append | 把数据添加到文件末尾 |
-
关闭文件流
FileClose(文件号)
读写文件
-
Write(文件号,表达式表) 写入表达式末尾不加换行符
-
WriteLine(文件号,表达式表) 写入表达式末尾加换行符
-
Print
-
PrintLine
-
Input (文件号,变量名) 读取文件,变量的数据类型与文件的类型要匹配 ,系统是采用文件指针的形势读取文件,会记住读到的位置 ,向重新读的关闭文件。
-
字符串变量名 = LineInput(文件号) 从指定的顺序文件中读取一行数据。
-
InputString
Private Sub From1_Click(...) Handles Me.Click
Dim K As Integer
FileOpen(1, "D:\VB1.TXT", OpenMode.Output)
FileOpen(1, "D:\VB2.TXT", OpenMode.Output)
For K = 1 To 50
Write(1, K)
If K Mod 7 = 0 Then
Write(2, K)
End If
Next
FileClose(1, 2)
Me.Close()
End Sub
Private Sub From1_Click(...) Handles Me.Click
Dim K, X As Integer
FileOpen(1, "D:\VB1.TXT", OpenMode.Input)
Do While Not EOF(1)
Input(1, X)
Debug.Write(X & Space(5))
K = K + 1
If K Mod 5 = 0 Then
Debug.Write(Chr(13))
End If
Loop
FileClose(1)
End Sub
异常捕获
Err对象
Err对象是全局性固有对象用来保存最新产生的错误
-
Err.Number 用来保存错误码
-
Err.Source 指明错误产生的对象或应该程序的名称
-
Err.Description 记入简单的错误信息
On Error GoTo ErrLine [后面代码出错是回跳到ErrLine 如果想继续执行标号换成 0]
...
ErrLine:
...
Resume [抛出错误后跳转到指定位置执]
-
Resume [0]: 返回出错语句继续执行
-
Resume Next: 返回到出错语句下一句继续执行
-
Resume 标号: 返回到标号继续执行
Try Catch Finally
Try
...
Catch
...
Finally
...
End Try
怎么都会执行Finally...End Try段语句