VB 记事本 读取问题

来源:百度知道 编辑:UC知道 时间:2024/04/30 03:44:38
怎么实现VB读取记事本的时候可以从一个特征字符串开始读取
比如 记事本内容有 [开始] 然后还有[结束] 怎么实现就把他们两个之间的字符读取到记事本里面呢?他们中间有多少东西未知 [开始]之前和[结束]之后的东西未知

可用给加分 谢谢
没有别的办法了吗 因为我还要用到读取记事本的功能就是在两个特征字符之间 然后读取数据赋值给p(i)读取方式和正常读取记事本一样就是比如记事本里面是[开始] 145 15 15 45 24 [结束] 那么p(1)=145 p(2)=15 p(3)=15 p(4)=45 p(5)=24 就这样 表达不是很清晰 但愿你可以理解 呵呵

'目标
s="1234[开始]5678[结束]90ab"
'查找标志
ifindstart="[开始]"
ifindend ="[结束]"
'查找开始位置
istart=instr(s,ifindstart)
'查找结束位置
iend =instr(istart,s,ifindend)
'查找结果
iresult=mid(s,len(ifindstart)+istart,iend-(len(ifindstart)+istart))
msgbox iresult'最后结果
-----------------------------------
补充:
那我们的回答都错了,你是想在没读之前就找到[开始]与[结束]的位置是吧。
但VB的指针操作可没有C那样简单。
第一种:文件要必须是用vb的(open #文件# for output as #文件号)写的,用open input打开,然后先把文件整体读出,判断开始和结束的位置。比如:开始位置在100
,结束位置在200,判断要取得字节数。
然后定义一个Buffer,buffer=space(100+len("[开始]")),然后用buffer读一次,这样就把指针挪到想要的位置了。然后用一般变量循环读取。但必须你写入时的数据,必须是用open output方式写如的。
第二种:整体读出,然后取得想要的中间部分,然后用split分割,但是前提必须你的每个变量中间要有标志分隔符,比如:45,67,54或45;67;54这样的标志。

这个你在全体读取后 用instr查找这个区间的位置

然后用mid取就可以了

我只知道这一个办法:
在程序目录建一个a.txt文件,内容是:
[开始] 145 15 15 45 24 [结束]

Private Sub Command1_Click()
Dim str As St