大虾救 命,读文件赋值 竟然有问题,请教!!!!!!!!!!!!!!!!!!!!!!!!

smartpeter 2005-12-07 09:53:47
很简单的一个读文本文件的语句段,tmp_TS.ReadLine竟然读出的数据不对,赋值给str_File时更离谱,赋的值也不对。
文本文件里面是数值,比如像“02900009176”的,tmp_TS.ReadLine读出来的是没有0,而且数字之间好像还有个空格。请教大虾,救命

Dim tmp_TS
Dim fil_Set
Dim str_File As String
Dim str(500) As String
dim i as integer
Dim strPathFrom As String
strPathFrom = txtPathFrom.Text
i = 0

Set oFSO = CreateObject("scripting.filesystemobject")
Set fil_Set = oFSO.GetFile(strPathFrom)
Set tmp_TS = fil_Set.OpenAsTextStream(ForReading)
Do Until tmp_TS.AtEndOfStream
str_File = tmp_TS.ReadLine
str(i) = str_File

i = i + 1
Loop
LineNum = i
tmp_TS.Close
Set oFSO = Nothing
...全文
202 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
smartpeter 2005-12-12
  • 打赏
  • 举报
回复
谢谢,问题解决,原来是读的文本文件格式不对,从EXCEL打开的文件不能直接粘贴到文本文件中。
northwolves 2005-12-08
  • 打赏
  • 举报
回复
不如用二进制方式读写:

Private Sub Command1_Click()
Dim b() As Byte, x() As String
Open "c:\xx.txt" For Binary As #1
ReDim b(LOF(1))
Get #1, , b
Close #1
x = Split(StrConv(b, vbFromUnicode), vbCrLf)
Erase b
End Sub
roger_xiong 2005-12-08
  • 打赏
  • 举报
回复
如果楼主要一行一行数据读的话,建议直接用open

Dim tmp_TS
Dim fil_Set
Dim str_File As String
Dim str(500) As String
Dim i As Integer
Dim strPathFrom As String
strPathFrom = txtPathFrom.Text
i = 0

Open strPathFrom For Input As #1
Do Until EOF(1)
Line Input #1, str(i)

i = i + 1
Loop
LineNum = i
Close #1


用FSO对象的话,还要声明出一个对象,比较耗费资源。

qkaibo 2005-12-07
  • 打赏
  • 举报
回复
文本的编码格式不同造成的吧
smartpeter 2005-12-07
  • 打赏
  • 举报
回复
很倒霉的,以前读都没有问题,现在都不知道为什么了:(
射天狼 2005-12-07
  • 打赏
  • 举报
回复
到我的网站上看看,有读写文件的源码。

VB资料->查询“打开和保存文件”;
====================
免费的学习交流网站,欢迎大家访问!
http://www.j2soft.cn/

7,763

社区成员

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

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