Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Update Funktion

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Mark7788



Anmeldungsdatum: 21.01.2006
Beiträge: 77
Wohnort: Frankfurt Freebasic

BeitragVerfasst am: 23.03.2006, 15:28    Titel: Update Funktion Antworten mit Zitat

Hi!
Folgende frage. Ich möchte in meine spiele/programme eine update funktion reinbauen. das er dann auf angegebener serveradresse wo die spiele dateien und programmdateien abfragt ob es eine neue version gibt und dann entweder sagt "Ihre version ist aktuell" oder "Eine neue version ist verfügbar" zb;-). Wie funktioniert sowas? gibt es einen code dafür?

Danke schonmal!

Mfg
markus zwinkern
_________________
www.DasMillionenQuiz.de.vu ; www.Mkse.de.vu
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen MSN Messenger
ChemicalWarfare



Anmeldungsdatum: 15.09.2004
Beiträge: 152

BeitragVerfasst am: 23.03.2006, 15:33    Titel: Antworten mit Zitat

dafür gibt es 2 möglichkeiten: entweder speicherst du im programm, welche version das ist und vergleichst sie mit aktuellen versionsnummer aufm server. oder du berechnest von jeder datei nen hash (z.b. md5) und vergleichst jeden hash mit dem aufm server gespeicherten hash (die bessere möglichkeit, denn so können beschädigte/gelöschte dateien erkannt und ausgetauscht/erneuert werden).
_________________
Er ist ein Wunder!
Nein, er ist eine Missgeburt.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Mark7788



Anmeldungsdatum: 21.01.2006
Beiträge: 77
Wohnort: Frankfurt Freebasic

BeitragVerfasst am: 23.03.2006, 15:41    Titel: Antworten mit Zitat

Vielen dank!
und wie sieht das genau mit der html abfrage aus? (bin da noch noob und habe da nicht viel ahnung) und der hash wert .. das ist ja ein wert tu ich den iregndwo reinprogrammieren? wenn ja wo?

edit: ich würde das ganze am liebsten seperat haben (als online client.exe) den man einfach startet, der dann abfragt ob es updates gibt und gegebenfalls dann die dateien direkt ins hauptverzeichnis des zu aktualisierenden programmes kopiert.


Mfg
markus lächeln
_________________
www.DasMillionenQuiz.de.vu ; www.Mkse.de.vu
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen MSN Messenger
ChemicalWarfare



Anmeldungsdatum: 15.09.2004
Beiträge: 152

BeitragVerfasst am: 23.03.2006, 16:14    Titel: Antworten mit Zitat

was für eine html abfrage?

den md5 berechnest du jedes mal neu, wenn du die client.exe startest.

hier ein pseudocode:

Code:

hole_filelist_und_hashes_vom_server()
für jede_datei_in_der_filelist:
  öffne_datei()
  berechne_hash_von_der_datei()
  wenn berechneter_hash <> server_hash:
    lade_die_datei_vom_sever()

_________________
Er ist ein Wunder!
Nein, er ist eine Missgeburt.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Mark7788



Anmeldungsdatum: 21.01.2006
Beiträge: 77
Wohnort: Frankfurt Freebasic

BeitragVerfasst am: 23.03.2006, 18:56    Titel: Antworten mit Zitat

Hallo!lächeln
Danke! ich habe jetzt aufgrund meiner NUR anfängerkenntnisse von freebasic folgendes getan:

Ich habe eine datei erstellt (im programmverzeichnis) "filelist.txt" und eine datei die auf den server kommen soll "filelist.txt" in den dateien steht im moment jewals die zahl 1 ... dann fragt das programm ab : ist "filelist.txt = filelist.txt" ? .. wenn ja ist kein update verfügbar und wenn das nicht das glecihe ist ist ein update verfügbar. Leider habe ich keine ahnung wie ich es anstellen soll das er die datei auf dem server runterläd, und in ein unterverzeichnis kopiert um sie dann zu vergleichen und darauf vllt wieder löscht wenn möglich (die servertextdatei). kann mir da jemand helfen?

wäre sehr dankbar!lächeln

Mfg
markus lächeln
_________________
www.DasMillionenQuiz.de.vu ; www.Mkse.de.vu
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen MSN Messenger
Michael Frey



Anmeldungsdatum: 18.12.2004
Beiträge: 2577
Wohnort: Schweiz

BeitragVerfasst am: 23.03.2006, 19:19    Titel: Antworten mit Zitat

