Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi neueste Versionsinfo finden (https://www.delphipraxis.net/7196-neueste-versionsinfo-finden.html)

Tpercon 5. Aug 2003 10:54


neueste Versionsinfo finden
 
Ich habe in einem Array mehrere Versionsinfos stehen. Wie finde ich da die neueste? Das Problem ist also die Handhabung von Haupt-/ Nebenversion/ Ausgabe und Compilierung. Wie würdet ihr an den Vergleich heran gehen?

Gruß

sakura 5. Aug 2003 11:03

Re: neueste Versionsinfo finden
 
Ganz einfach, erst die Haupt-Versionen vergleichen, dann die Nebenversionen, den die Ausgabe und zum Schluss die Build-Nummer. Sobald eine größer ist, hast Du die neuere Version.

...:cat:...

Tpercon 5. Aug 2003 14:53

Re: neueste Versionsinfo finden
 
OK, ich habe jetzt folgende Variante mir gebaut:
Delphi-Quellcode:
  var i, imain, isub, ibuild, iamain, iasub, iabuild: word;
      ts: TStringList;
      sa, s: string;
  begin
    . . .
      iamain := 0;
      iasub := 0;
      iabuild := 0;
      sa := Format('%d.%d.%d',[iamain,iasub,iabuild]);
      for i := 0 to High(Progs) do begin
        if Progs[i].Version <> sa then begin
          SplitString(Progs[i].Version, '.', ts);
          if ts.Count = 3 then begin
            imain := StrtoInt(ts.Strings[0]);
            isub := StrtoInt(ts.Strings[1]);
            ibuild := StrtoInt(ts.Strings[2]);
            if imain >= iamain then begin
              if isub >= iasub then begin
                if ibuild > iabuild then begin
                  iamain := imain;
                  iasub := isub;
                  iabuild := ibuild;
                  sa := Format('%d.%d.%d',[iamain,iasub,iabuild]);
                end;
              end;
            end;
          end;
        end;
      end;
Die Versionen (im dyn. Array Progs unter Versionen) beinhalten nur die 3 Versionsinfos Haupt, Neben und Build. SplitString zerlegt den String einfach an Hand des Trennzeichens und fügt ihn in die StringList ein. In sa steht nach dem Durchlauf die neueste Version.
Seht ihr da noch ne Optimierungsmöglichkeit?


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:36 Uhr.

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