将文本文件中的每一行与文本/组合框中的文本进行比较

时间:2015-01-17 21:59:11

标签: vb.net

我需要能够将文本文件的每一行与用户在文本或组合框中键入的文本进行比较,以进行序列密钥检查和阻止某些网站。目前,被阻止的内容在程序代码本身内。

If ComboBox1.Text = "website.com" Then
        WB.DocumentText = My.Settings.BlockedPage
        ComboBox1.Text = "Blocked"
    Else
        WB.Navigate(Me.ComboBox1.Text)
        ComboBox1.Items.Add(ComboBox1.Text)
    End If

我发现这种方式很烦人,因为它会增加已编译可执行文件的文件大小,并阻止我更新它而不释放全新的可执行文件。

我在另一个程序中使用过这种方法,但我确信我使用的代码会将它与整个文本文件进行比较而不是一行。

    Dim key As String
    key = My.Computer.FileSystem.ReadAllText("key.txt")

    If TextBox1.Text = key Then
        'Do functions, such as create licence file

        Me.Close()
    Else
        MsgBox("Incorrect key", MsgBoxStyle.Exclamation, "Key Check")

    End If

我是否能够修改该代码以允许我按照自己的意愿行事? 感谢。

2 个答案:

答案 0 :(得分:0)

这是一种方法:

   Dim lines = System.IO.File.ReadAllLines("File path")
    Dim text As String
    For i = 0 To lines.Length - 1
        text = lines(i).ToString
        If text = "Your serial here" Then
            MsgBox("Serial found")
        else
            Msgbox("Serial not found")

        End If
    Next

此代码可用于webbrowser:

Dim lines = System.IO.File.ReadAllLines(Application.StartupPath + "file path")
    Dim text As String
    For i = 0 To lines.Length - 1
        text = lines(i).ToString
        If WebBrowser1.Url.ToString.Contains(text) Then
            WebBrowser1.Navigate("")
        End If
    Next

文本文件中的文本格式应为:

www.website.com

答案 1 :(得分:0)

尝试

If ComboBox1.Text.Equals("website.com") Then
            WB.DocumentText = My.Settings.BlockedPage
            ComboBox1.Text = "Blocked"
        Else
            WB.Navigate(Me.ComboBox1.Text)
            ComboBox1.Items.Add(ComboBox1.Text)
        End If

If ComboBox1.Text.Contains("website.com") Then
            WB.DocumentText = My.Settings.BlockedPage
            ComboBox1.Text = "Blocked"
        Else
            WB.Navigate(Me.ComboBox1.Text)
            ComboBox1.Items.Add(ComboBox1.Text)
        End If

使用.Equal()或.Contains()。当您尝试与.txt文件进行比较时尝试使用.contain()