Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi weitersuchen im Stringgrid: Wie? (https://www.delphipraxis.net/45127-weitersuchen-im-stringgrid-wie.html)

ereetzer 30. Apr 2005 08:51


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

Jasocul 30. Apr 2005 16:34

Re: weitersuchen im Stringgrid: Wie?
 
Delphi-Quellcode:
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;
In der Art würde ich es versuchen.
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