Autor |
Beitrag |
GTA-Place
Beiträge: 5248
Erhaltene Danke: 2
WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
|
Verfasst: Mi 24.03.04 17:15
Hi!
Ich will in meinem Prog. eine Updatefunktion haben die folgendes kann:
1. Prüfen ob Verbunden zum inet, wenn nicht
2. Verbindung herstellen
3. Schauen ob neue Version auf Server
Runterladen und istallieren weiß ich.
Hoffentlich könnt ihr mich helfen.
DANKE!
Moderiert von Peter Lustig: Topic verschoben
|
|
NetFalcon
Beiträge: 59
Guitar Player
|
Verfasst: Mi 24.03.04 17:25
naja 1/2 ist nicht allzuschwer gibts bei google / seiten tonnen von tutorials
3. Würde ich eine datei runterladen in dem der neue wert (die neue version) steht
Verglichen wird mit der im Programm vorhanden Version falls version Prog < version datei starte download ?
Zitat: | Runterladen und istallieren weiß ich. |
dann dürfte das kein Problem sein
|
|
GTA-Place
Beiträge: 5248
Erhaltene Danke: 2
WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
|
Verfasst: Mi 24.03.04 17:51
Aber wie kann ich die zwei dateien vergleichen lassen?
|
|
Udontknow
Beiträge: 2596
Win7
D2006 WIN32, .NET (C#)
|
Verfasst: Mi 24.03.04 17:57
Das solltest du nicht tun.
Netfalcon hat schon die Richtung gewiesen: Du lädst eine andere (Text-) Datei herunter, in der die aktuelle Versionsnummer steht. Alles, was du tun musst, ist dann die Nummer in dieser Textdatei mit der Version des laufenden Programms zu vergleichen.
Cu,
Udontknow
|
|
GTA-Place
Beiträge: 5248
Erhaltene Danke: 2
WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
|
Verfasst: Mi 24.03.04 17:59
Zitat: | Alles, was du tun musst, ist dann die Nummer in dieser Textdatei mit der Version des laufenden Programms zu vergleichen. |
Das weiß ich doch, aber wie kann ich die Nummer in der Textdatei mit der Version des laufenden Programms vergleichen?
|
|
Udontknow
Beiträge: 2596
Win7
D2006 WIN32, .NET (C#)
|
Verfasst: Mi 24.03.04 18:04
Äh... Wieso willst du das machen? Du hast doch nur eine Textdatei und vergleichst die Angabe der Version mit der Version des Programms ...
Edit: Oh, hast den Text abgeändert...
Ja nu. Du kannst es "zu Fuss" machen, indem du eine Konstante in deinem Programm hast, die du bei jedem neuen Build erhöhst. Den Wert schreibst du auch in die Textdatei und lädst sie hoch. Wenn der Wert in der Textdatei ungleich deiner Konstante ist, gibt´s ne neue Version.
Alternativ kannst du auch die "offizielle" Version (siehe Projekt\Optionen\VersionsInfo) ermitteln, da gibt´s doch bestimmt irgendwo einen schönen FAQ-Eintrag, vermute ich...
Cu,
Udontknow
Zuletzt bearbeitet von Udontknow am Mi 24.03.04 18:09, insgesamt 1-mal bearbeitet
|
|
GTA-Place
Beiträge: 5248
Erhaltene Danke: 2
WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
|
Verfasst: Mi 24.03.04 18:07
Kann mir einer einen Quellcode dazu schreiben?
Bin absoluter Anfänger in Delphi.
Hab bisher mit DarkBasic "gearbeitet"
|
|
Udontknow
Beiträge: 2596
Win7
D2006 WIN32, .NET (C#)
|
Verfasst: Mi 24.03.04 18:11
Argghhh! Wieso habe ich das geahnt! Warum tue ich mir das immer wieder an...
www.delphi-forum.de/...mp;highlight=version
Eigeninitiative ist das Stichwort! Wenn du konkrete Fragen hast, stelle sie... Zum Arbeiten mit Texten empfehle ich TStringlist (siehe Delphi-Hilfe).
Cu,
Udontknow
|
|
GTA-Place
Beiträge: 5248
Erhaltene Danke: 2
WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
|
Verfasst: Mi 24.03.04 18:14
1. thx
2. OK, ich habe die Version ermittelt, wie kann ich jetzt die nummer aus der textdatei auslesen?
EDIT: Moment ich versuch mal "Eigeninitiative"
|
|
Udontknow
Beiträge: 2596
Win7
D2006 WIN32, .NET (C#)
|
Verfasst: Mi 24.03.04 18:17
GTA-Place hat folgendes geschrieben: | EDIT: Moment ich versuch mal "Eigeninitiative" |
Danke!!!
Cu,
Udontknow
|
|
GTA-Place
Beiträge: 5248
Erhaltene Danke: 2
WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
|
Verfasst: Mi 24.03.04 18:19
Ich müsste eine Datei im Prog. öffnen und sie dann mit tsting auslesen, oder?
EDIT: Kann ich die Datei auch binär auslesen lassen und vergleichen?
|
|
Udontknow
Beiträge: 2596
Win7
D2006 WIN32, .NET (C#)
|
Verfasst: Mi 24.03.04 18:30
TStringlist ist die Klasse, mit der man textdateien leicht einlesen kann.
Und ja, man kann binär einlesen (siehe TFileStream).
Cu,
Udontknow
|
|
GTA-Place
Beiträge: 5248
Erhaltene Danke: 2
WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
|
Verfasst: Mi 24.03.04 18:40
Mh...
Vergleichen würde ich vielleicht hinbekommen, aber ich schaffs nicht eine Datei auszulesen...
Kann mir da jemand helfen?
|
|
GTA-Place
Beiträge: 5248
Erhaltene Danke: 2
WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
|
Verfasst: Mi 24.03.04 19:06
Ich check das nicht...
Hoffentlich kann ich das auch mal...
|
|
Udontknow
Beiträge: 2596
Win7
D2006 WIN32, .NET (C#)
|
Verfasst: Mi 24.03.04 19:56
Warum bemühst du nicht die Delphi-Hilfe? Du hast ein Problem mit TStringlist? Schau in die Delphi-Hilfe. Da stehen, sobald du auf den Link "Methoden" drückst, sämtliche Methoden eines TStringlist-Objekts, unter anderem auch "LoadFromFile". Unter dem Link "Verwendung von TStringlist" wird ausführlich erläutert, wie man mit Stringlisten arbeitet.
Ausserdem habe ich dir bereits gesagt, daß du besser konkrete Fragen stellst. Was schaffst du denn jetzt nicht? Wenn du nicht die elementaren Grundlagen von Delphi / Object Pascal beherrschst, solltest du dir vielleicht erst einmal ein Grundlagen-Tutorial zu Delphi zu Gemüte führen.
Cu,
Udontknow
Zuletzt bearbeitet von Udontknow am Mi 24.03.04 21:47, insgesamt 1-mal bearbeitet
|
|
GTA-Place
Beiträge: 5248
Erhaltene Danke: 2
WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
|
Verfasst: Mi 24.03.04 20:16
Delphi-Quelltext 1:
| procedure LoadFromFile(const FileName: string); virtual; |
Das ist der Befehl zum TxtDateien laden.
Das ist aber nur eine Procedure, was muss denn hinter "begin" und wieso erkennt delphi "virtual" nicht?
EDIT: Ach da ist ja ein Beispiel dabei
EDIT2: TxtDatei kann ich jetzt laden und anzeigen, jetzt muss ich nur noch vergleichen.
|
|
GTA-Place
Beiträge: 5248
Erhaltene Danke: 2
WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
|
Verfasst: Mi 24.03.04 20:45
Wie vergleich ich jetzt die eingeladene TxtDatei mit der Versionsnummer?
|
|
GTA-Place
Beiträge: 5248
Erhaltene Danke: 2
WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
|
Verfasst: Mi 24.03.04 20:52
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| procedure TForm1.Button1Click(Sender: TObject); const Path = 'c:\test.txt'; begin RichEdit1.PlainText := True; RichEdit1.Lines.LoadFromFile(Path); if RichEdit1.Lines = GetFileVersion(ParamStr(0)) then ShowMessage('Gleich') else ShowMessage('Ungleich') end; |
Also so gehts nicht,
Zitat: | Inkompatible Typen: 'String' und 'TStrings' |
|
|
Christian S.
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Mi 24.03.04 20:55
(1) Du kannst Deine Postings auch editieren, Du musst nicht in so kurzen Abständen neue posten.
(2) Wozu brauchst Du das RichEdit? Du kannst eine TStringList auch ohne irgendwas drum herum benutzen.
(3) Auf die einzelnen Zeilen (die dann Strings sind) kannst Du mittels Lines[i] beim RichEdit bzw. Items[i] bei TStringList zugreifen, wobei i der Index der Zeile ist. Die Indizes beginnen bei 0.
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
GTA-Place
Beiträge: 5248
Erhaltene Danke: 2
WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
|
Verfasst: Mi 24.03.04 21:06
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| procedure TForm1.Button1Click(Sender: TObject); const Path = 'c:\test.txt'; Path2 = 'c:\test2.txt'; begin RichEdit1.Lines.LoadFromFile(Path); RichEdit2.Lines.LoadFromFile(Path2); if RichEdit1.Lines = RichEdit2.Lines then ShowMessage('Gleich!') else ShowMessage('Ungleich!') end; |
Eigentlich müsste es so gehen, aber er zeigt immer "Ungleich!" an auch wenn in den zwei dateien die gleiche zahl steht.
RichEdit könnte man zum Beispiel zur Anzeige, welche Version man benutzt, benützen.
|
|