VB 为什么不能完全读取出文本文件内的所有内容

用TextBox显示打开的文本文件内容,待读取的文件短一些的一切正常,长一点的就不行了
而需要读取的是纯文本文件,就是行数多一点,每一行的字节数很少,但读出来的却不到一半
研究了好多天就是不知道差哪
http://pan.baidu.com/s/1hq49yAw ,这是我做的工程文件以及要读取的文本文件
下面是VB代码
Private Sub 打开_Click()
Dim DAT As String '数据暂存用
With CommonDialog1 '设置控件属性
.Filter = "文本文件|*.txt|所有文件|*.*" '设置打开文件类型
.ShowOpen '启用打开对话框
End With '设置完成

If CommonDialog1.FileName <> "" Then '如果路径不为空
Open CommonDialog1.FileName For Binary As 1 '打开文件
Text1.Text = Input(LOF(1), 1)'加载全部内容
Close 1 '关闭打开对话框
CommonDialog1.FileName = "" '清空文件路径
Else
Exit Sub
End If
End Sub

VB的Text文本框,貌似有最大长度限制,最多只支持存储65535个字符。


一个回车换行符,相当于两个字符。

你可以测试一下你的代码:

Private Sub 打开_Click()
    Dim DAT As String                           '数据暂存用
    With CommonDialog1                          '设置控件属性
        .Filter = "文本文件|*.txt|所有文件|*.*" '设置打开文件类型
        .ShowOpen                               '启用打开对话框
    End With                                    '设置完成    
   
    If CommonDialog1.FileName <> "" Then        '如果路径不为空
        Open CommonDialog1.FileName For Binary As 1  '打开文件
        Text1.Text = Input(LOF(1), 1)'加载全部内容
        Close 1                                  '关闭打开对话框
        CommonDialog1.FileName = ""              '清空文件路径
        msgbox Len(text1.text)     '检查文本框字符数目
    Else
        Exit Sub
    End If
End Sub

private sub command1_Click()
     '测试方法:
    For i = 1 to 65534  '将这里的65534替换成65533测试,可看到最末尾数字的变化
        text1.text = text1.text & i
    next
    text1.text = text1.text & 2
    text1.text = text1.text & 3
    text1.SetFocus
    text1.SelStart = Len(Text1.Text)   '将光标切换都最末尾,可以看到最后一个数字是2
    
    
    text1.text = ""
End sub

 建议使用RichTextBox控件!

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-01-12
TextBox 控件是有长度限制的,最好用 RichTextBox 控件
相似回答