0
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 if,它会说“End if 必须前面有一个匹配的 if”。还有一个问题,关于下载链接的行带有下划线,它说“重载解析失败,因为没有可访问的'DownloadFile'接受这个数量的参数”。

PS:这是一个metin2补丁的尝试,我不知道具体怎么做,但我确信这是一种只在我需要的文件上更新游戏的方法。谢谢你的帮助:)

4

2 回答 2

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\用您正在使用的路径替换路径。

于 2013-01-04T18:04:17.827 回答
2

当您发布Then语句后跟关闭该If语句的表达式时。从本质上讲,您已经关闭了所有If陈述。

于 2013-01-04T18:05:06.400 回答