Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Patcher erstellen (https://www.delphipraxis.net/190860-delphi-patcher-erstellen.html)

xReva 15. Nov 2016 08:18

Delphi-Version: 5

Delphi Patcher erstellen
 
Hey, ich wollte ganz gerne über Delphi ein Programm schreiben das Dateien von dem PC aus mit Dateien auf einem Webserver vergleicht und gegebenenfalls die Dateien auf dem PC dann aktualisiert.

Ich habe im Forum schon mehrere Threads zu dem Thema vergleichen von Dateien gelesen bin aber noch zu keiner Lösung gekommen

Deswegen wollte ich mal selber nachfragen und gegebenenfalls eine Diskussion starten ob jemand eine Lösung für mein Problem hat.


Mfg

Neutral General 15. Nov 2016 08:24

AW: Delphi Patcher erstellen
 
Woran hängt es denn genau? So wie du die Frage formuliert hast ist sie etwas sehr offen.

xReva 15. Nov 2016 08:29

AW: Delphi Patcher erstellen
 
Oh generell weis ich nicht wirklich wo ich anfangen soll ich habe zum Großteil nur mit C programmiert und lerne jetzt für die Schule Delphi und habe mir das als Projekt vorgenommen ich weiß nur leider nicht so ganz wie ich das Umsetzen soll eine kleine Hilfe oder generell einen Code wo ich mich reinlesen und verstehen kann wäre schon sehr Hilfreich

hoika 15. Nov 2016 09:05

AW: Delphi Patcher erstellen
 
Hallo,
ich würde erst mal ohne Webserver anfangen.

geg: 2 Dateien in unterschiedlichen Verzeichnissen
ges: Diff dieser Dateien

Google "delphi compare files" liefert

http://stackoverflow.com/questions/4...of-two-tstream

2 Dateien -> 2 TFileStreams -> per Copy 2 TMemoryStreams
damit könntest du anfangen.

sh17 15. Nov 2016 09:23

AW: Delphi Patcher erstellen
 
ganz so simpel ist das nicht, binäre diffs

ein Ansatz wäre rdiff (basis von rsync), da müsstest Du evtl was lesen können als C Entwickler
Ansonsten wäre https://github.com/OctopusDeploy/Octodiff eine C#-Implementation

für Delphi ist mir nichts bekannt.

Neutral General 15. Nov 2016 09:27

AW: Delphi Patcher erstellen
 
Man muss ja theoretisch nicht gleich die Dateien auf binärer ebene vergleichen.
Ist sowieso keine so gute Idee wenn der Kram vom Webserver kommt, weil man dann entweder die alte Version hochladen muss damit der Webserver vergleichen kann oder man muss die (möglicherweise) neue Version runterladen um sie mit der alten zu vergleichen bevor man weiß ob sie tatsächlich neuer ist. Da ist es einfacher über Hashes oder sogar nur Versionsnummern zu gehen.

Der schöne Günther 15. Nov 2016 09:32

AW: Delphi Patcher erstellen
 
Wer hat denn was von binären Dingen und nur Differenzen übertragen gesagt? Er hat bislang nur "Daten" und "vergleichen" gesagt. Geht es um Text- oder Grafikdateien? Willst du einfach nur sehen ob "Datei A" gleich/ungleich "Datei B" ist"? Zum Beispiel "Wenn Datei A anders ist als das Gegenstück auf Internetserver X, dann lade sie von Internetserver X neu herunter und ersetze Datei A damit". Reicht das nicht schon?

dGeek 15. Nov 2016 09:56

AW: Delphi Patcher erstellen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

geg: 2 Dateien in unterschiedlichen Verzeichnissen
ges: Diff dieser Dateien
Bietet sich hier nicht wunderbar ein MD5-Hash-Vergleich an?

Progman 15. Nov 2016 10:09

AW: Delphi Patcher erstellen
 
Vor Jahren hatte ich mal ein ähnliches Update-System geschrieben. Das Prinzip basierte auf der Versionsnummer und einer kleinen Exe-Datei, die das Handling übernimmt.
Beispiel:
Das aktuelle Programm auf dem PC hat die Versionsnummer 2.0.1, auf dem Server liegen Updates bis zur aktuellen Version 2.0.3.
Verwaltet wird alles durch eine zentrale Info-Datei (empfohlen XML), in der die vorhandenen Versionsnummern und Links bzw. Dateinamen der Update-Dateien zu jeder Versionsnummer eingetragen sind.
Das Update-Programm (aufgerufen durch das eigentliche Programm) auf dem PC lädt die Info-Datei, sucht seine Versionsnummer 2.0.1 und erfährt dadurch den Link zur nächsten Update-Datei auf 2.0.2. Diese Datei wird heruntergeladen und das alte, vorher geschlossene Programm damit überschrieben.
Beim nächsten Programmstart wird das wiederholt und resultiert in Version 2.0.3. Beim folgenden Programmstart wird keine höhere Versionsnummer gefunden und das Programm ist auf dem neuesten Stand.
Leider Habe ich davon keine Dateien mehr, da das noch in meiner Zeit der Berufstätigkeit war, ich aber seit 2012 Rentner bin und die ganze Software in der Firma blieb, die allerdings nicht mehr existiert.

dGeek 15. Nov 2016 10:35

AW: Delphi Patcher erstellen
 
Zitat:

Diese Datei wird heruntergeladen und das alte, vorher geschlossene Programm damit überschrieben.
Interessehalber: wie hat sich bei dir denn die kleine Exe-Datei (der Updater ansich) aktualisiert?


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:24 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz