请问,vb能不能对一个文件同时读写,我现在想要在一个文件中查找一个字段,如果找不到就写入这个字段,不知道该如何实现?
解决方案 »
- API函数提问:Findwindow和Sendmessage
- 控件升级的问题
- 60'求解比较简单的数据问题,请帮忙!
- 如何在excel中生成宏??
- 【发布】一个控件:能够透过Socks5的UDP通讯控件,支持字节收发和文本收发,支持用户名口令。
- 如何取得数据库中下一条记录的自动编号是多少
- 关于用VB建立数据表和字段的请教!
- 100分问题
- 关于viewtree 使用
- mschart表格控件中,如何在饼图上的各个部分显示百分比?
- 关于WndProc的学习, VB利用textbox编辑ListView的SubItem
- Oracle数据库中的数据有繁体,查询时在DataGrid里显示乱码,导出到Excel也一样,怎么解决??
若是字符串,需先把待查串用strconv转成ANSI串的Byte数组,用Binary方式打开文件,读入Byte数组,用instrB查找。若文件很大,还要做分段读取处理。
Private Const SplitStr1 As String = "("
Private Const SplitStr2 As String = ")"
Private Function SerchFile(File As String, SerchByte() As Byte) As Boolean
Dim FreeNo As Long, a() As Byte, FindOk As Boolean, Length As Long
FreeNo = FreeFile
Open File For Binary As #FreeNo
Length = LOF(FreeNo)
If Length > 0 Then
ReDim a(Length - 1)
Get #FreeNo, , a
If InStrB(1, a, SerchByte) > 0 Then FindOk = True
End If
If FindOk = False Then Put #FreeNo, Length + 1, SerchByte
Close #FreeNo
SerchFile = FindOk
End Function
Private Sub Command1_Click()
Dim a() As Byte
a = StrConv(SplitStr1 & Text1.Text & SplitStr2, vbFromUnicode)
If SerchFile("c:\1.txt", a) Then
MsgBox "关键字存在"
Else
MsgBox "关键字不存在,已添加到文件尾部"
End If
End Sub