第十一章文件
考生文件夹的txt文件,我会另外做一个文件夹给你们。答案中的app.path&……是指相对路径,不要写成这样。大家做题目的时候,一定要用绝对路径。即去复制路径。
No . 1
Private Sub Command1_Click()
Dim a As String
Open "d:\in.txt" For Input As #1
Line Input #1, a
Text1.Text = a
Close #1
Private Sub Command2_Click()
Dim b As String, s As String
Open "d:\in.txt" For Input As #1
Do While Not EOF(1)
b = Input(1, #1)
b = Chr(Asc(b) + 5)
s = s + b
Loop
Close #1
Text2.Text = s
End Sub
No . 2
Private Sub Command1_Click()
Dim n As String, m As Integer
n = Text1.Text
m = countchar(n)
Open "d:\paperoout.txt" For Output As #1
Print #1, m
Close #1
End Sub
M=CounterChar(n) 此语句调用CounterChar过程来统计文件中字符的个数,然后将数字赋值给M变量
Private Function CountChar(ch As String) As Long
Dim iCounter As Long, MyChar …以下是题目已经编辑好的函数过程,考查调用
ch = Text1.Text
ch = UCase(ch)
iCounter = 0
Open App.Path & "\PaperIn.txt" For Input As #1
Do While Not EOF(1)
MyChar = Input(1, #1)
If UCase(MyChar) = ch Then
iCounter = iCounter + 1
End If
Loop
Close #1
CountChar = iCounter
End Function
No . 3
Private Sub Command1_Click()
Text1.Text = aaa()
End Sub
Private Sub Command2_Click()
Open "d:\outfile.txt" For Output As #1
Print #1, Text1.Text
Close #1
End Sub
Function Aaa() …以下是题目已经编辑好的函数过程,考查调用 Dim str1 As String, str2 As String, i As Integer
Open App.Path & "\Infile.txt" For Input As #1
Input #1, str1
Text1.Text = str1
Close
For i = 1 To Len(str1)
str2 = Mid(str1, i, 1)
If str2 >= "a" And str2 <= "z" Then
str2 = UCase(str2)
ElseIf str2 >= "A" And str2 <= "Z" Then
str2 = LCase(str2)
End If
Aaa = Aaa & str2
Next i
End Function
No . 4
Private Sub Command1_Click()
Open "d:\aout.txt" For Output As #1
Print #1, Label1.Caption
Close #1
End Sub
No . 5
程序代码:
Dim A(0 To 99) As Integer
Dim B(0 To 99) As Integer
Dim i As Integer, j As Integer
Private Sub Command1_Click()
Open "考生文件夹\ in.txt" For Input As #1
For i = 0 To 99
Input #1, A(i)
Next i
Close #1
End Sub
Private Sub Command2_Click()
For i = 0 To 99
If A(i) Mod 2 <> 0 Then B(i) = A(i) Next i
End Sub
No . 6
No . 7
No . 8
程序代码:
Private Sub Command1_Click()
Dim str As String, str1 As String
Open "考生文件夹\datafile.txt" For Input As #1
Do While Not EOF(1)
str = Input$(1, #1)
If str = Text1.Text Then str = "*"
str1 = str1 & str
Loop
Close #1
Open "考生文件夹\datafile.txt" For Output As #2
Print #2, str1
Close #2
End Sub
No . 9
Private Sub Command1_Click()
Dim str1 As String, str2 As String
Open "考生文件夹\infirst.txt" For Input As #1
Open "考生文件夹\insecond.txt" For Input As #2
Open "考生文件夹\outfile.txt" For Append As #3
Do While Not EOF(1)
Line Input #1, str1
Print #3, str1
Loop
Do While Not EOF(2)
Line Input #2, str2
Print #3, str2
Loop
Close #1, #2, #3
End Sub
No . 10
No . 11
程序代码:
Dim Arr(15) As Integer
Private Sub Command1_Click()
Open "考生文件夹\jsdata.txt" For Input As #1 For i = 1 To 15
Input #1, Arr(i)
Next i
Close #1
If Op1.Value = True Then
T1.Text = Aaa()
Else
T1.Text = Bbb()
End If
End Sub
No . 12
No . 13
No . 14
No . 15
程序代码:
Dim a(1 To 10) As Integer
Private Sub Command1_Click()
Dim i As Integer
Open "考生文件夹\yssj.txt" For Input As #1
For i = 1 To 10
Input #1, a(i)
Next i
Close #1
End Sub
Private Sub Command2_Click()
Dim i As Integer
For i = 1 To 10
If a(i) Mod 3 = 2 Then
Text1.Text = Text1.Text & a(i) & " "
End If
Next i
End Sub
No . 16
程序代码:
Private Sub Command1_Click()
Dim st As String
Open "考生文件夹\Tezf\yy.txt" For Input As #1
Do While Not EOF(1)
Line Input #1, st
Text1.Text = Text1.Text + st + vbCrLf
Loop
End Sub
Private Sub Command2_Click()
Dim n As Integer, a As String, sum As Integer
n = Len(Text1.Text)
For i = 1 To n
a = UCase(Mid(Text1.Text, i, 1))
If a <= "Z" And a >= "A" Then sum = sum + 1
Next i
Label1.Caption = "共" & sum & "个英文字符"
End Sub
No . 17
Private Sub Command1_Click()
'''不得删改本行注释
Dim st As String
Text1.Text = ""
Open "考生文件夹\yy.txt" For Input As #1
Do While Not EOF(1)
Line Input #1, st
Text1.Text = Text1.Text + st + vbCrLf Loop
Close #1
End Sub
Private Sub Command2_Click()
'''不得删改本行注释
Dim i As Integer, s As String * 1, j As Long
For i = 1 To Len(Text1.Text)
s = Mid(Text1.Text, i, 1)
If UCase(s) < "A" Or UCase(s) > "Z" Then j = j + 1 Next i
Label1.Caption = "共" & j & "个非英文字母"
End Sub
No . 18
程序代码:
Dim a(1 To 10) As String, i As Integer
Private Sub Command1_Click()
Open "考生文件夹\zfwj.txt" For Input As #1
For i = 1 To 10
Input #1, a(i)
Text1.Text = Text1.Text & a(i) & " "
Next i
End Sub
Private Sub Command2_Click()
Dim t As String
For i = 1 To 5
t = a(i)
a(i) = a(10 - i + 1)
a(10 - i + 1) = t
Next i
For i = 1 To 10
Text2.Text = Text2.Text & a(i) & " "
Next i
End Sub
No . 20
程序代码:
Private Sub Command1_Click()
Dim i As Integer, a As String, b As String, st As String
Open "考生文件夹\xhxm.txt" For Output As #1
For i = 1 To 3
a = InputBox("请输入学生的学号:", "学号")
b = InputBox("请输入学生的姓名:", "姓名")
Write #1, a, b
Next i
Close #1
End Sub
Private Sub Command2_Click()
Dim st As String
Open "考生文件夹\xhxm.txt" For Input As #1
Do While Not EOF(1)
Line Input #1, st
Text1.Text = Text1.Text & st & vbCrLf
Loop
End Sub
No . 21
写入文件命令按钮单击事件代码如下:
Option Explicit
Private Sub Command1_Click()
''' 不得删除本行注释
Dim i As Integer
Open "d:\zfwj.txt" For Output As #1
For i = 1 To Val(Text1.Text)
Print #1, String(i, Chr(Asc(i))) ‘i不能加引号
Next i
Close #1
End Sub
No . 22
Option Explicit
Dim Arr(10) As String
Private Sub Command1_Click()
'''不得删改本行注释
Dim i As Integer
Open "考生文件夹\rywj.txt" For Input As #1
For i = 1 To 10
Input #1, Arr(i) ‘只能用Input读取,遇到空格逗号Input语句会停止Next i
Close #1
End Sub
Private Sub Command2_Click()
'''不得删改本行注释
Dim i As Integer
For i = 1 To 10
If Len(Arr(i)) = 2 Then T1.Text = T1.Text & Arr(i) & Space(1)
Next i
End Sub
No . 23
Option Explicit
Dim Arr(10) As String
Private Sub Command1_Click()
'''不得删改本行注释
Dim i As Integer
Open "考生文件夹\rywj.txt" For Input As #1
For i = 1 To 10
Input #1, Arr(i) ‘只能用Input读取,遇到空格逗号Input语句会停止Next i
Close #1
End Sub
Private Sub Command2_Click()
'''不得删改本行注释
Dim i As Integer
For i = 1 To 10
If left(Arr(i),1) = “黄” or left(Arr(i),1) = “陈”Then T1.Text = T1.Text & Arr(i) & “”
Next i
End Sub
No . 24
Option Explicit
Dim N(1 To 10) As String, i As Integer
Private Sub Command1_Click()
'''不得删改本行注释
List1.Clear
Open "考生文件夹\yzfwj.txt" For Input As #1
For i = 1 To 10
Input #1, N(i)
List1.AddItem N(i)
Next i
Close #1
End Sub
Private Sub Command2_Click()
'''不得删改本行注释
List2.Clear
For i = 0 To 9
List2.AddItem List1.List(i), 0 ‘指定index,代表插入的位置,一直插入在第一位Next i
End Sub
No . 25
''' 不得删改下句声明
Dim Arr(19) As Integer
Private Sub Command1_Click()
''' 不得删除本行注释
ReadData
End Sub
Private Sub Command2_Click()
''' 不得删除本行注释
Dim i As Integer, max As Integer
max = Arr(0)
For i = 1 To 19
If Arr(i) > max Then max = Arr(i)
Next i
For i = 0 To 19
s = s + Arr(i)
Next i
Text1.Text = CInt((s - max) / 19) ‘用int函数即可End Sub
'################################################# Private Sub ReadData()
Dim i As Integer
Open App.Path & "\" & "Adata.txt" For Input As #1
For i = 0 To 19
Input #1, Arr(i)
Next i
Close #1
End Sub
'################################################ No . 25
Private Sub Command1_Click()
Dim a As String
Open "d:\zfcwj.txt" For Input As #1 Line Input #1, a
Text1.Text = a
Close #1
Text2.Text = Len(Text1.Text)
End Sub
No . 26
Dim a(19) As Integer
Private Sub Command1_Click()
Dim i As Integer
Open "d:\y24.txt" For Input As #1
For i = 0 To 19
Input #1, a(i)
Next i
Text1.Text = "y24.txt文件数据已读入" Close #1
End Sub
Private Sub Command2_Click()
Dim sum As Long
For i = 0 To 19
sum = sum + a(i)
Next i
Text1.Text = sum
End Sub
No . 27
Dim a(9) As Integer
Private Sub Command1_Click()
Dim i As Integer
Open "d:\yssj.txt" For Input As #1
For i = 0 To 9
Input #1, a(i)
Next i
Close #1
End Sub
Private Sub Command2_Click()
Dim sum As Long
For i = 0 To 9
If a(i) Mod 2 = 0 Then ‘要输出奇数就用If a(i) Mod 2 = 1 Then label1.Caption = label1.Caption & a(i) & " "
End If
Next i
End Sub
No . 28