![]() |
Versions abfrage Problem!
Guten Morgen liebe DP Freunde :)
Ich habe ein kleines problem und zwar: versuche ich hiermit die version abzufragen, es funktioniert soweit auch aber da mein program nach höhere werte schaut glaubt er das 43 jetzt höere version ist als die eigentliche version das wiederum verursacht ganz klar einen error (erste ist version, zweite anzahl der archive/downloads)
Delphi-Quellcode:
36.01.11 43
Delphi-Quellcode:
meine frage jetzt, wie kann ich aus der version 36.01.11 die punkte rausnehmen um sie dann so zu vergleichen?
var InfFile:TExtFile;
Inf : String; Ini : Tinifile; RInf : TStringlist; I : Integer; begin assignfile(InfFile,'history.config'); ReseT(InfFile); Read(InfFile,inf); CloseFile(InfFile); label1.Caption:=inf; Localver:=inf; ini:=Tinifile.Create(ExtractFilePath(ParamStr(0))+'update.ini'); with ini do begin H:=ReadString('Launcher','Host',''); D:=ReadString('Launcher','Path',''); P:=ReadInteger('Launcher','Port',0); end; ini.Free; with HTT do begin Port:=P; end; RInf:=TStringlist.Create; RInf.Delimiter:=' '; try RInf.DelimitedText:= htt.Get(H+'/'+D+'/history.config'); except MessageBox(0,'Error while loading version Information','Error',16); exit; end; for i:=0 to RInf.Count -1 do begin if not (RInf.Strings[i] <> Localver ) then begin Remotever:=RInf.Strings[i]; label2.Caption:=RInf.Strings[i]; try updateIt(Remotever,StrToInt(RInf.Strings[i+1])); finally assignfile(InfFile,'history.config'); ReWrite(infFile); Write(InfFile,RInf.Strings[i]); CloseFile(InfFile); end; break; end; end; end; |
Re: Versions abfrage Problem!
Hallo,
wenn du zum Beispiel in TEdit hast und in diesem deine Versionsnummer steht, kannst du mit
Delphi-Quellcode:
die Punkte aus der Versionsnummer entfernen.
Edit1.Text := StringReplace(Edit1.Text,'.','',[rfReplaceAll, rfIgnoreCase]);
Gruß, Michael |
Re: Versions abfrage Problem!
Danke, hat mir jedoch nicht wirklich geholfen.
damit ich wirklich nur die version bekomme und nix anderes habe ich die if abfrage etwas angepasst.
Delphi-Quellcode:
falls jedoch noch jemand anderes eine bessere idee hat wie ich das am besten handeln kann, wer ich klar
if not(RInf.Strings[i] = Localver ) and (length(RInf.Strings[i]) = 8) then
sehr dankbar darüber :-) |
Re: Versions abfrage Problem!
Delphi-Quellcode:
Ich glaube, wir sagen in jedem Thread, dass man immer den Pfad mit angeben soll. Und so langsam sollte sich das eigentlich rumgesprochen haben. :?
assignfile(InfFile,'history.config');
|
Re: Versions abfrage Problem!
Zitat:
Ich seh kein <, <=, >= oder > in diesem Code. nur ein <> und das vergleicht nicht auf höher.
Delphi-Quellcode:
PS
if not (RInf.Strings[i] <> Localver ) then
not <> entspricht =
Delphi-Quellcode:
if RInf.Strings[i] = Localver then
|
Re: Versions abfrage Problem!
habe so ziemlich alles ausgetestet
<> < > und zu guter letzt = was ja auch läuft mit der längen abfrage:-) Zitat:
Aber bisher hat sich da noch nix beschwert ^^ |
Re: Versions abfrage Problem!
Zitat:
|
Re: Versions abfrage Problem!
sicher.
<> "Ist nicht gleich als" heisst das. grösser als > kleiner als < Back to Topic -> Ich habe alles ausprobiert es liegt aber nicht an der eigentlichen versions abfrage sondern: Da es sich in einer schleife befindet ist doch ganz klar das er mir nach dem 1. update folgendes als 2. angebliche version liefert "43". So ich habe es jetzt einfach durch einer weiteren frage behoben und wolte nur noch wissen ob ihr evtl einen besseren weg habt oder kennt. |
Re: Versions abfrage Problem!
Was ist denn nun noch das Problem? Das habe ich irgendwie nicht ganz verstanden.
|
Re: Versions abfrage Problem!
Ein Tipp:
Stringvergleiche <> Integervergleiche bei Integer 12 > 3 bei String, "12" < "3" da dort jedes Zeichen einzeln und nacheinander verglichen wird und "1" < "3" |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:56 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 by Thomas Breitkreuz