上一期做好了菜单中"打开"子菜单,那么点击弹出"打开"对话框后,如何把选定的文件通过程序进行读入呢?
Visual Basic环境
实现将文本文件中的数据读取到窗体上的文本框中
在窗体上放置一个文本框控件,调成适当大小即可
双击"打开"子菜单,加入代码
运行程序,选择打开子菜单,并在弹出的对话框中,选择文本文件,这个文本文件是事先我们准备好的歌词
看到的效果是这样的,上面的文本框显示的是歌词的路径,而下面的文本框显示的是文本的内容,但是歌词并没有显示完全
我们再做一些改动
我们将文本框text2的几个属性修改一下
Scrollbars属性,该属性是滚动条的设置,我们选择最后一项both让水平和垂直都出现滚动条
Multiline属性,改为true,表示可以接受多行文本内容,为false表示不接受多行文本
做好这两个属性的设置后,再来看一下运行结果,可以看到出现了滚动条,我们可以通过拖拽滚动条来显示所有的歌词
程序代码解释
If cd1.FileName = "" Then:如果没有选择文件,也就是文件名为空
Exit Sub:如果没有选择文件,则退出程序
Else:如果选择了文件
Text2.Text = "":text2文本框中的内容初始化为空
Text1.Text = cd1.FileName:text1文本框中的内容显示的是文件的路径
Open (cd1.FileName) For Input As #1:打开文件并读取内容
Do While Not EOF(1) :通过While循环来读取文件内容,直到文件结束
Line Input #1, str1:按行进行读取,将读取的内容赋值到字符串变量str1
Text2.Text = Text2.Text & str1:将文本内容的多行数据连接到一行,显示到text2文本框中
Loop:结束本次循环,进入下一个循环
End If:结束本次条件
End Sub:程序结束
这里面用到了Do…While循环语句,关于该语句的具体用法也是比较简单的,当文件没有到结尾的时候,程序就执行循环中的语句,如果文本结束了,则退出循环,EOF(1)表示文件中的文本已经到结尾了,前面加个Not EOF(1)表示没有内容没有到结尾
那么,如何按照文本已经有的格式显示呢?
程序这样修改一下:Text2.Text = Text2.Text & str1 & vbCrLf:加了换行功能
再运行程序,看一下效果,可以看到歌词内容是按照文本文件的原有格式进行显示的