Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 将文本文件中的每一行与文本/组合框中的文本进行比较_Vb.net - Fatal编程技术网

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

Vb.net 将文本文件中的每一行与文本/组合框中的文本进行比较,vb.net,Vb.net,我需要能够比较一个文本文件的每一行与文本用户在文本或组合框中输入的串行键检查和阻止某些网站。目前,被阻止的内容在程序代码内部 If ComboBox1.Text = "website.com" Then WB.DocumentText = My.Settings.BlockedPage ComboBox1.Text = "Blocked" Else WB.Navigate(Me.ComboBox1.Text) ComboBo

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

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
我是否可以修改代码,让我做我想做的事情?
谢谢。

以下是一种方法:

   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

试试看

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


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

,而我使用它作为串行密钥不会出现错误(我正在阻止未经授权的用户对软件发表评论),它不适用于阻止网站,例如,如果网站是badwebsite.com,则该网站仍会显示。感谢您的串行密钥检查。没问题:),请参阅网站的更新文本。如果该问题对您有效,请不要忘记将其设置为awnser。这也有效,它是否只需要在文本文件中为www.website.com进行阻止,因此是一个问题,还是我需要www.,http://,website.com等等?它会检查文件中的字符串(文本行)。因此,如果在文本文件中使用www.website.com,它会检查webbrowser1的url中是否包含www.website.com。
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