Hallo Liebe Community,
ich bin neu hier und habe mal eine Frage ..vielleicht kann mir jemand helfen. Unzwar habe ich frisch mit Visual Basic 2008 angefangen weil ich einen Patcher bauen möchte.
Der Files von einem Server runterlädt aber nur wenn diese sich verändert haben.
Achja die Files hole ich mir alle manuell von der patchlist.txt die ich erstellt habe..Geht das nicht auch anders? Das er die z.B. automatisch runterläd wenn sie in einem ordner auffen server sind (natürlich nur wenn Files davon anders sind?
folgenden Code habe ich bereits:
Spoiler anzeigen
Damit lösche ich die locale datei wenn sie schon existiert und lade die neue runter. Das ding ist aber ich will die neuen ja nur runterladen wenn die anders sind (z.B. ne txt wo bei mir auffen pc lol drin steht und auffen server rofl soll natürlich dann gedownloadet werden). Kann man das irgendwie an der Filegröße ausmachen oder muss man checksummen vergleichen (hab ich irgendwo gelesen).
Also quasi iwi so:
if (Filesize(server)== $Filesize(client)){
echo "Daten sind aktuell";
}else{
echo "Daten werden gedownloadet";
.
.
.
Downloadbefehl etc
.
.
}
sry bin ein Php Mensch ^^..
patchlist.txt sieht ungefähr so aus
Über jede Hilfe freue ich mich Vielen Dank im vorraus
Edit by der_Kurt:
* Expander eingefügt *
ich bin neu hier und habe mal eine Frage ..vielleicht kann mir jemand helfen. Unzwar habe ich frisch mit Visual Basic 2008 angefangen weil ich einen Patcher bauen möchte.
Der Files von einem Server runterlädt aber nur wenn diese sich verändert haben.
Achja die Files hole ich mir alle manuell von der patchlist.txt die ich erstellt habe..Geht das nicht auch anders? Das er die z.B. automatisch runterläd wenn sie in einem ordner auffen server sind (natürlich nur wenn Files davon anders sind?
folgenden Code habe ich bereits:
VB.NET-Quellcode
- Imports System.IO
- Public Class Form1
- Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
- Button1.Enabled = False
- Button1.Text = "Bitte warten..."
- TextBox1.Text = "Patch gestartet"
- ProgressBar1.Value = "1"
- Timer1.Start()
- End Sub
- Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
- ProgressBar1.Value = "2"
- TextBox1.Text = "Patchlist wird ausgelesen"
- If My.Computer.FileSystem.FileExists("patchlist.txt") Then
- My.Computer.FileSystem.DeleteFile("patchlist.txt")
- TextBox1.Text = "Patchlist am abarbeiten!"
- End If
- My.Computer.Network.DownloadFile("http://****.de/Patchserver/patchlist.txt", "patchlist.txt")
- ProgressBar1.Value = "10"
- Timer1.Stop()
- Timer2.Start()
- End Sub
- Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- Button2.Enabled = False
- End Sub
- Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
- Dim lines() As String = IO.File.ReadAllLines("patchlist.txt")
- For Each line As String In lines
- Dim values() As String = line.Split(";")
- TextBox1.Text = "Einzelne Files werden verglichen"
- Next
- ProgressBar1.Value = "35"
- '1.
- If My.Computer.FileSystem.FileExists(lines(1)) Then
- My.Computer.FileSystem.DeleteFile(lines(1))
- End If
- My.Computer.Network.DownloadFile(lines(0), lines(1))
- ProgressBar1.Value = "36"
- TextBox1.Text = "*******.dll download"
- '2.
- If My.Computer.FileSystem.FileExists(lines(3)) Then
- My.Computer.FileSystem.DeleteFile(lines(3))
- End If
- My.Computer.Network.DownloadFile(lines(2), lines(3))
- ProgressBar1.Value = "37"
- TextBox1.Text = "****** download"
- '3.
- If My.Computer.FileSystem.FileExists(lines(5)) Then
- My.Computer.FileSystem.DeleteFile(lines(5))
- End If
- My.Computer.Network.DownloadFile(lines(4), lines(5))
- ProgressBar1.Value = "40"
- TextBox1.Text = "******.txt download"
- '4.
- If My.Computer.FileSystem.FileExists(lines(7)) Then
- My.Computer.FileSystem.DeleteFile(lines(7))
- End If
- My.Computer.Network.DownloadFile(lines(6), lines(7))
- ProgressBar1.Value = "45"
- TextBox1.Text = "******.inf download"
- '5.
- If My.Computer.FileSystem.FileExists(lines(9)) Then
- My.Computer.FileSystem.DeleteFile(lines(9))
- End If
- My.Computer.Network.DownloadFile(lines(8), lines(9))
- ProgressBar1.Value = "50"
- TextBox1.Text = "******.exe download"
- '6.
- If My.Computer.FileSystem.FileExists(lines(11)) Then
- My.Computer.FileSystem.DeleteFile(lines(11))
- End If
- My.Computer.Network.DownloadFile(lines(10), lines(11))
- ProgressBar1.Value = "55"
- TextBox1.Text = "******.dll download"
- '7.
- If My.Computer.FileSystem.FileExists(lines(13)) Then
- My.Computer.FileSystem.DeleteFile(lines(13))
- End If
- My.Computer.Network.DownloadFile(lines(12), lines(13))
- ProgressBar1.Value = "60"
- TextBox1.Text = "******.txt download"
- '8.
- If My.Computer.FileSystem.FileExists(lines(15)) Then
- My.Computer.FileSystem.DeleteFile(lines(15))
- End If
- My.Computer.Network.DownloadFile(lines(14), lines(15))
- ProgressBar1.Value = "62"
- TextBox1.Text = "******.exe download"
- '9.
- If My.Computer.FileSystem.FileExists(lines(17)) Then
- My.Computer.FileSystem.DeleteFile(lines(17))
- End If
- My.Computer.Network.DownloadFile(lines(16), lines(17))
- ProgressBar1.Value = "65"
- TextBox1.Text = "******.dll download"
- '10.
- If My.Computer.FileSystem.FileExists(lines(19)) Then
- My.Computer.FileSystem.DeleteFile(lines(19))
- End If
- My.Computer.Network.DownloadFile(lines(18), lines(19))
- ProgressBar1.Value = "70"
- TextBox1.Text = "******.dll download"
- '11.
- If My.Computer.FileSystem.FileExists(lines(21)) Then
- My.Computer.FileSystem.DeleteFile(lines(21))
- End If
- My.Computer.Network.DownloadFile(lines(20), lines(21))
- ProgressBar1.Value = "75"
- TextBox1.Text = "******.dll download"
- '12.
- If My.Computer.FileSystem.FileExists(lines(23)) Then
- My.Computer.FileSystem.DeleteFile(lines(23))
- End If
- My.Computer.Network.DownloadFile(lines(22), lines(23))
- ProgressBar1.Value = "80"
- TextBox1.Text = "******.cfg download"
- '13.
- If My.Computer.FileSystem.FileExists(lines(25)) Then
- My.Computer.FileSystem.DeleteFile(lines(25))
- End If
- My.Computer.Network.DownloadFile(lines(24), lines(25))
- ProgressBar1.Value = "85"
- TextBox1.Text = "******.cfg download"
- '14.
- If My.Computer.FileSystem.FileExists(lines(27)) Then
- My.Computer.FileSystem.DeleteFile(lines(27))
- End If
- My.Computer.Network.DownloadFile(lines(26), lines(27))
- ProgressBar1.Value = "86"
- TextBox1.Text = "******.bin download"
- '15.
- If My.Computer.FileSystem.FileExists(lines(29)) Then
- My.Computer.FileSystem.DeleteFile(lines(29))
- End If
- My.Computer.Network.DownloadFile(lines(28), lines(29))
- ProgressBar1.Value = "87"
- TextBox1.Text = "******.cfg download"
- '16.
- If My.Computer.FileSystem.FileExists(lines(31)) Then
- My.Computer.FileSystem.DeleteFile(lines(31))
- End If
- My.Computer.Network.DownloadFile(lines(30), lines(31))
- ProgressBar1.Value = "88"
- TextBox1.Text = "******.dll download"
- '17.
- If My.Computer.FileSystem.FileExists(lines(33)) Then
- My.Computer.FileSystem.DeleteFile(lines(33))
- End If
- My.Computer.Network.DownloadFile(lines(32), lines(33))
- ProgressBar1.Value = "89"
- TextBox1.Text = "******.DLL download"
- '18.
- If My.Computer.FileSystem.FileExists(lines(35)) Then
- My.Computer.FileSystem.DeleteFile(lines(35))
- End If
- My.Computer.Network.DownloadFile(lines(34), lines(35))
- ProgressBar1.Value = "90"
- TextBox1.Text = "******.dll download"
- '19.
- If My.Computer.FileSystem.FileExists(lines(37)) Then
- My.Computer.FileSystem.DeleteFile(lines(37))
- End If
- My.Computer.Network.DownloadFile(lines(36), lines(37))
- ProgressBar1.Value = "91"
- TextBox1.Text = "******.DLL download"
- '20.
- If My.Computer.FileSystem.FileExists(lines(39)) Then
- My.Computer.FileSystem.DeleteFile(lines(39))
- End If
- My.Computer.Network.DownloadFile(lines(38), lines(39))
- ProgressBar1.Value = "92"
- TextBox1.Text = "******.mp download"
- '21.
- If My.Computer.FileSystem.FileExists(lines(41)) Then
- My.Computer.FileSystem.DeleteFile(lines(41))
- End If
- My.Computer.Network.DownloadFile(lines(40), lines(41))
- ProgressBar1.Value = "93"
- TextBox1.Text = "******.dll download"
- '22.
- If My.Computer.FileSystem.FileExists(lines(43)) Then
- My.Computer.FileSystem.DeleteFile(lines(43))
- End If
- My.Computer.Network.DownloadFile(lines(42), lines(43))
- ProgressBar1.Value = "94"
- TextBox1.Text = "******.dll download"
- '23.
- If My.Computer.FileSystem.FileExists(lines(45)) Then
- My.Computer.FileSystem.DeleteFile(lines(45))
- End If
- My.Computer.Network.DownloadFile(lines(44), lines(45))
- ProgressBar1.Value = "95"
- TextBox1.Text = "******.txt download"
- ProgressBar1.Value = "100"
- TextBox1.Text = "Alle Files verglichen. Client gepatcht"
- Timer2.Stop()
- End Sub
- End Class
Damit lösche ich die locale datei wenn sie schon existiert und lade die neue runter. Das ding ist aber ich will die neuen ja nur runterladen wenn die anders sind (z.B. ne txt wo bei mir auffen pc lol drin steht und auffen server rofl soll natürlich dann gedownloadet werden). Kann man das irgendwie an der Filegröße ausmachen oder muss man checksummen vergleichen (hab ich irgendwo gelesen).
Also quasi iwi so:
if (Filesize(server)== $Filesize(client)){
echo "Daten sind aktuell";
}else{
echo "Daten werden gedownloadet";
.
.
.
Downloadbefehl etc
.
.
}
sry bin ein Php Mensch ^^..
patchlist.txt sieht ungefähr so aus
Über jede Hilfe freue ich mich Vielen Dank im vorraus
Edit by der_Kurt:
* Expander eingefügt *
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „der_Kurt“ ()