难题:vb 与文件及字符串相关

chenyuntian 2004-03-23 03:39:26
本人现在需要解决以下难题:

1.已知一文件(文本文件).需要将其中含有 "<<<的标记开始到下一个标记"<<<<"之间的字符.存在一字符串中.如果查下一组又怎么取?
2.如何把一文件的全部内容一次读出到一字符串中?
3.如何读一文件的指定位置下一行的数据?VB 使用readline .当前行的指针是什么?
怎么得到它?怎么修改它?
...全文
90 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenyuntian 2004-03-27
  • 打赏
  • 举报
回复
问题:???????????????

3.如何读一文件的指定位置下一行的数据?VB 使用readline .当前行的指针是什么?
怎么得到它?怎么修改它?
northwolves 2004-03-26
  • 打赏
  • 举报
回复
没有调试:

Function GETLINE(ByVal FILEPATH As String, ByVal STARTPOS As Long) As String
Dim all As String, mybyte() As Byte, TEMPSTART As Long, TEMPLEN As Long
Open FILEPATH For Binary As #1
ReDim mybyte(LOF(1))
Get #1, , mybyte
Close #1
all = StrConv(mybyte, vbUnicode)
Erase mybyte
TEMPSTART = InStr(STARTPOS, all, vbCrLf)
TEMPLEN = InStr(STEMPSTART, all, vbCrLf) - TEMPSTART
GETLINE = Trim(Mid(all, TEMPSTART, TEMPLEN))
all = ""
End Function
chenyuntian 2004-03-26
  • 打赏
  • 举报
回复
谢谢!
指定位置即知道该字符串在文件中的位置.如文件总长度为12000,字符串在第344个字符处.
northwolves 2004-03-23
  • 打赏
  • 举报
回复
Private Sub Command1_Click()
Dim x

Dim all As String, mybyte() As Byte
Open "c:\aaa.txt" For Binary As #1
ReDim mybyte(LOF(1))
Get #1, , mybyte
Close #1
all = StrConv(mybyte, vbUnicode)
MsgBox all '第二题

x = Split(all, "<<<<")
For i = 0 To UBound(x) - 1
If InStr(x(i), "<<<") > 0 Then Debug.Print Right(x(i), Len(x(i)) - InStrRev(x(i), "<<<") - 2) '第一题
Next
End Sub

Private Sub Form_Load()
Open "c:\aaa.txt" For Binary As #1
Put #1, , "123<<<45678<<<<sadadgh<<<5879346897203<<<<89843543<<<3432jfdf<<<<2424"
Close #1
End Sub



3 “指定位置 ”什么意思?
lxcc 2004-03-23
  • 打赏
  • 举报
回复
可以考虑的方法:
用WORD打开此文本文件,然后录制一段宏代码,然后在VB里面执行(前提你要对WORD编程熟悉),
否则考虑FSO
chenyuntian 2004-03-23
  • 打赏
  • 举报
回复
需要实例代码看看.
cooleaf 2004-03-23
  • 打赏
  • 举报
回复
1,读出来之后用字符串的方法进行操作。(Split)
2, 创建TextStream对象,用这个对象的ReadAll方法
3, 创建TextStream对象,用这个对象的Line方法。

7,759

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