Autor |
Beitrag |
HanFrey
Hält's aus hier
Beiträge: 14
WIN XP, WIN 98
D4 Pers
|
Verfasst: Fr 05.11.04 22:53
Hi all!
Ich hab ein Programm für ein Spiel geschrieben, mit dem man alle
möglichen Sachen, die interessant für dieses Spiel sind, herunterladen kann.
Ich möchte nun in dieses Programm eine Updatefunktion einbauen.
Etwa so hab ich mir das Vorgestellt:
-Im Progamm steht ein Button "Möchten sie aktualisieren?" - (JA,NEIN)
-Das Programm hat die Versionsnummer 1.07 --> also der Einfachheit halber: "107"
-Im Internet steht aber bereits Version 1.08 (108) zur Verfügung.
-Also steht auf der Seite, auf der das Prog zum Download steht, ein Textfeld.
Das Textfeld hat den Inhalt: 108 (Also die neueste Version)
Das Textfeld wird verstckt sein, und dient nur diesem Zweck.
Das Programm soll jetzt erkennen, ob der Versionswert, der Im Internet steht, höher ist,
als der Versionswert des Programms. Wenn ja, dann soll der Download beginnen.
Ich weiß diese Beschreibung ist kompliziert, aber ich weiß nicht, wie ich es anders erklären soll.
Wem es Hilft: www.webalice.it/rockyr/RenBrow_News.html
Da ist das Programm... es heißt RenBrow..
|
|
matze
      
Beiträge: 4613
Erhaltene Danke: 24
XP home, prof
Delphi 2009 Prof,
|
Verfasst: Sa 06.11.04 12:37
ist genaz einfach. du nimmst die indy kompos. die bekommst du unter www.nevrona.com/indy und dann suchst du hier mal im forum nach INDY.
mit den idnys kannst du dir den inhalt einer datei aus dem internet per HTTP direkt in einen string laden lassen.
dann haste in dem string den text des textfiles aus dem internet drin und dann prüfst du einfach, ob das ne höhere nummer ist.
fertig.
_________________ In the beginning was the word.
And the word was content-type: text/plain.
|
|
HanFrey 
Hält's aus hier
Beiträge: 14
WIN XP, WIN 98
D4 Pers
|
Verfasst: So 07.11.04 11:17
OK ok... Indy hab ich jetzt drauf.. habs einfach in irgenteinen Ordner gezogen...
Scheint aber zu funktionieren.Kann jetzt Indy-Client und Indy-Server auswählen.
Und was muss ich dann machen? Hab leider keinen Plan davon, und weiß überhaupt nicht, welche von den fast 40 Komps ich nehmen soll.
Hier im Forum finde ich keinen Beitrag, wo das beschrieben wird..
|
|
matze
      
Beiträge: 4613
Erhaltene Danke: 24
XP home, prof
Delphi 2009 Prof,
|
Verfasst: So 07.11.04 18:18
du nimmst dazu den INDY Http Client. das ist der mit der weltkugel !
_________________ In the beginning was the word.
And the word was content-type: text/plain.
|
|
GTA-Place
      

Beiträge: 5248
Erhaltene Danke: 2
WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
|
Verfasst: So 07.11.04 20:56
Ich habs so gemacht:
Textfile runtergeladen
In Stringlist reingeladen
Version verglichen.
Textfile gelöscht.
|
|
endeffects
      
Beiträge: 41
|
Verfasst: Mo 08.11.04 11:21
Delphi-Quelltext 1: 2: 3: 4:
| var LatestVersion, CurrentVersion: String;
LatestVersion:= IdHttp.Get('http://domain.tld/latestversion.txt'); if LatestVersion <> CurrentVersion then ... |
Moderiert von Udontknow: Doppelposting entfernt.
|
|
endeffects
      
Beiträge: 41
|
Verfasst: Mo 08.11.04 11:24
narf
gibts in diesem forum denn keine möglichkeit einen beitrag zu editieren?
|
|
jaenicke
      
Beiträge: 19313
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mo 08.11.04 11:33
Zitat: |
gibts in diesem forum denn keine möglichkeit einen beitrag zu editieren? |
Im Moment leider nicht...
|
|
Udontknow
      
