![]() |
Doppelte Einträge im Stringgrid ausgeben
Moin Leute,
ich hab ein Problem bzw stecke fest.. Ich lade eine CSV datei in ein Stringgrid. Diese CSV-Datei muss ich in einer Spalte nach Duplikate durchsuchen. Dann möchte ich nur die Zeilen mit den Duplikaten anzeigen lassen. Folgenden Code hab ich als Ansatz gefunden aber leider lässt der bei mir den Speicher überlaufen. Habt ihr ne Idee?
Code:
Gruß,
procedure TDemoForm.DeleteRow(iRow: integer);
var i: integer; begin with StringGrid do begin if iRow < FixedRows then raise Exception.Create('you cannot delete a fixed row'); for i := Succ(iRow) to RowCount - 1 do Rows[i-1].Assign(Rows[i]); RowCount := RowCount - 1; end; end; procedure TDemoForm.KillButtonClick(Sender: TObject); var i, iDup, iCol, iDist: integer; allDuplicates: boolean; begin iCol := 1; // column to check allDuplicates := false; with StringGrid do for i := RowCount - 1 downto 0 do begin iDup := i; while (iDup > 0) and (cells[iCol, iDup - 1] = cells[iCol, iDup]) do Dec(iDup); iDist := i - iDup; if (iDist = 0) or (not allDuplicates and (iDist > 1)) then DeleteRow(i); end; end; Stefan |
Re: Doppelte Einträge im Stringgrid ausgeben
Hallo Stefan,
ich erinnere mich an diesen Thread: ![]() Vielleicht hilft er dir ein wenig. Freundliche Grüße |
Re: Doppelte Einträge im Stringgrid ausgeben
Moin marabu,
danke. Den hatt ich auch schon ausgegraben und mit ein wenig umdneke hat er mir zur Lösung verholfen. :) Danke! Gruß, Stefan |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:42 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