Board logo

标题: [基础] 有关读取文本文件的小问题 [打印本页]

作者: zali    时间: 2007-5-9 15:53     标题: 有关读取文本文件的小问题

请看以下代码,是将一个文本文件输入一个文本框的,但现在有个问题就是:这种方法是逐行读入,对于小文件来说马上就好,但是如果一个文本有几千上万行的话就很慢了,不知哪位有比较快点的方法能实现,先谢过了   
Dim InputData
CommonDialog1.Action = 1
   Open CommonDialog1.FileName For Input As #1
Do While Not EOF(1)
   Line Input #1, InputData
      Text1.Text = Text1.Text & inputdata & Chr(13) & Chr(10)  
Loop
Close #1
作者: Nothing    时间: 2007-5-9 16:32

使用Seltext属性
例如下面的代码
    Dim InputData
    CommonDialog1.Action = 1
    Open CommonDialog1.FileName For Input As #1
    Do While Not EOF(1)
       Line Input #1, InputData
       Text1.SelText = InputData & vbCrLf
    Loop
    Close #1

作者: zali    时间: 2007-5-9 16:57

也还是挺慢的,不过现在发现用字节读取最快,
Open CommonDialog1.FileName For Binary As #1
InputData = Space(LOF(1))
Get #1, , InputData
Text1.Text = InputData
Close #1
作者: Nothing    时间: 2007-5-9 17:56

如果行多,慢在了循环上,直接读全部记录确实很快。
作者: zali    时间: 2007-5-11 16:39     标题: 一个新问题

不知有没哪位编过在文本框中查找字符的代码,不是instr这种的,跟记事本类似的,弹出一个子窗口,然后输入查找内容,应该是用find函数,如下所示,但是现在有个问题就是查找到之后无法自动选中,即高亮显示,如果设定查找后文本框获得焦点那就可以,但是那样的话子窗口又失去焦点了,查找下一个的话就要点两次:把子窗口点为当前窗口,然后再查找,太麻烦了,一般的文本编辑软件好像都没那个问题,不知道人家是怎么做的,还望高手多多指教!

With Form1.Text1
result = .find(Text1.Text, , , rtfNoHighlight)
End With
作者: Nothing    时间: 2007-5-11 21:27

用RichTextbox吧。




欢迎光临 编程开发论坛 (http://bbs.lihuasoft.net/) Powered by Discuz! 6.0.0