vb如何随机读取txt中任意一行的内容,然后输出到Text1.Text?

详细解释:在D:\123.txt下有个txt文件,文件里面有很多行内容!如何随机读取一行后将内容输出到Text1.Text?(用按钮触发事件)... 详细解释:
在D:\123.txt下有个txt文件,文件里面有很多行内容!如何随机读取一行后将内容输出到Text1.Text?(用按钮触发事件)
展开
 我来答
ZHMINGEN
2016-10-22 · TA获得超过1735个赞
知道大有可为答主
回答量:3149
采纳率:68%
帮助的人:1247万
展开全部
Dim xx() As String, aa As Integer

Private Sub Command1_Click()
Text1.Text = ""   '清空文本框,这样可以多次点击按钮得到不同的内容
Dim zz As Integer
Randomize
zz = Int(Rnd * aa + 1)     '得到一个随机数
Text1.Text = xx(zz)   '在文本框显示随机数的一行
End Sub

Private Sub Form_Load()
Dim PPP As String
Open "E:\VB事件简介.txt" For Input As #1     '打开E:\VB事件简介.txt文件,可以修改为你的文件路径+文件名+扩展名
Do While Not EOF(1)    'DO循环
Input #1, PPP
aa = aa + 1    '得到文件的行数
Loop
Close #1   '关闭文件
ReDim xx(1 To aa)   '重新定义数组的下标
Dim yy As Integer
Open "E:\VB事件简介.txt" For Input As #1     '打开E:\VB事件简介.txt文件,可以修改为你的文件路径+文件名+扩展名
Do While Not EOF(1)    'DO循环
yy = yy + 1
Input #1, PPP
xx(yy) = PPP & vbCrLf    '将各行分别存储在数组xx中
Loop
Close #1   '关闭文件
End Sub

更多追问追答
追问
大赞
任人笑我太疯癫我依行我道
2016-10-23 · TA获得超过1013个赞
知道小有建树答主
回答量:593
采纳率:47%
帮助的人:51.3万
展开全部
Public Function StrLoad(paths As String) As String
Open paths For Input As #1
Dim Lines As String
Dim NextLine As String
Do While Not EOF(1)
On Error Resume Next
Line Input #1, NextLine
Lines = Lines & NextLine & Chr(13) & Chr(10)
Loop
Close #1
StrLoad = Lines
End Function

Private Sub Command1_Click()
Text1=Split(StrLoad("D:\123.txt"),vbcrlf)(Int(Rnd*Ubound(Split(StrLoad("D:\123.txt"),vbcrlf))))
End Sub
追问
好,让我试试
你这个不行啊!每次启动,抽到的东西是有规律的,比如说启动后第一次抽签显示第六行内容,重启软件后第一次抽签还是第六行的内容。
还是楼下的好
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式