我需要能够将文本文件的每一行与用户在文本或组合框中键入的文本进行比较,以进行序列密钥检查和阻止某些网站。目前,被阻止的内容在程序代码本身内。
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
我是否能够修改该代码以允许我按照自己的意愿行事? 感谢。
答案 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()