Bonjour,

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
procedure TFicheSign.edtNomPreKeyPress(Sender: TObject; var Key: Char);
var
  SqlString : string;
begin
  if (key=#9) then  //#9=char(VK_TAB)
  begin
    key:=#0;  //évite le bip lors de l'utilisation de return
    SqlString:='SELECT * FROM pat WHERE nomp LIKE '+quotedStr(edtNomPre.Text+'%');
    with DataModule1.AQPat do
    begin
      Close;
      Sql.Clear;
      Sql.Add(SqlString);
      open;
      if RecordCount =0 then nouveau:=true else nouveau:=false;
      if RecordCount =1 then afficher;
    end;
  end;
end;
Cette procédure ne fonctionne pas quand la touche TAB qui est pressée. Pourtant si je remplace #9 par #13 (et en tapant sur return donc) la procédure fonctionne.

Pourquoi, dans le OnKeyPress le test de la touche RETURN fonctionne et pas le test de la touche TAB ? Etrange, non ?

Y a-t-il une solution pour que le test avec la touche TAB fonctionne ?

Merci de m'aider.

Didier