Autor Beitrag
exact
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Fr 29.09.06 07:55 
Hallo erstmal,

Und zwar hätt ich ein wenig fragen zu meinem Titel.
Ich bin ein relativer Neuling was Programmierung mit Delphie oder Pascal angeht.
Ich möchte damit Anmerken, dass das mein erstes Project ist das ich "versuchen" möchte.

Nach halb erfolgreichem Suchen in diesem Forum hab ich auch schon relativ viel dazugelernt was Updater angeht aber mir Fehlen da noch relativ viele schnipsel um das Project abzuschließen.

Mein Vorhaben ist:

Ein GameUpdater, damit mein ich folgendes: Ein updater der eine ältere Version einer Datei Patcht.

- Prüfen ob Internetverbindung besteht
- Prüfen ob der Internet Server online ist
- Prüfen/Vergleichen einer VersionsDatei (.ini oder .txt) auf dem zu updatenden Rechners und des Internet Hosts
- Downloaden und Entpacken einer .rar datei, da ich vorhabe nur einen Order.rar in den pfad als download zu geben den er überschreiben soll.

Meine Spieler sollten eine Updater.exe downloaden die sie dann in den Spielordner schieben und dann mit doppelklick starten können, der dann alles für sie "Patcht"

Ein teil meines Vorhabens konnte ich mit lesen einiger Threads schon halb beantworten.
Zitat:

Ini1.ini und Ini2.ini
dein Programm weiss JETZT schon was es in der neuen INi auslesen kann undzwar:

ini2.ini Inhalt

[Test]
Version=0.0.0.2
DateienNeu=3
[NeueDateien]
Datei1=xxxx
Datei2=xxxx
Datei3=xxxxx
Datei4=0

ini1.ini folgenden Inhalt

[Test]
Version=0.0.0.1
DateienNeu=0
[NeueDateien]
Datei1=0
Datei2=0
Datei3=0
Datei4=0

die alte init wird überschrieben und automatisch in ini1.ini umbenannt.



Ich suche ein Tutorial (oder ein bisschen Hilfe :D) oder ein bereits geschriebens Programm das als shareware bereit steht für meine Verwendungszecke.

Ich danke schonmal im Vorraus
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mo 02.10.06 12:26 
Moin und :welcome: im Forum!

Da bisher leider noch niemand geantwortet hat und du neu hier bist, schreibe ich mal wenigstens etwas dazu... ;)

user profile iconexact hat folgendes geschrieben:
Ich bin ein relativer Neuling was Programmierung mit Delphie oder Pascal angeht.
Ich möchte damit Anmerken, dass das mein erstes Project ist das ich "versuchen" möchte.

Nach halb erfolgreichem Suchen in diesem Forum hab ich auch schon relativ viel dazugelernt was Updater angeht aber mir Fehlen da noch relativ viele schnipsel um das Project abzuschließen.

:? Also ´n copy&paste-Projekt wird das mal sicher nicht... :|

Du hast dir da für den Anfang etwas sehr viel vorgenommen, fürchte ich. Vielleicht solltest du erstmal die einzelnen Teile deines Vorhabens selbst nachprogrammieren, um die Techniken zu erlernen. ;)

Du wirst da auf folgende, mehr oder weniger große Probleme stossen:
user profile iconexact hat folgendes geschrieben:
Ein updater der eine ältere Version einer Datei Patcht.

Beschäftige dich mal mit Suche in: Delphi-Forum, Delphi-Library TFILESTREAM, damit kannst du den Inhalt einer Datei ändern. Allerdings brauchst du dazu die Gewissheit, dass es sich auch wirklich um die Datei handelt, für die deine Delta-Liste bestimmt ist; dass kannst du mit einem Hash-Verfahren machen, z.B. Suche in: Delphi-Forum, Delphi-Library MD5.

user profile iconexact hat folgendes geschrieben:
- Prüfen ob Internetverbindung besteht

Es ist nicht möglich zu prüfen, ob eine Internetverbindung besteht. Siehe hier. ;)

user profile iconexact hat folgendes geschrieben:
- Prüfen ob der Internet Server online ist

Das kannst du mit einem Ping vorprüfen, sagt allerdings nur was darüber aus, ob der Server erreichbar ist. Ob der Dienst erreichbar ist, kommt dann aber beim Verbindungsaufbau schon raus. Wenn du komplette Dateien per http ziehen willst, dann schau mal nach Suche in: Delphi-Forum, Delphi-Library DOWNLOADURLTOFILE oder Suche in: Delphi-Forum, Delphi-Library INTERNETREADFILE.

user profile iconexact hat folgendes geschrieben:
- Prüfen/Vergleichen einer VersionsDatei (.ini oder .txt) auf dem zu updatenden Rechners und des Internet Hosts

Wie schon angedeutet, Datei lokal runterladen geht am einfachsten und dann den Inhalt auswerten.

user profile iconexact hat folgendes geschrieben:
- Downloaden und Entpacken einer .rar datei, da ich vorhabe nur einen Order.rar in den pfad als download zu geben den er überschreiben soll.

Dazu mußt du das RAR-Format in deinem Programm unterstützen, du kannst nicht davon ausgehen, dass jeder RARs auspacken kann. Das könnte schon etwas schwerer werden. :?

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
F34r0fTh3D4rk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Mo 02.10.06 12:46 
php kenntnisse wären auch net schlecht, ich würde immer die aktuellste versionnummer über php ausgeben lassen, und dann nen download link überreichen, aber dann müssest du eventuell noch dateien entpacken etc, das ist net leicht. ich hab mal nen installer für ein cms geschrieben und ich sag dir, das war heftig, ich hab ne menge fremdkomponenten und dlls gebrauct und am ende war der code auch net so das wahre ;)

mfg
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Mo 02.10.06 12:57 
Hallo,
das ist wirklich nicht trivial. Ich hatte auch mal so ein Projekt, das ich auch hier vorgestellt hatte. Inzwischen habe ich das Ganze im Rahmen einer Studienarbeit aber nochmal komplett neu geschrieben, zusätzlich mit Updates für Firebird- und Interbase-Datenbanken.
Im Moment fange ich an, das Ganze unter .NET 2.0 neu zu machen, aber das ist eine andere Geschichte ;)

Auf jeden Fall musst Du sehr viel beachten. Aber Du kannst mein damaliges Projekt ja mal anschauen, vielleicht gibt es Dir einige Tipps: www.delphi-forum.de/...=5624&highlight=