Szukaj następnego rekordu w dbgrid

0

Witam!
Szukam rekordu o jakiejś wartości w taki sposób:

procedure TForm1.Button1Click(Sender: TObject);
 begin
 if Table1.Locate('IMIE', edit2.Text, [loCaseInsensitive, loPartialKey]);
end;

A jak znaleźć następny rekord o szukanej wartości?
Przeszukałem forum i nic nie znalazłem co mogłoby mi odpowiadać.
Prosze o jakąś wskazówkę lub procedurkę. Dzięki [soczek bananowy]

0

Moja procedurka wygląda tak:

procedure LocateNext(var Table: TTable);
var
  I: Integer;
begin
  Table.First;
  for I:=1 to Table.RecordCount do
  begin
    if Table.FieldByName('IMIE').AsString=Edit2.Text then
      // Twoje instrukcje
    Table.Next
  end;
end;

a potem tylko wywołujesz:

LocateNext(Table1);
0

LocateNext(Table1);

A jak zadeklarować LocateNext?

0

Możesz nie deklarować i umieścić samą definicję ale pamiętaj że musi sie ona znajdować w kodzie PRZED procedurą wywałująca tzn.


implementation

...

procedure LocateNext(Table: TTable);
begin

...

end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  LocateNext(Table1);
end;

Możesz też umieścić procedurę LocateNext za procedurą wywołująca ale wtedy musisz zadeklarować jej nagłówek w sekcji interface lub jeśli nie chcesz aby była ona widoczna poza modułem to w sekcji implementation dodajesz jej nagłówek z dyrektywą

forward

czyli:

procedure LocateNext(Table: TTable); forward;

Możesz także umiescić deklarację procedury LocateNext np w klasie formy.
Wybór należy do Ciebie :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1