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 に答える