Thema: Delphi textausgabe

Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#6

Re: textausgabe

  Alt 30. Mai 2005, 15:24
Zitat von Thorondor:
naja, mag ja gut und schön sein, aber wenn ich den buchstaben 'a' ausgeben lassen will und das wie oben schreibe (als einzelnen buchstaben) gibt das eine '1' anstatt 'a' aus. analog dazu dann 2 für b, 3 für c usw.. wie kann man das umgehen/ändern?!
Die Funktion keybd_event möchte als Argument nicht den Ansicode sondern den Virtual Keycode haben.
Der Ansicode von Buchstabe 'a' ist 97 dezimal.
Kuckst du in der Unit Windows.pas und findest dort:
VK_NUMPAD1 = 97; Also entspricht 97 dem Tastendruck auf die "1" im Nummernblock.
In der Unit windows.pas findest du alle virtual keycodes. (einfach nach VK_LBUTTON suchen)
Es gibt für jede Taste auf der Tastatur einen virtual keycode.
Da es ca. 103 Tasten sind gibt es grob gesagt auch ebensoviele virt. keycodes.
Ob jetzt ein Klein- oder ein Grossbuchstabe gedrückt wird, hängt vom Shiftstatus ab.
Für ein grosses A musst du also:
SHIFT drücken, Taste a drücken, Taste a loslassen, SHIFT loslassen.

Aber wie gesagt: nimm die Unit SndKey32 und du brauchst dir darüber keine Gedanken machen.
Andreas
  Mit Zitat antworten Zitat