Beiträge: 2596
Win7
D2006 WIN32, .NET (C#)
|
Verfasst: Mo 08.11.04 11:34
Hallo!
Die Funktion wurde aus Performance-Gründen abgeschaltet, sie wird innerhalb der nächsten paar Tage jedoch wieder reaktiviert.
Cu,
Udontknow
|
|
HanFrey 
Hält's aus hier
Beiträge: 14
WIN XP, WIN 98
D4 Pers
|
Verfasst: Mo 08.11.04 15:10
Ok danke an alle !
Ich probiers gleich aus.
|
|
HanFrey 
Hält's aus hier
Beiträge: 14
WIN XP, WIN 98
D4 Pers
|
Verfasst: Mo 08.11.04 15:33
Ich bin doof...
.. hab den code von endeffects in diesen IndyHTTP clienten
(über doppelklick) geschrieben. er kennt ".get" nicht..
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP;
type TForm1 = class(TForm) IdHTTP1: TIdHTTP; procedure IdHTTP1Authorization(Sender: TObject; Authentication: TIdAuthentication; var Handled: Boolean); private public end;
var Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.IdHTTP1Authorization(Sender: TObject; Authentication: TIdAuthentication; var Handled: Boolean); var LatestVersion, CurrentVersion: String;
begin currentversion:='107'; LatestVersion:= IdHttp.Get('http://irgend-eine-seite.de/mitText.txt'); if LatestVersion > CurrentVersion then begin ShellExecute(Application.Handle, 'open', PChar('http://einProgramm.de/aufeiner/seite.exe'), nil, nil, sw_ShowNormal); end;
end;
end. |
Fehler: undefinierter Bezeichner: 'TidAuthentication'
Fehler: undefinierter Bezeichner: 'get'
Bestimmt stell ich mich einfach nur dumm an...
hab davon nämlich überhaupt keinen Plan.
Wie müsste es richtig sein?
Moderiert von UGrohne: Code- durch Delphi-Tags ersetzt.
|
|
Udontknow
      
Beiträge: 2596
Win7
D2006 WIN32, .NET (C#)
|
Verfasst: Mo 08.11.04 15:40
Hallo!
Zur ersten Meldung: Du musst die Unit, in der diese Klasse (TidAuthentification) definiert ist, in die Uses-Klausel einbringen. Durchforste am besten mal alle Indy-Units per Windows-Suche, um rauszufinden, welche das ist.
Zur zweiten Meldung: Du hast die "1" vergessen, "IdHTTP1" heisst deine Komponente, "IdHTTP" dagegen ist die Unit, die diese Komponente implementiert.
Cu,
Udontknow
|
|
HanFrey 
Hält's aus hier
Beiträge: 14
WIN XP, WIN 98
D4 Pers
|
Verfasst: Mo 08.11.04 18:31
Ok das zweite hab ich jetzt soweit.. nur noch die erste Fehlermeldung.
Hab eine Datei namens idHTTP.dcu gefunden...
Die Datei verwendet er aber (glaube ich) schon..
Was muss ich genau machen??
Bin schon wieder Planlos...
|
|
Udontknow
      
Beiträge: 2596
Win7
D2006 WIN32, .NET (C#)
|
Verfasst: Mo 08.11.04 18:33
Die gesuchte Unit heisst "IdAuthentication".
Cu,
Udontknow
|
|
HanFrey 
Hält's aus hier
Beiträge: 14
WIN XP, WIN 98
D4 Pers
|
Verfasst: Mo 08.11.04 20:51
Ok THX das geht jetzt..(Prog startet) hab es einfach unter USES mit dazugeschrieben.
Aber wie kann ich die Abfrage, um die es eigentlich geht, in Gang setzen? Dieses komische idHTTP Teil kann ich nicht sehen.. geschweige denn anklicken.
Ich lerns nie! 
|
|
matze
      
Beiträge: 4613
Erhaltene Danke: 24
XP home, prof
Delphi 2009 Prof,
|
Verfasst: Di 09.11.04 13:03
du hast das ins falsche event regeschrieben !
kopier mal den code aus dem event raus und setzt den mal bei deinem OnClick von ineme Button ein !
idhttp1 ist ja nur die kompo die das unterlädt. die macht selber nix und ist auch eine nicht-visuelle kompo.
_________________ In the beginning was the word.
And the word was content-type: text/plain.
|
|
HanFrey 
Hält's aus hier
Beiträge: 14
WIN XP, WIN 98
D4 Pers
|
Verfasst: Di 09.11.04 18:12
Geil es funktioniert!
Danke euch allen!!!!
*freu*
THX!
|
|