vb文件读入写出无响应?

来源:百度知道 编辑:UC知道 时间:2024/06/25 16:18:12
1、打开一文件,在文本框输入一字符,相应文本中的对应字符用“*”代替?Private Sub Command1_Click()
Dim a As String
Dim s As String
a = Text1.Text
Open "datafile.txt" For Input As #1
Input #1, s
Close #1
s = Replace(s, a, "*")
Open "datafile.txt" For Output As #1
Print #1, s
Close #1
End Sub
我运行后,发现文本的相应字符未替换成“*”?(文本中的字符都是自己随便写的)
2、在文本框逐行显示文本内容:
Private Sub Command1_Click()
Dim s
Open "Bdata.txt" For Input As #1
Do While Not EOF(1)
Line Input #1, s
Text1.Text = Text1.Text + s + Chr(13) + Chr(10)
Loop
Close #1
End Sub
运行后文本框无内容出现?
以上两题都未报错啊?
万分感谢!!!

1.会将datafile.txt中的a替换为*,如果没有替换成功,你要检查一下Text1.text的内容是否在datafile.txt中存在,比如大小写不同、前后有空格,都会有影响的。
2、是没问题的,可以在Text中分行显示。你的Text1是否设置了MultiLine=True?或者Bdata.txt中是否有内容?

一、
Open "datafile.txt" For Input As #1
Input #1, s
Close #1
这样是不能将文本文件中的内容读到变量S中的,也不会报错。
你可以在查一下如何将文本文件中的内容读到字符串变量中,方法有几种。
其次,你的文件路径不全

二、
Bdata.txt的文件路径不全,其次你的Bdata.txt中可能并无内容

好事做到底吧!!!
以下的代码演示了如何将一个文本文件一次性读到一个字符串变量中,方法是采用了一个和文本文件等长的字符串变量来接收文本
Private Sub Command1_Click()
Dim s As String
Open "d:\test.txt" For Binary As #1
s = Space(LOF(1))
Get #1, , s
Close #1
Text1.Text = s
End Sub