Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Inhalt von text datei vergleichen (https://www.delphipraxis.net/57310-inhalt-von-text-datei-vergleichen.html)

Knotti2005 18. Nov 2005 21:16


Inhalt von text datei vergleichen
 
Hey wie kann ich den Inhalt von 2 Textdateien mit ein ander vergleichen. Und nach dem vergleich gegebenfalls eine Prozedur starten. Wenn die 2 Datei eine höhere Versionsnummer beinhaldet soll eine Prozedur gestartet werden. Der inhalt sieht ca so aus..


z.b.

1 Txt Datei
Zitat:

0.1
2 Txt Datei
Zitat:

0.2.1

TheAn00bis 18. Nov 2005 21:30

Re: Inhalt von text datei vergleichen
 
Vielleicht so:
Delphi-Quellcode:
var   s1,s2:Tstringlist;
begin
  s1:=tstringlist.create;
  s2:=tstringlist.create;
  s1.LoadFromFile('datei1.txt');
  s2.loadfromfile('datei2.txt');
  if s1=s2 then showmessage('Die Dateien sind gleich')
  else if strtofloat(s1[0])>strtofloat(s1[1]) then showmessage('Datei1 hat eine höhere Versionsnummer!')
  else if strtofloat(s1[0])<strtofloat(s1[1]) then showmessage('Datei2 hat eine höhere Versionsnummer!');
Dabei müsste die Versionsnummer in der ersten Zeile liegen - ungetestet.

//edit: stringlist noch initialisiert - habs mal getestet das mit dem s1=s2 scheint nicht zu funktionieren und strtofloat ist ja auch Unsinn, da es ja keine Gleitpunktzahl sein muss
- warte lieber auf jemanden der kompetenter ist :D

Knotti2005 18. Nov 2005 21:33

Re: Inhalt von text datei vergleichen
 
Okay ich warte...

Grishnak 18. Nov 2005 22:42

Re: Inhalt von text datei vergleichen
 
Wenn die Versionsnummern in der jeweils ersten Zeile der Datei stehen, sollte ein Vergleich
Delphi-Quellcode:
[...] // wie oben

if S1.Strings[0] = S2.Strings[0] // oder kurz: S1[0] = S2[0]
  then
    ShowMessage('Die Versionsnummern der Dateien sind gleich')
  else
    if S1.Strings[0] > S2.Strings[0] // oder kurz: S1[0] > S2[0]
      then
        ShowMessage('Datei1 hat eine höhere Versionsnummer!')
      else
        ShowMessage('Datei2 hat eine höhere Versionsnummer!');
möglich sein.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:29 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