Zu diesem Thema gab es vorkurzem eine Diskussion im QBasic Forum:
http://forum.qbasic.at/viewtopic.php?t=2259
Einige Ideen liesen sich sicher übernehmen.

So zum beispiel die Idee mit dem FTP Server.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Mark7788



Anmeldungsdatum: 21.01.2006
Beiträge: 77
Wohnort: Frankfurt Freebasic

BeitragVerfasst am: 23.03.2006, 19:33    Titel: Antworten mit Zitat

Hi
Hilft mir leider nicht so weiter;-)
Will eigentlich nur das er vom link: "mkse.freebasic.de/DasMillionenQuiz/MillionenQuizFilelist.txt" die datei runterläd und ohne zu fragen sagen wir mal zb .. unter C:/Programme/DasMillionenquiz kopiert.

dann kommt in meinem programm der vergleich der 2 dateien. dann wird entweder die soeben runtergeladene datei gelöscht : "Sorry kein update verfügbar". oder der öffnet das browserfenster (habe ich schon hingekriegt) das man sich dann auf einer bestimmten seite die neuste version runterladen kann. das problem ist im moment nur das holen der datei "millionenquizfilelist.txt" von oben angegebener adresse, und das kopieren in ein verzeichnis. Habe es im moment nur so hingekriegt das er die datei "millionenquizfilelist.txt" runterläd aber dann zum download auffordert und man muss die datei selbst wo speichern (normaler download) aber das will ich ja nicht;-)
lächeln

Aber danke für den link!lächeln vllt kann mir ja einer noch ein bisschen mehr klarheit verschaffen^^ bin ja noch anfänger

Mfg
markus happy
_________________
www.DasMillionenQuiz.de.vu ; www.Mkse.de.vu
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen MSN Messenger
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 23.03.2006, 19:48    Titel: Antworten mit Zitat

sacht ma leute wie stellt ihr euch das eigentlich immer vor? HTTP ist ein ganzes Protokoll, es gibt keine funktion runterlad("server.de/datei.dat") oder sowas, dafür muss man ne menge machen was man als anfänger einfach nicht kann. auch wenn das adresse im browser eingeben verdammt einfach ist, sowas zu programmieren ist deutlich schwieriger. Des weiteren brauch mMn auch nicht jedes kleine gammelgame ne Updatefunktion oder Online Highscores.. (soll jetz nich heißen, dass du müll programmierst..) warum sind diese nervigen teile denn bitte so in mode? Ich würde bei nem kleinen programm von irgendwelchen hobbyprogrammierern bei meiner firewall eh auf verweigern tippen worauf hin das programm wahrscheinlich in nicht definierbaren fehlern versinken würde weil wer auch immer es programmiert hat sich mit "runterladen" nicht richtig auskennt und dementsprechend auch keine fehlerbehandlung einbauen konnte (oder es auch so einfach nich gemacht hat)..
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
max06



Anmeldungsdatum: 05.12.2004
Beiträge: 390
Wohnort: Augsburg

BeitragVerfasst am: 24.03.2006, 14:12    Titel: Ganz einfach :-) Antworten mit Zitat

Ich hätte dir eine ganz einfache Lösung anzubieten lächeln

Kennst du das Konsolenprog ftp? Ist bei jedem Windows und Linux dabei...

Du musst eine ftp.txt erstellen, in der die ganzen Befehle stehen, die nacheinander an den Server gesendet werden sollen. Das sieht z.B. so aus:

<<username>>
<<passwort>>
cd <<Verzeichnis, wo die Datei liegt>>
get <<Serverdatei>> <<Zielordner mit Pfad!>>
exit

an Stelle der << und >> musst du natürlich deine Daten einsetzen. Probiere einfach mal das Programm ftp mit den ganzen Befehlen nacheinander aus, dann siehst du, wenns Probleme gibt, wo diese liegen.

Danach führst du in einer konsole mal "ftp /help" aus... kann das hier leider gerade nicht machen, habe nur Linux. Es gibt dort einen Parameter namens -f falls ich mich richtig erinnere. Er dient dazu, die Befehle aus deiner ftp.txt der Reihe nach abzuarbeiten.

Wenn du fertig bist, schreibst du in eine update.exe die Zeile:

shell "ftp <<Server>> <<das Kommando, welches du gerade rausgesucht hast>> >output.txt"

Damit müsstest du die benötigte Datei einfach vom Server laden können...


Wenn du damit Probleme hast, melde dich, dann werde ich nochmal genauer recherchieren (schreibt man das so?) lächeln


Grüße
Florian
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz