vb如何随机读取txt中任意一行的内容,然后输出到Text1.Text?
详细解释:在D:\123.txt下有个txt文件,文件里面有很多行内容!如何随机读取一行后将内容输出到Text1.Text?(用按钮触发事件)...
详细解释:
在D:\123.txt下有个txt文件,文件里面有很多行内容!如何随机读取一行后将内容输出到Text1.Text?(用按钮触发事件) 展开
在D:\123.txt下有个txt文件,文件里面有很多行内容!如何随机读取一行后将内容输出到Text1.Text?(用按钮触发事件) 展开
2个回答
展开全部
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
更多追问追答
追问
?
大赞
展开全部
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
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
追问
好,让我试试
你这个不行啊!每次启动,抽到的东西是有规律的,比如说启动后第一次抽签显示第六行内容,重启软件后第一次抽签还是第六行的内容。
还是楼下的好
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询