Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Ascii Codes der F1..F12 Tasten (https://www.delphipraxis.net/61477-ascii-codes-der-f1-f12-tasten.html)

kurtm1 21. Jan 2006 22:22


Ascii Codes der F1..F12 Tasten
 
Habe gerade beim coden auf meinem Notebook etwas interessantes festgestellt:

Wenn ich mir normal die Ascii Codes der Tastatur ausgeben lassen, bekomme ich alle Codes von den Großbuchstaben zurück (65..90). Wenn ich die Hochstelltaste dazu gebe bleiben die Codes gleich. Und jetzt das interessante: Die Funktionstasten F1..F12 liefern als Werte die Zahlen 112..123 zurück, daher die Kleinbuchstaben im Bereich p..z + das zeichen "{" als 123

Ist das bei euch auch so? Ist nämlich beim Coden nicht so komfortabel..

xaromz 21. Jan 2006 22:27

Re: Ascii Codes der F1..F12 Tasten
 
Hallo,

kann es sein, dass Deine Abfrage in OnKeyDown steht? Da kommen nämlich keine ASCII-Codes an, sondern Virtuelle KeyCodes. Deshalb hat z. B. Shift einen eigenen Wert, aber auch F1. Testen kann man das mittels einiger Konstanten, die alle mit VK_ anfangen. Also z. B.
Delphi-Quellcode:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if Key = VK_F1 then
    ShowMessage('F1 wurde gedrückt!');

  if (Key = 65) then
  begin
    if (ssShift in Shift) then
      ShowMessage('A wurde gedrückt!')
    else
      ShowMessage('a wurde gedrückt!')
  end;
end;
Gruß
xaromz

kurtm1 21. Jan 2006 22:38

Re: Ascii Codes der F1..F12 Tasten
 
Es ist beim Coden eh kein wirkliches Problem, bei meinem Projekt funzt so auch alles. Mir ists halt nur grade aufgefallen..

Die Abfrage steht im OnKeyUp bzw. OnKeyDown


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:21 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz