注册 登录
编程论坛 VB6论坛

求教一个用vb操作文本文件小问题

btt6 发布于 2016-10-17 14:37, 1677 次点击
如现在有个打开的文本文件“c:\a.txt”,能否用vb来实现选中这个文件的第二行,就像按住鼠标左键拖动的效果,不需要读取具体的内容,用vb应该如何实现呢
5 回复
#2
xiangyue05102016-10-17 15:35
如果是用系统默认的记事本或者写字板,这个应该是无法实现的。
如果VB自己的界面,使用Textbox。Richtext是可以的。
比如textbox,使用的是下面这两句来控制的
Text1.SelStart = 0
Text1.SelLength = n
#3
btt62016-10-17 16:31
如果是vb里的textbox控件里的话,要把第二行选中应该怎么写呢
#4
Panda20162016-10-17 16:42
回复 楼主 btt6
这个VB自身功能无法实现,要借用API函数了,如果你没学API,不能看懂代码也没关系,需要替换的地方,我都简单标注了一下。

只有本站会员才能查看附件,请 登录
#5
xiangyue05102016-10-18 09:22
回复 3楼 btt6
你说的行不清楚是怎么定义的。如果是后面接了一个换行符,也就是相当于段落了。下面的代码可以实现。我的是第一行,你自己改改。
但如果是自动换行的之后的行,比如“123456……789” 中789因为宽度自动换行变成了第二行。这个第二行不好提,因为跟Textbox宽度,font等有关。
程序代码:

Private Sub CommandButton2_Click()

 TextBox1.SetFocus   '必须获取焦点,否则没有反色显示的效果
i = InStr(TextBox1.Text, vbCrLf) '获取第一个换行符
j = InStr(i + 1, TextBox1.Text, vbCrLf) '获取第二个换行符
TextBox1.SelStart = i

 TextBox1.SelLength = j - i - 1
End Sub
#6
xiangyue05102016-10-18 09:24
回复 4楼 Panda2016
赞。这个API不错。
不过对于新人API,太难了。我现在都是能不用就不用。所以我的API还是很菜。
1