关于“打开”对话框,读取内容到指定文本框问题求助。附源代码

lin_style 2005-09-09 04:07:00
Dim strfname As String
Private Sub Command1_Click()
Dim strline As String
cd1dia.CancelError = True
On Error GoTo errhandler
With cd1dia
.Filter = "vb源程序(*.bas)|*.bas|文本文件(*.txt)|*.txt"
.FilterIndex = 2
.InitDir = "c:\"
.ShowOpen
End With
strfname = cd1dia.FileName
txtdisp.Text = ""
Open strfname For Input As #1
Do While EOF(1)
Line Input #1, strline
txtdisp.Text = txtdisp.Text + strline + Chr(13) + Chr(10)
Loop
Close #1
Exit Sub
errhandler:
errordisp
End Sub

结果。打开后。
文本框TXTDISP没显示打开的文件
高手请了。 。。。我看了好久,看不出错误
...全文
80 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
shanlisong 2005-09-09
  • 打赏
  • 举报
回复
Dim strfname As String
Private Sub Command1_Click()
Dim strline As String
cd1dia.CancelError = True
On Error GoTo errhandler
With cd1dia
.Filter = "vb源程序(*.bas)|*.bas|文本文件(*.txt)|*.txt"
.FilterIndex = 2
.InitDir = "c:\"
.ShowOpen
End With
strfname = cd1dia.FileName
txtdisp.Text = ""
Open strfname For Input As #1
While Not EOF(1)
Line Input #1, strline
txtdisp.Text = txtdisp.Text + strline + Chr(13) + Chr(10)
Wend
Close #1
Exit Sub
errhandler:
errordisp
End Sub
这样就OK了
lin_style 2005-09-09
  • 打赏
  • 举报
回复
For Binary 是什么文件打开格式哦
那个GET 好象是打开随机文件的吧。

你的意思我大概懂了。


但是我的代码哪儿错了呢?
huazaiboy 2005-09-09
  • 打赏
  • 举报
回复
或者用这种方法
Open "f:\d.txt" For Input As #1
RichTextBox1.Text = StrConv(InputB$(LOF(1), 1), vbUnicode)
Close #1
用StrConv函数将文件的控制字符串数据和Unicode码之间进行转换,从而达到打开文件的目的。可打开任意大小文件。
huazaiboy 2005-09-09
  • 打赏
  • 举报
回复
先声明一字符串变量,然后用空格填充字符串,使变量大小与文件大小一致,再通过Get语句将文件全部数据存储到变量中,从而达到获取整个文件字节数的目的。此法可以打开大于32K的文件,但应该注意的是,装载文件的容器必须能装载大于32K的文件,下例用RichTextBox控件显示打开的文件:
Private Sub Command1_Click()
Dim sA As String
Open "f:\d.txt" For Binary As #1
sA = Space(LOF(1)) '用空格填充sA变量
Get #1, , sA '用Get语句获取文件全部内容
RichTextBox1.Text = sA
Close #1
End Sub

7,763

社区成员

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

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