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属性
例如下面的代码
[table=95%][tr][td][color=#000000][color=#0000ff][color=#000000] [/color]Dim[/color] InputData
CommonDialog1[color=#0000cc].[/color]Action [color=#0000cc]=[/color] 1
Open CommonDialog1[color=#0000cc].[/color]FileName [color=#0000ff]For[/color] Input As #1
[color=#0000ff]Do[/color] [color=#0000ff]While[/color] [color=#0000ff]Not[/color] EOF[color=#0000cc]([/color]1[color=#0000cc])[/color]
Line Input #1[color=#0000cc],[/color] InputData
Text1[color=#0000cc].[/color]SelText [color=#0000cc]=[/color] InputData [color=#0000cc]&[/color] vbCrLf
[color=#0000ff]Loop[/color]
Close #1[/color][/td][/tr][/table]
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
zali 2007-5-11 16:39
一个新问题
不知有没哪位编过在文本框中查找字符的代码,不是instr这种的,跟记事本类似的,弹出一个子窗口,然后输入查找内容,应该是用find函数,如下所示,但是现在有个问题就是查找到之后无法自动选中,即高亮显示,如果设定查找后文本框获得焦点那就可以,但是那样的话子窗口又失去焦点了,查找下一个的话就要点两次:把子窗口点为当前窗口,然后再查找,太麻烦了,一般的文本编辑软件好像都没那个问题,不知道人家是怎么做的,还望高手多多指教!
With Form1.Text1
result = .find(Text1.Text, , , rtfNoHighlight)
End With