Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Versions abfrage Problem! (https://www.delphipraxis.net/148455-versions-abfrage-problem.html)

danu1104 2. Mär 2010 07:38


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:
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;
meine frage jetzt, wie kann ich aus der version 36.01.11 die punkte rausnehmen um sie dann so zu vergleichen?

mw19 2. Mär 2010 07:48

Re: Versions abfrage Problem!
 
Hallo,

wenn du zum Beispiel in TEdit hast und in diesem deine Versionsnummer steht, kannst du mit
Delphi-Quellcode:
Edit1.Text := StringReplace(Edit1.Text,'.','',[rfReplaceAll, rfIgnoreCase]);
die Punkte aus der Versionsnummer entfernen.

Gruß,
Michael

danu1104 2. Mär 2010 08:11

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:
 if not(RInf.Strings[i] = Localver ) and (length(RInf.Strings[i]) = 8) then
falls jedoch noch jemand anderes eine bessere idee hat wie ich das am besten handeln kann, wer ich klar
sehr dankbar darüber :-)

Luckie 2. Mär 2010 08:37

Re: Versions abfrage Problem!
 
Delphi-Quellcode:
assignfile(InfFile,'history.config');
Ich glaube, wir sagen in jedem Thread, dass man immer den Pfad mit angeben soll. Und so langsam sollte sich das eigentlich rumgesprochen haben. :?

himitsu 2. Mär 2010 09:16

Re: Versions abfrage Problem!
 
Zitat:

Zitat von danu1104
glaubt er das 43 jetzt höere version ist als die eigentliche version

Wo wird in diesem Code etwas auf höher/nieddriger (größer/kleiner) geprüft/verglichen?

Ich seh kein <, <=, >= oder > in diesem Code.

nur ein <> und das vergleicht nicht auf höher.
Delphi-Quellcode:
if not (RInf.Strings[i] <> Localver ) then
PS

not <> entspricht =
Delphi-Quellcode:
if RInf.Strings[i] = Localver then

danu1104 2. Mär 2010 09:32

Re: Versions abfrage Problem!
 
habe so ziemlich alles ausgetestet

<>
<
>

und zu guter letzt = was ja auch läuft mit der längen abfrage:-)

Zitat:

Zitat von Luckie
Delphi-Quellcode:
assignfile(InfFile,'history.config');
Ich glaube, wir sagen in jedem Thread, dass man immer den Pfad mit angeben soll. Und so langsam sollte sich das eigentlich rumgesprochen haben. :?

Weiss ich, ich nehme dann immer ExtractFilePath(ParamStr(0)) , habs aber diesmal aus bequemlichkeit rausgelassen^^

Aber bisher hat sich da noch nix beschwert ^^

khh 2. Mär 2010 09:36

Re: Versions abfrage Problem!
 
Zitat:

Zitat von danu1104
habe so ziemlich alles ausgetestet

<>
<
>

das sagt doch aus, dass du gar nicht weisst was <>, >,< überhaupt bewirkt,oder ?

danu1104 2. Mär 2010 09:43

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.

DeddyH 2. Mär 2010 09:53

Re: Versions abfrage Problem!
 
Was ist denn nun noch das Problem? Das habe ich irgendwie nicht ganz verstanden.

himitsu 2. Mär 2010 09:53

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 07:47 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz