我想打开文件之后只读取其中的一段,放到变量中

张群区块链
业界专家认证
2004-09-23 03:00:20
ggjjddmm,如体所述。

GET 方法只指定了从文件的指定地方开始读取,如果要读取指定的一段,怎么搞?就好像 MID 函数似的功能怎么实现?

还有一个问题就是以二进制的方式打开之后读到的数据是不是都是“100011101”这样,怎么才能把这些数据输入到一个文本框中呢?我直接使用 TEXT1.TEXT=VAR 不行,该怎么办? 谢谢!
...全文
127 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jam021 2004-09-24
  • 打赏
  • 举报
回复
把10个字节都读出来然后用mid处理不行吗?
wwqna 2004-09-24
  • 打赏
  • 举报
回复
dim filebyte() byte
Open "somefile" For Binary As #1
redim filebyte(lof(1)-1) as byte
Seek #1, 2 '寻址到第2字节
Get #1, , filebyte
Close #1
这样filebyte里面保存的就是数字了,不过不是二进制的。
张群区块链 2004-09-24
  • 打赏
  • 举报
回复
噢,对了,上边我问了三个问题
张群区块链 2004-09-24
  • 打赏
  • 举报
回复
问题已经解决,techgopher 大哥的方法不错。我会给你分。

我想再问一个问题。

1。就是使用binary读去出来的数据是不是都是 '0100101010'这样的二进制流?

2。能不能在文本框中显示出这些二进制数。比如读出的数据放到了str变量中,text1.text=str为什么显示不出01001而是显示的“文件的内容”?

3。如果处理这些二进制数据的话是当作字符串来处理吗?(我晕了)
techgopher 2004-09-24
  • 打赏
  • 举报
回复
str= Space$(4) '初始化缓冲
Open "somefile" For Binary As #1
Seek #1, 2 '寻址到第2字节
Get #1, , str
Close #1

张群区块链 2004-09-23
  • 打赏
  • 举报
回复
多谢楼上的大哥,我是这个意思:假如整个文件一共有10字节(可能是二进制),我想读出 第2-5个字节的内容。就好像MID 函数一样,这个怎么实现?
tztz520 2004-09-23
  • 打赏
  • 举报
回复
Private Sub Command2_Click()
Dim ls_Content() As String
Dim S As String
Dim I As Long

Open "f:\readme.txt" For Input As #1
S = StrConv(InputB(LOF(1), #1), vbUnicode)
Close #1
ls_Content = Split(S, vbCrLf)

For I = 0 To UBound(ls_Content, 1)
Debug.Print ls_Content(I)'这里就取到每一行的数据了,你想取什么数据就从这里取吧
Next I
End Sub

2,462

社区成员

发帖
与我相关
我的任务
社区描述
VBA(Visual Basic for Applications)是Visual Basic的一种宏语言,是在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。
社区管理员
  • VBA
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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