VB新手请教高手哈~!~!!~先谢谢拉~!!~

a176138360sdo 2007-07-19 06:57:01
用一个文本框text1.text显示读入的数据.
但是为什么原始数据只有7行,而text1.text里面显示缺有8行.最后一行全是空格.?




CommonDialog1.Filter = "文本文件(*.txt)|*.txt"
CommonDialog1.ShowOpen
If CommonDialog1.FileName = "" Then
Exit Sub
End If
Dim i As Integer
Text1.Text = ""
Open CommonDialog1.FileName For Input As #1
i = 0
Do While Not EOF(1)
ReDim Preserve str(i)
Line Input #1, q$
str(i) = q
If i >= 1 Then
ReDim Preserve GR(i)
ReDim Preserve AC(i)
ReDim Preserve CNL(i)
ReDim Preserve DEN(i)
ReDim Preserve RT(i)
ReDim Preserve SP(i)
q = LTrim(q)
dd = Split(q, " ")
GR(i) = Val(dd(0))

l = 1
On Error GoTo err
Do While dd(l) = " "
l = l + 1
Loop
AC(i) = Val(dd(l))

m = 2
On Error GoTo err
Do While dd(m) = " "
m = m + 1
Loop
CNL(i) = Val(dd(m))

n = 3
On Error GoTo err
Do While dd(n) = " "
n = n + 1
Loop
DEN(i) = Val(dd(n))

p = 4
On Error GoTo err
Do While dd(p) = " "
p = p + 1
Loop
RT(i) = Val(dd(p))

q = 5
On Error GoTo err
Do While dd(q) = " "
q = q + 1
Loop
SP(i) = Val(dd(q))

End If
i = i + 1
Loop
str1 = Split(str(0), " ")
For j = 0 To 5
CS_name(j) = str1(j)
Next j
For j = 0 To i - 1
Text1.Text = Text1.Text & str(j) & vbCrLf
Next j
Close #1
panduan = True
Command5.Enabled = True
MsgBox "读入数据成功!", , "提示"
GoTo 10

err:

MsgBox "读入数据错误,请检查", , "提示"
Close #1
Exit Sub
...全文
186 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
嗷嗷叫的老马 2007-07-20
  • 打赏
  • 举报
回复
.....................................
gxqianqin 2007-07-20
  • 打赏
  • 举报
回复
vbCrLf回車換行的意思
應該已經解決了吧
yachong 2007-07-19
  • 打赏
  • 举报
回复
text1.text=left(text1.text,len(text1.text)-2)
这句什么意思啊????
===============================================
把最后多余的vbCrLf去掉
vbCrLf是两个字符,回车换行
xiaolei1982 2007-07-19
  • 打赏
  • 举报
回复
zzyong00(阿勇) 正解,
过来蹭分,vbcrlf就是回车换行,估计需要给楼主解释一下
clear_zero 2007-07-19
  • 打赏
  • 举报
回复
Text1.Text = Text1.Text & str(j) & vbCrLf
这里吧,这样你最后一行后面就有一个空行了
kmlxk0 2007-07-19
  • 打赏
  • 举报
回复
在长度n的text1.text字符串中截取前n-2个字符

并赋值到text1.text
a176138360sdo 2007-07-19
  • 打赏
  • 举报
回复
text1.text=left(text1.text,len(text1.text)-2)
这句什么意思啊????
zzyong00 2007-07-19
  • 打赏
  • 举报
回复
For j = 0 To i - 1
Text1.Text = Text1.Text & str(j) & vbCrLf
Next j
在最后一行上又加了一个vbCrLf,当然会多一行了
解决办法:

For j = 0 To i - 1
Text1.Text = Text1.Text & str(j) & vbCrLf
Next j
text1.text=left(text1.text,len(text1.text)-2)

1,453

社区成员

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

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