读取文本文件内容并打印输出
Private Sub Command1_Click()
Dim TextLine As String
Open "c:\\testfile.txt" For Input As #1
Do While Not EOF(1)
Line Input #1, TextLine
Print TextLine
Loop
Close #1
End Sub
新建文件并写入文件内容
Private Sub Form_Load()
Const ForReading = 1, ForWriting = 2
Dim fso, f
Dim SkipLineInFile As String
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile("c:\\testfile.txt", ForWriting, True) f.Write "Hello world!" & vbCrLf & "VB Script is fun!"
Set f = fso.OpenTextFile("c:\\testfile.txt", ForReading) SkipLineInFile = f.readall
Debug.Print SkipLineInFile
End Sub
冒泡上浮
Private Sub Command1_Click()
Dim d(1 To 4) As Integer
d(1) = Val(Text1.Text)
d(2) = Val(Text2.Text)
d(3) = Val(Text3.Text)
d(4) = Val(Text4.Text)
For i = 1 To 3
For j = 4 To i + 1 Step -1
If d(j) < d(j - 1) Then
t = d(j)
d(j) = d(j - 1)
d(j - 1) = t
End If
Next j
Next i
For i = 1 To 4
List1.AddItem d(i)
Next i
End Sub
冒泡下沉
Dim d(1 To 4) As Integer
Private Sub Command1_Click() List1.Clear
Randomize
For i = 1 To 4
d(i) = Int(Rnd * 10) + 10
List1.AddItem d(i)
Next i
End Sub
Private Sub Command2_Click() '下沉算法,从小到大排序List2.Clear
For i = 1 To 3
For j = 1 To 4 - i
If d(j) > d(j + 1) Then
k = d(j)
d(j) = d(j + 1)
d(j + 1) = k
End If
Next j
Next i
For i = 1 To 4
List2.AddItem d(i)
Next i
End Sub
选择排序
Dim d(1 To 120) As Integer Dim ct As Integer
'选择排序
Private Sub Command1_Click() ct = 120
For i = 1 To ct - 1
k = i
For j = i + 1 To ct
If d(j) < d(k) Then k = j
Next j
If i <> k Then
kt = d(i): d(i) = d(k): d(k) = kt
End If
Next i
For i = 1 To ct
List2.AddItem Str(d(i))
Next i
ct = 0
List1.AddItem ""
List2.AddItem ""
End Sub
'产生递增数
Private Sub Command2_Click()
Dim dv As Integer
List1.Clear
For i = 1 To 120
dv = dv + Fix((Timer() Mod 67 + 13) * Rnd()) + 1
d(i) = dv
List1.AddItem d(i)
Next i
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
ct = ct + 1
d(ct) = Val(Text1.Text)
List1.AddItem Str(d(ct))
Text1.Text = ""
Text1.SetFocus
End If
End Sub
'对分查找对数列有要求,必须是有序,对分查找一般只能确定数列是否存在该数
'顺序查找不但能确定数列是否存在该数,而且能找出数列存在数的个数,对数列无殊要求,查找效率比对分查找低
Private Sub Command5_Click() '过程5:对分查找,必须掌握当前以由小到大数列进行查找
Dim key, i, j, m, n As Integer
Dim bz As String
bz = "不存在该数"
key = Val(Text1.Text)
n = 0
i = 1
j = 100
Do While i <= j
n = n + 1 '计数器n用来计数总共查找了多少次
m = Fix((i + j) / 2)
If d(m) = key Then
bz = "存在该数,在第" + Str(m) + "位" '***
Exit Do
ElseIf d(m) < key Then
i = m + 1
Else
j = m - 1
End If
Loop
bz = bz + ",共查找" + Str(n) + "次" '想想看为什么变量bz在此处连接str(n),而不在***处Label1.Caption = bz
End Sub
Private Sub Command6_Click() '过程6:顺序查找
Dim key, m As Integer
Dim bz As String
m = 0
bz = "不存在该数"
key = Val(Text1.Text)
For i = 1 To 100
If d(i) = key Then
m = m + 1
End If
Next i
If m > 0 Then
bz = "存在该数,总共有" + Str(m) + "个"
End If
Label1.Caption = bz
End Sub。