Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[PYTANIE] Wersja


Rekomendowane odpowiedzi

Opublikowano

Witam mam pytanie a raczej prośbę, jestem nowy jeżeli chodzi o Visual Basic. Tworzę patchera który pobiera samo rozpakowywujące się Archiwum. Moje pytanie jest takie:

Co powinienem dodać do kodu Patchera aby on sprawdzał wersję plików na serwerze np Jeżeli w pliku version.txt jest 1.0 a na serwerze też 1.0 to nie pobiera, ale jeżeli na serwerze dam 1.1 to pobierze i zastąpi plik w Cliencie z 1.0 na 1.1, bądź zrobić tak aby sprawdzał rozmiar pliku no B i pobierał jeżeli rozmiar się zmieni.

 

Oto kod Patchera :

 

 

 

Public Class TEST

 

Private Sub KallsitoMt2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

 

End Sub

 

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Button1.Enabled = False

TextBox1.Text = "Sprawdzanie Serwera..."

ProgressBar1.Value = "1"

Timer1.Start()

End Sub

 

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

Close()

End Sub

 

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

Shell("config.exe", AppWinStyle.NormalNoFocus)

End Sub

 

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

ProgressBar1.Value = "2"

TextBox1.Text = "Patch.txt Jest Badany"

If My.Computer.FileSystem.FileExists("patch.txt") Then

My.Computer.FileSystem.DeleteFile("patch.txt")

TextBox1.Text = "Patch.txt został usunięty"

End If

My.Computer.Network.DownloadFile("http://TEST.pl/patch.txt", "patch.txt")

TextBox1.Text = "Zostały pobrane nowe pliki patch.txt"

ProgressBar1.Value = "3"

 

'patch.rar

 

TextBox1.Text = "patch.exe jest badany."

If My.Computer.FileSystem.FileExists("patch.exe") Then

My.Computer.FileSystem.DeleteFile("patch.exe")

TextBox1.Text = "patch.rar zostało usunięte..."

End If

ProgressBar1.Value = "4"

My.Computer.Network.DownloadFile("http://TEST.pl/patch.exe", "patch.exe")

TextBox1.Text = "Nowe patch.exe zostało dodane..."

 

TextBox1.Text = "Patchowanie skończyło się pomyślnie"

ProgressBar1.Value = "100"

 

If My.Computer.FileSystem.FileExists("start.bin") Then

TextBox1.Text = "Urruchamiam Program...."

Button1.Enabled = True

If TextBox1.Text = "Urruchamiam Program..." Then

Shell("start.bin")

Me.Close()

End If

Else

TextBox1.Text = "BŁĄD SERWERA!"

End If

Timer1.Stop()

End Sub

End Class

 

 

 

Będę wdzięczny za wszelką pomoc.

Już Niedługo...

Gość LastPhoenix450
Opublikowano

łapaj, zamień to tylko z programu na pliki.

Public Sub Updater()
		    Try
				    Dim File As String = Application.StartupPath & "version.txt"
				    Dim MyVer As String = My.Application.Info.Version.ToString
				    My.Application.Info.Version.ToString()
				    If My.Computer.FileSystem.FileExists(File) Then
						    My.Computer.FileSystem.DeleteFile(File)
				    End If
				    My.Computer.Network.DownloadFile("link do version.txti na serwie", File)
				    Dim LastVer As String = My.Computer.FileSystem.ReadAllText(File)
				    If Not MyVer = LastVer Then
						    MsgBox("Aktualizacja Dostępna")
						    My.Computer.Network.DownloadFile("Link do pliku na serwerze", "nazwa pod jaką będzie zapisany plik")
						    MsgBox("Została Pobrana Nowa Wersja bota, nowa wersja została uruchomiona")
						    Shell("Nazwa Pliku do uruchomienia")
				    Else
						    MsgBox("Posiadasz najnowszą wersję programu")
				    End If
		    Catch
				    MsgBox("Błąd Podczas Łączenia Z Serwerem")
		    End Try

Opublikowano

Napisałem to od nowa oto ten kod ale program nie działa uruchamia się po prostu nowe okno i tyle nic się nie dzieje

 

 

 

Public Class KallistoMt2

Private Sub KallistoMt2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

End Sub

 

Public Sub Updater()

Try

Dim File As String = Application.StartupPath & "version.txt"

Dim MyVer As String = My.Application.Info.Version.ToString

My.Application.Info.Version.ToString()

If My.Computer.FileSystem.FileExists(File) Then

My.Computer.FileSystem.DeleteFile(File)

 

End If

My.Computer.Network.DownloadFile("http://kallistomt2.pl/version.txt", File)

Dim LastVer As String = My.Computer.FileSystem.ReadAllText(File)

If Not MyVer = LastVer Then

MsgBox("Aktualizacja Dostępna")

My.Computer.Network.DownloadFile("http://kallistomt2.pl/patch.exe", "patch.exe")

MsgBox("Została Pobrana Nowa Wersja bota, nowa wersja została uruchomiona")

Shell("patch.exe")

Else

MsgBox("Posiadasz najnowszą wersję programu")

End If

Catch

MsgBox("Błąd Podczas Łączenia Z Serwerem")

End Try

 

End Sub

End Class

 

 

 

jak na razie próbuję stworzyć program który będzie pobierał Aktułalizację, Dopiero potem go upiększę.

Już Niedługo...

Gość Pan Szymek
Opublikowano

łapaj, zamień to tylko z programu na pliki.

Public Sub Updater()
			Try
					Dim File As String = Application.StartupPath & "version.txt"
					Dim MyVer As String = My.Application.Info.Version.ToString
					My.Application.Info.Version.ToString()
					If My.Computer.FileSystem.FileExists(File) Then
							My.Computer.FileSystem.DeleteFile(File)
					End If
					My.Computer.Network.DownloadFile("link do version.txti na serwie", File)
					Dim LastVer As String = My.Computer.FileSystem.ReadAllText(File)
					If Not MyVer = LastVer Then
							MsgBox("Aktualizacja Dostępna")
							My.Computer.Network.DownloadFile("Link do pliku na serwerze", "nazwa pod jaką będzie zapisany plik")
							MsgBox("Została Pobrana Nowa Wersja bota, nowa wersja została uruchomiona")
							Shell("Nazwa Pliku do uruchomienia")
					Else
							MsgBox("Posiadasz najnowszą wersję programu")
					End If
			Catch
					MsgBox("Błąd Podczas Łączenia Z Serwerem")
			End Try

Długi, dziwny, trudny.

 

Dim wer As String = New System.IO.StreamReader("wersja.txt").ReadToEnd()
If Not wer.Equals(New System.Net.Webclient().DownloadString("http://mojastrona.pl/pliki/wersja.txt") Then
My.Computer.Network.DownloadFile("http://mojastrona.pl/plik.exe", "plik.exe")
MessageBox.Show("Nowa wersja została pobrana")
Process.Start("plik.exe")
End
End If

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...