![]() |
weitersuchen im Stringgrid: Wie?
Hallo und Guten Morgen,
ich benutze folgenden Code zum suchen im StringGrid. Funktioniert auch ganz gut. Nur die Sache mit dem weitersuchen bekommen ich nicht so recht hin. Hat jemand eine Idee?
Delphi-Quellcode:
function SeekRecord(Grid: TStringGrid; suchtext: string): Boolean;
var Spalte, Zeile: integer; begin result := false; for Zeile := 0 to Grid.RowCount do for Spalte := 0 to Grid.ColCount do begin if Pos(suchtext, Grid.Cells[Spalte, Zeile]) > 0 then begin Grid.Col := Spalte; Grid.Row := Zeile; result := true; MessageDlg('Der Suchbegriff "' + suchtext + '" wurde an folgender Stelle gefunden:' + #13 + #10 + '' + #13 + #10 + 'Zeile: ' + IntToStr(Zeile) + #13 + #10 + 'Spalte: ' + IntToStr(Spalte), mtInformation, [mbOK], 0); exit; end; end; end; cu ereetzer |
Re: weitersuchen im Stringgrid: Wie?
Delphi-Quellcode:
In der Art würde ich es versuchen.
function SeekRecord(Grid: TStringGrid; suchtext: string; Var StartZeile:Integer; Var StartSpalte:Integer): Boolean;
var Spalte, Zeile: integer; begin result := false; for Zeile := StartZeile to Grid.RowCount do for Spalte := StartSpalte to Grid.ColCount do begin if Pos(suchtext, Grid.Cells[Spalte, Zeile]) > 0 then begin Grid.Col := Spalte; Grid.Row := Zeile; result := true; MessageDlg('Der Suchbegriff "' + suchtext + '" wurde an folgender Stelle gefunden:' + #13 + #10 + '' + #13 + #10 + 'Zeile: ' + IntToStr(Zeile) + #13 + #10 + 'Spalte: ' + IntToStr(Spalte), mtInformation, [mbOK], 0); StartZeile := Zeile; StartSpalte := Spalte; exit; end; end; end; Du hast dann zwar zwei Parameter mehr, weißt dafür aber genau, wo es gefunden wurde. Für das Weitersuchen musst du aber den neuen Startpunkt erhöhen. Sonst bekommst du immer dasselbe Ergebnis. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:38 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