# 随机档存取的问题。(不能正确读取随机档的资料记录)

Posted by 南昌 on April 09, 1999 at 22:23:14:

最近我由 中文版vb6 转用 中文版 vb6 (专业版)，配合中文版 Win98，发现 Random File 存取好像有些问题，我看了很多书，也不能解决这些问题，希望各位前辈可以为我解答。

以下是我写的小小程式：(可以直接剪贴去vb6 执行)
(有一个 Text Box 及 一个 Command Button)
Private Type open_name
name As String * 10
End Type

Dim names As open_name

Private Sub Form_Load()
Dim a(3)
a(1) = "1234567890"
a(2) = "abcdefghij"
a(3) = "你好吗"
Open "c:\vb6_temp.txt" For Random Shared As #1 Len = Len(names)
For i = 1 To 3
names.name = a(i)
Put #1, i, names
Next i
Close #1
End Sub

Private Sub Command1_Click()
Open "c:\vb6_temp.txt" For Random Shared As #1 Len = Len(names)
Get #1, text1.text , names
Print trim(names.name)
Close #1
end Sub

当我执行之后，在 Text Box 分别输入 1，3，2，3。(数字是record 的位置)，得出的答案如下：
输入 1 得出的答案 1234567890 (正常)
输入 3 得出的答案 你好吗 890 (错误，后面出现 890)
输入 2 得出的答案 abcdefghij (正常)
输入 3 得出的答案 你好吗 hij (错误，后面出现 hij)
有谁可以告诉我到底为什么会有这种情形及应该如何解决？(当读取记录(内含中文)，为什么会留有上一张记录的资料)。首要条件是要配合 Type ..End Type 及 Random File。
谢谢

Follow Ups:

- Re: 随机档存取的问题。(不能正确读取随机档的资料记录) a boy 16:33:18 4/12/99 (0)
- Re: 随机档存取的问题。(不能正确读取随机档的资料记录) 纪文和 05:27:04 4/10/99 (4)
  - Re: 随机档存取的问题。(已经会用 strconv 及 istrlen, 还是不行) 南昌 17:45:33 4/10/99 (3)
    - Re: 随机档存取的问题。(已经会用 strconv 及 istrlen, 还是不行) 南昌 17:55:01 4/10/99 (2)
      - Re: 随机档存取的问题。(已经会用 strconv 及 istrlen, 还是不行) Knight 10:19:30 4/12/99 (1)
        - Re: 随机档存取的问题。(已经会用 strconv 及 istrlen, 还是不行) Knight 11:58:54 4/12/99 (0)