在VB2010中,怎样可以随机读取文本文件中的一行?

例如:在D:\123.txt中,有如下几行:dsfionklioshfaoogafoahfdsknjafiuh之后,用一段代码随机读取一行,例如ogafoahf,将他显示... 例如:在D:\123.txt中,有如下几行:
dsfionkl
ioshfao
ogafoahf
dsknjafiuh
之后,用一段代码随机读取一行,例如ogafoahf,将他显示在Label1中。每次运行这段代码,Label1中显示的字符都不一样。
展开
 我来答
tystq
2011-10-22 · TA获得超过1201个赞
知道小有建树答主
回答量:943
采纳率:100%
帮助的人:831万
展开全部
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim str() As String = My.Computer.FileSystem.ReadAllText("D:\123.txt").Split(vbCrLf) '文件读到数组中----自己改成对应的文件
Randomize()
Dim i_rdz As Integer = Int((str.Length - 0 + 1) * Rnd() + 0) '产生0到数组长度减1的随机数
Label1.Text = str(i_rdz) '显示出来
End Sub
追问
不行啊。Label1.Text = str(i_rdz)提示索引超出了数组界限。
追答
Dim i_rdz As Integer = Int(str.Length*Rnd())
floatingsnows
2011-10-22 · TA获得超过1798个赞
知道小有建树答主
回答量:1318
采纳率:66%
帮助的人:420万
展开全部
添加一个listbox控件,可以设置为隐藏
Private Sub Command1_Click()
On Error Resume Next '出错处理
List1.Clear
Open "c:\1.txt" For Input As #1
Do While Not EOF(1)
Line Input #1, s
If Len(s) > 0 Then List1.AddItem s '防止添加空白行
Loop
Close #1
Randomize
Label1.Caption = List1.List(Int((List1.ListCount) * Rnd))
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式