Visual Basic-" IF"不会结束

时间:2013-01-04 18:02:05

标签: vb.net if-statement line-endings

If My.Computer.FileSystem.FileExists("pack/locale_ro.epk") Then My.Computer.FileSystem.DeleteFile("pack/locale_ro.epk")

    PB_GSM.Value = 10

    If My.Computer.FileSystem.FileExists("pack/locale_ro.eix") Then My.Computer.FileSystem.DeleteFile("pack/locale_ro.eix")

    PB_GSM.Value = 20

    If My.Computer.FileSystem.FileExists("pack/root.epk") Then My.Computer.FileSystem.DeleteFile("pack/root.epk")

    PB_GSM.Value = 30

    If My.Computer.FileSystem.FileExists("pack/root.eix") Then My.Computer.FileSystem.DeleteFile("pack/root.eix")

    PB_GSM.Value = 40

    My.Computer.Network.DownloadFile("http://example")

我相信我写的一切都是正确的,但是如何写“if”-s并不重要,我无法结束它们。如果我在一行旁边写了End,它会说“如果必须先匹配匹配,则结束”。 还有一个问题,关于下载链接的行有下划线,它说“重载解析失败,因为没有可访问的'DownloadFile'接受这个数量的参数”。

PS:这是对metin2修补程序的尝试,我不知道该怎么做但我确定这是一种只在我需要的文件更新游戏的方法。谢谢你的帮助:)< / p>

2 个答案:

答案 0 :(得分:3)

你将它们全部放在一行中。不要在“Then”关键字之后添加任何内容。

If My.Computer.FileSystem.FileExists("pack/locale_ro.epk") Then
  My.Computer.FileSystem.DeleteFile("pack/locale_ro.epk")
  PB_GSM.Value = 10
End If

如果要查找else-if情况,这将是语法:

If My.Computer.FileSystem.FileExists("pack/locale_ro.epk") Then
  My.Computer.FileSystem.DeleteFile("pack/locale_ro.epk")
  PB_GSM.Value = 10
ElseIf My.Computer.FileSystem.FileExists("pack/locale_ro.eix") Then
  My.Computer.FileSystem.DeleteFile("pack/locale_ro.eix")
  PB_GSM.Value = 20
' etc, etc
End If

请注意,这只会在找到的第一个“True”行上运行代码。

对于DownloadFile,您还需要指定目的地:

My.Computer.Network.DownloadFile("http://example", "c:\temp\myfile.txt")

用您正在使用的路径替换c:\temp\路径。

答案 1 :(得分:2)

当您发布Then语句后跟一个关闭If语句的表达式时。实际上,您已经关闭了所有If语句。