Einzelnen Beitrag anzeigen

Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.733 Beiträge
 
Delphi 6 Enterprise
 
#2

AW: Via Tastatur im Grid zu Datensatz springen

  Alt 29. Jun 2012, 11:03
Das schreiben hier hat scheinbar meine Gedanken geordnet. So funktionierts bisher:

Es braucht einen TTimer, nenne den KeyTimer.

Delphi-Quellcode:
//Globale private Variablen im Form:
KeyLock:Boolean;
KeyBuffer:String;

//Im OnCreate des Forms diese vorbelegen:
KeyLock:=false;
KeyBuffer:='';
KeyTimer.Enabled:=false;
KeyTimer.Interval:=250;

//Key-Press des Grids
procedure TMain.GridKeyPress(Sender: TObject; var Key: Char);
begin
  if not KeyLock then
    begin
    KeyTimer.Enabled:=false;
    KeyBuffer:=KeyBuffer+Key;
    KeyTimer.Enabled:=true;
    end;
end;

//Timer-Event:
procedure TMain.KeyTimerTimer(Sender: TObject);
begin
  KeyLock:=true;
  KeyTimer.Enabled:=false;
  while (KeyBuffer<>'') and not Quelle.Locate('Name',KeyBuffer,[loCaseInsensitive,loPartialKey]) do
    KeyBuffer:=Copy(KeyBuffer,1,Length(KeyBuffer)-1);
  KeyBuffer:='';
  KeyLock:=false;
end;
Wer Verbesserungsvorschläge hat oder andere Ideen, wie das gehen könnte, gerne her damit.
Ralph
  Mit Zitat antworten Zitat