Hallöschen und Juten Abend,
Ich bin jetz schon seid heute Morgen dran, einen Patcher für mein Spiel zu programmieren. Das ganze soll wie folgt aussehen:
Beim Start des Patchers liest der Patcher die list.txt ein, welche so aufgebaut ist:
Diese lese ich dann mit einer For Each Schleife wie folgt aus:
Soweit so gut, jetzt gibbet aber noch ne zweite Liste (die aktuelle in dem Fall). Diese wird heruntergeladen und als NewList.txt abgespeichert. Der Inhalt unterscheidet sich dann eben darin, das z.B. Dateien verändert wurden, also auch der MD5 Wert anders ist. Diese Datei wird also auch in einer For Each Schleife eingelesen. Und ab hier weiß ich nicht weiter wie ich die beiden Listen jetz vergleichen kann... Ich habe probiert die NewList.txt For Each schleife in der For Each Schleife von der list.txt zu machen und dann einfach splitten:
Aber irgendwie will das alles nicht, und wenn ich so drüber nachdenke kann es so auch nich funktionieren, weil wenn z.B. eine Zeile in den Listen dazukommt würde er schon Fehler oder sonst was ausspucken.
Ich hoffe ihr habt so nen kleinen Überblick was ich überhaupt will. Ich möchte die beiden Listen vergleichen, und wenn eine Zeile Neu ist dann soll diese Datei dann auch runtergeladen werden, und wenn die Zeile verändert (hash wert anders) wurde, möchte ich die datei auch runterladen und ersetzen... Die Funktionen zum runterladen hab ich mir schon programmiert und können mit nur einer zeile abgerufen werden.
Aber ich hänge jetz schon den ganzen Tag davor, und schaffe es einfach nicht die Listen zu vergleichen/auszuwerten.
Hoffe ihr könnt mir helfen.
Ich bin jetz schon seid heute Morgen dran, einen Patcher für mein Spiel zu programmieren. Das ganze soll wie folgt aussehen:
Beim Start des Patchers liest der Patcher die list.txt ein, welche so aufgebaut ist:
Diese lese ich dann mit einer For Each Schleife wie folgt aus:
Soweit so gut, jetzt gibbet aber noch ne zweite Liste (die aktuelle in dem Fall). Diese wird heruntergeladen und als NewList.txt abgespeichert. Der Inhalt unterscheidet sich dann eben darin, das z.B. Dateien verändert wurden, also auch der MD5 Wert anders ist. Diese Datei wird also auch in einer For Each Schleife eingelesen. Und ab hier weiß ich nicht weiter wie ich die beiden Listen jetz vergleichen kann... Ich habe probiert die NewList.txt For Each schleife in der For Each Schleife von der list.txt zu machen und dann einfach splitten:
VB.NET-Quellcode
- Dim Data_SetOld As String() = OldListLine.Split("|")
- Dim Data_SetNew As String() = NewListLine.Split("|")
- If Data_SetOld(0) = Data_SetNew(0) Then 'Es wäre dieselbe Zeile.
- If Data_SetOld(1) <> Data_SetNew(1) Then 'Der Hash wäre anders. Also diese Datei patchen.
- DownloadFile(Data_SetNew(0) 'Ne Funktion die dann die Datei herunterlädt.
- End If
- End If
Aber irgendwie will das alles nicht, und wenn ich so drüber nachdenke kann es so auch nich funktionieren, weil wenn z.B. eine Zeile in den Listen dazukommt würde er schon Fehler oder sonst was ausspucken.
Ich hoffe ihr habt so nen kleinen Überblick was ich überhaupt will. Ich möchte die beiden Listen vergleichen, und wenn eine Zeile Neu ist dann soll diese Datei dann auch runtergeladen werden, und wenn die Zeile verändert (hash wert anders) wurde, möchte ich die datei auch runterladen und ersetzen... Die Funktionen zum runterladen hab ich mir schon programmiert und können mit nur einer zeile abgerufen werden.
Aber ich hänge jetz schon den ganzen Tag davor, und schaffe es einfach nicht die Listen zu vergleichen/auszuwerten.
Hoffe ihr könnt mir helfen.