2014-12-27 32 views
-1

我有两个文本框,我想让帐户生成器从网站上的txt文件读取随机行并将其写入文本框。因此,我想从文本文件中读取随机行(仅一个),其中电子邮件和密码由以下分隔:so .txt文件看起来像[email protected]:密码,在textbox1(电子邮件)之前写入数据和在textbox2之后从同一行写入数据。随机读取txt文本行,将字符串拆分为:并在文本框中写入

.txt文件看起来是这样的:

[email protected]:password1 
[email protected]:password2 
[email protected]:password3 etc.... 

我无法弄清楚如何分割这个字符串,任何帮助,无论如何都会被感激,谢谢:)

+0

http://i.imgur.com/3s2KXfN.jpg请花点时间仔细阅读此* *:[Ask] – Plutonix 2014-12-27 15:19:17

+0

如果密码包含“:”,该怎么办?而且,电子邮件地址包含':'字符是合法的。 – 2014-12-27 18:45:29

+0

没关系,我把数据没有:在它:) – TheWalk1ngShad0w 2014-12-27 18:57:56

回答

1

你去那里。

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
    tbxEmail.Text = String.Empty 
    tbxPassword.Text = String.Empty 
    Dim lines As String() = getData("URL_OF_FILE") 
    Dim lineCount As Integer = lines.Length 
    Dim randomValue As Integer = CInt(Math.Floor((lineCount) * Rnd())) 
    Dim line As String = lines(randomValue) 
    Dim parts As String() = line.Split(New Char() {":"c}) 
    Dim email As String = parts(0) 
    Dim password As String = parts(1) 

    tbxEmail.Text = email 
    tbxPassword.Text = password 

End Sub 

Function getData(url As String) As String() 
    Dim client As System.Net.WebClient = New System.Net.WebClient() 
    Dim data As String = client.DownloadString(url) 
    Dim returnValue As String() = data.Split(New String() {Environment.NewLine}, 
     StringSplitOptions.RemoveEmptyEntries) 
    Return returnValue 
End Function 

请不认为这是一个同步的请求,这意味着将“冻结”您的应用程序请求的持续时间。

+0

这一个工作。谢谢:)只是,你能解释我在{“:”c}做'c'是什么吗? :D – TheWalk1ngShad0w 2014-12-27 16:08:07

+0

“:”单独是一个单字符长字符串。它后面的'c'(“:”c))将这个单字符串转换为一个字符(单个字符)visual basic有它的怪癖 – n0pt3x 2014-12-27 16:18:36

+0

哦,我现在想通了,谢谢:D – TheWalk1ngShad0w 2014-12-27 16:21:38

相关问题