有这样一个界面,有四个标签,分别为“姓名”、“单位”、“年龄”、“工资”
每个标签下都有一个文本框来显示标签指定的内容。有四个命令按钮,分别为“建立文件”、“打开文件”、“前一个记录”、“下一个记录”、“退出”。编程如下:定义记录类型变量:
Type inf
nam As String * 3
unit As String * 4
age As Integer
salary As Integer
End Type
在窗体层定义 p as inf编写“建立文件”代码:
Private Sub Command1_Click()
Open "d:\wj.txt" For Random As #1 Len = Len(p)
begin:
p.nam = InputBox$("职工姓名")
p.unit = InputBox$("职工单位")
p.age = InputBox$("职工年龄")
p.salary = InputBox$("职工工资")
Put #1, , p
q = InputBox$("是否继续输入(Y/N)?")
If q = UCase("y") Then
GoTo begin
Else
Exit Sub
End If
End Sub
编写“打开文件”代码
Private Sub Command2_Click()
Static n As Integer
n = 1
Get #1, n, p
Text1.Text = p.nam
Text2.Text = p.unit
Text3.Text = p.age
Text4.Text = p.salary
End Sub
编写“下一个记录”代码
Private Sub Command3_Click()
If EOF(1) = True Then
MsgBox "已经是最后一个记录"
Else
Get #1, n + 1, p
Text1.Text = p.nam
Text2.Text = p.unit
Text3.Text = p.age
Text4.Text = p.salary
End If
End Sub
编写“前一个记录”代码
Private Sub Command4_Click()
If n = 1 Then
MsgBox "已经是第一个记录"
Else
Get #1, n - 1, p
Text1.Text = p.nam
Text2.Text = p.unit
Text3.Text = p.age
Text4.Text = p.salary
End If
End Sub退出代码
Private Sub Command6_Click()
End
End Sub建立文件,打开文件都没有问题,只是前一个记录,下一个记录的功能不能实现,点击下一个记录没有反应,前一个记录提示“记录号错误”。实在不明白了。大家邦我看看,尽量在我的基础上不要改的太多,谢谢。
还有我用随机方式打开文件,文件是一个记事本(*.txt),向文件中写入记录,为何写入进去的内容是乱码?
每个标签下都有一个文本框来显示标签指定的内容。有四个命令按钮,分别为“建立文件”、“打开文件”、“前一个记录”、“下一个记录”、“退出”。编程如下:定义记录类型变量:
Type inf
nam As String * 3
unit As String * 4
age As Integer
salary As Integer
End Type
在窗体层定义 p as inf编写“建立文件”代码:
Private Sub Command1_Click()
Open "d:\wj.txt" For Random As #1 Len = Len(p)
begin:
p.nam = InputBox$("职工姓名")
p.unit = InputBox$("职工单位")
p.age = InputBox$("职工年龄")
p.salary = InputBox$("职工工资")
Put #1, , p
q = InputBox$("是否继续输入(Y/N)?")
If q = UCase("y") Then
GoTo begin
Else
Exit Sub
End If
End Sub
编写“打开文件”代码
Private Sub Command2_Click()
Static n As Integer
n = 1
Get #1, n, p
Text1.Text = p.nam
Text2.Text = p.unit
Text3.Text = p.age
Text4.Text = p.salary
End Sub
编写“下一个记录”代码
Private Sub Command3_Click()
If EOF(1) = True Then
MsgBox "已经是最后一个记录"
Else
Get #1, n + 1, p
Text1.Text = p.nam
Text2.Text = p.unit
Text3.Text = p.age
Text4.Text = p.salary
End If
End Sub
编写“前一个记录”代码
Private Sub Command4_Click()
If n = 1 Then
MsgBox "已经是第一个记录"
Else
Get #1, n - 1, p
Text1.Text = p.nam
Text2.Text = p.unit
Text3.Text = p.age
Text4.Text = p.salary
End If
End Sub退出代码
Private Sub Command6_Click()
End
End Sub建立文件,打开文件都没有问题,只是前一个记录,下一个记录的功能不能实现,点击下一个记录没有反应,前一个记录提示“记录号错误”。实在不明白了。大家邦我看看,尽量在我的基础上不要改的太多,谢谢。
还有我用随机方式打开文件,文件是一个记事本(*.txt),向文件中写入记录,为何写入进去的内容是乱码?
1、你的N要定义成全局变量
2、在“下一个记录“、“前一个记录”操作里面你并没有改变N的值
Static n As Integer
n = 4
End SubPrivate Sub Command2_Click()
n = n + 1
Debug.Print n
End Sub点击command1可以将静态变量n设置为4,然后你点击command2,看看打印出来的n值是5还是1。