![]() |
2 Listen vergleichen
Guten Tag Alle zusammen =)!
ich möchte zwei Listen vergleichen. Der Inhalt dieser sieht immer so aus: 213456 436745 3245 923476 12375 [...] Die Inhalte der beiden Dateien unterscheiden sich stark. Aber ich will eben, dass Werte aus Datei 1 nicht in Datei 2 vorkommen. Aber die Werte die in Datei 1 existieren, jedoch aber nicht in Datei 2, sollen hinzugefügt werden zu Datei 2. :gruebel: - ja ^^ So würde meine fake-Prozedur aussehen:
Delphi-Quellcode:
Wird das funktionieren? Und wie müsste der Code aussehen dort wo meine Kommentare jetzt sind? Bitte helft mir =)!
var
dat1: TStringlist; dat2: TStringlist; procedure TForm1.FormCreate(Sender: TObject); begin dat1:=Tstringlist.create; dat2:=Tstringlist.create; dat1.LoadFromFile('1.txt'); dat2.loadfromfile('2.txt'); end; // Werte löschen; procedure TForm1.Button1Click(Sender: TObject); var i,j,k:integer; begin for i:=0 to dat2.count-1 do for j:=0 to dat1.count-1 do if dat2[i]=dat1[j] then //lösche dat2[i] in '2.txt'; for k:=0 to dat1.count-1 do //dat[k] zu '2.txt' hinzufügen end; |
Re: 2 Listen vergleichen
Hi,
schon
Delphi-Quellcode:
probiert?
dat2.Delete[i]
[edit=mkinzler]Delphi-Tag eingefügt Mfg, mkinzler[/edit] |
Re: 2 Listen vergleichen
Hallo,
Zitat:
oder schliesst sich das nicht aus ? < Aber ich will eben, dass Werte aus Datei 1 nicht in Datei 2 vorkommen. > Also aus 2 löschen, wenn in 1
Delphi-Quellcode:
for iDat2:= dat2.Count-1 downto 0
begin if dat1.IndexOf(dat2[iDat])<>-1 then dat2.Delete(iDat2); end; Heiko |
Re: 2 Listen vergleichen
Nein. Aber das löscht ja auch nur in der Stringlist, richtig?
Ich wills ja in der Datei löschen. Und soweit ich weiß, ändert sich nichts innerhalb der Datei wenn ich was in der Stringlist lösche. Aber trotzdem danke, für den Versuch ;) :dp: |
Re: 2 Listen vergleichen
Du musst natürlich am Ende die Strigliste zurück in die Datei schreiben
|
Re: 2 Listen vergleichen
Ja schreiben mit writeln.Oder?
Aber wie sag ich Delphi, das er Zeile 417 in 1.txt löschen oder überschreiben soll? |
Re: 2 Listen vergleichen
Delphi-Quellcode:
dat2.savetoFile(FileName);
|
Re: 2 Listen vergleichen
Hallo,
Zitat:
Du lädst beide Dateien in die StringLists, bearbeitest diese StringLisst und dann halt wieder zurückspeichern. Heiko |
Re: 2 Listen vergleichen
Was passiert bei:
Delphi-Quellcode:
Wird dann der Inhalt von dat2 zur Datei hinzugefügt oder wird damit die Datei überschrieben?
dat2.savetoFile(FileName);
|
Re: 2 Listen vergleichen
Zitat:
Grüße Klaus |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:33 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-2025 by Thomas Breitkreuz