![]() |
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 |
AW: Delphi Patcher erstellen
Woran hängt es denn genau? So wie du die Frage formuliert hast ist sie etwas sehr offen.
|
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
|
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 ![]() 2 Dateien -> 2 TFileStreams -> per Copy 2 TMemoryStreams damit könntest du anfangen. |
AW: Delphi Patcher erstellen
ganz so simpel ist das nicht, binäre diffs
ein Ansatz wäre ![]() Ansonsten wäre ![]() für Delphi ist mir nichts bekannt. |
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. |
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?
|
AW: Delphi Patcher erstellen
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
|
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. |
AW: Delphi Patcher erstellen
Zitat:
|
AW: Delphi Patcher erstellen
Zitat:
Diese Methode fand Anwendung in der damals von der Firma SAD vertriebenen Anwendung "Europa Führerschein". Da es immer mal Änderungen/Korrekturen bei Fragen, Bildern usw. gab, erwies sich diese Methode als vorteilhaft. Der kunde, der das Programm gekauft hatte, musste sich um nichts kümmern und hatte die Anwendung immer auf dem aktuellen Stand. |
AW: Delphi Patcher erstellen
Zurstmal (unabhängig von der Programmiersprache) würd ich mir Gedanken machen, was alles gemacht werden muss.
Mal so als Beispiel: 1. Prüfen der Internetverbindung/Verbindung zum Server (Es soll Leute geben die haben keine permanente I-Net-Verbindung) 2. Prüfen gibts was neues auf dem Server Hier ist die Frage, wie genau du das angehen willst. Wirklich die Dateien vergleichen ? oder über Info-Dateien ? 3. Updaten Was muss zum Patchen runtergeladen werden ? Nur die neue Programmdatei oder auch zus. Module ? Damit hast du schon mal nen "Master"-Plan für das Projekt. Dann würd ich, Punkt für Punkt, erst in der Programmiersprache, die ich kann, umsetzen und dann das ganze versuchen zu portieren (auf die andere Sprache) :) Damit lernst du nicht nur die neue Sprache, sonder auch die Unterschiede zur bekannten Sprache, was u.U. wieder zu neuen Ideen führt :) |
AW: Delphi Patcher erstellen
[OT]Oje...ich hör mich an wie "1. Vorlesung: Grundlagen der Softwareentwicklung, Raum 105 Prof. Del-Phi" [/OT]
|
AW: Delphi Patcher erstellen
Ein wichtiger Punkt wären evtl. noch Abhängigkeiten. Muss z.B. eine Version mit einem bestimmten Stand zuerst installiert werden bevor ein anderes Update installiert werden kann. Oder müssen Datenbankänderungen vorgenommen werden, oder oder oder ...
|
AW: Delphi Patcher erstellen
Zitat:
Man muss alle möglichen Situationen in Form von Code berücksichtigen und je nach Situation handeln. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:24 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz