当前位置:编程学习 > VB >>

VB6 怎么定位读写文件??

假如有文件a.txt
内容为:
dsfsddsfds
sdafds
VBVB dsfsd
cbcvbvc
=====
怎么读出VBVB这一行后的东西??
前提也不知道这个行是弟几行,只知道有个VBVB
怎么再把VBVB后面的字符换为别的??
--------------------编程问答-------------------- 打开 a.txt 逐行读,判断起始是否为 VBVB。
要改写内容必须新建一个文件,将改写与非改写的内容逐行写入,最后用该文件覆盖 a.txt。
--------------------编程问答-------------------- 能否给段代码??新手 --------------------编程问答-------------------- dim Txt(5) as string
dim strLine string
dim FileIndex as integer

lngHandle = FreeFile()
Open "D:\文件\a.txt" For Output Shared As #lngHandle  
do while not eof(lngHandle) 
      FileIndex=FileIndex +1 
      Line Input #lngHandle, strLine '读取一行到变量strLine中(不含换行符、回车符)
      Txt(FileIndex-1)=strLine & vbCrLf 
      if InStr(strLine ,"VBVB")>0 then
         if InStr(strLine,"dsfsd")>0 then
            mid(strLine,InStr(strLine,"dsfsd"),len(dsfsd))="longxin123(龙的心)"
            Txt(FileIndex-1)=strLine & vbCrLf 
            msgbox("替换成功!")
         endif
         MsgBox("第"& FileIndex &"行   " & strLine)
         exit do
      endif
loop     
Close #lngHandle

if Dir("D:\文件\a.txt") then kill("D:\文件\a.txt")  
open "D:\文件\a.txt" for output as #lngHandle   
do while not eof(lngHandle)
   FileIndex=FileIndex +1  
   print #lngHandle,Txt(FileIndex-1)   
close #lngHandle

   
--------------------编程问答-------------------- 谢谢这个问题已经解决了
我还有个问题:
我加个SysTray控件

我禁用了点X退出,用右键菜单退出
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Cancel = True
Me.Hide
sty.InTray = True
End Sub
但在退出时光提示异常
Private Sub quit_Click()
sty.InTray = False
End

End Sub

不知道是为什么??
谁能给提示一下
谢谢 --------------------编程问答-------------------- 为什么用按钮退出就可以呢??

Private Sub Command3_Click()
End
End Sub
这样就不提示异常?? --------------------编程问答-------------------- end是结束整个程序 而且忽略错误

当然不会有任何的显示了

sty.InTray   =   True 
这个是什么意思不太明白 --------------------编程问答-------------------- 用下面的方式处理,否则所有的 Unload 都被 Cancel 了。
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    If UnloadMode = vbFormControlMenu Then
        Cancel = True
        ...
    End If
End Sub

用上面的方式就可以在 quit_Click() 用 Unload me 代替 End,这样 SysTray 控件应该能正常释放。
补充:VB ,  基础类
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,