![]() |
simulierte tastatureingabe aus memofeld
hey!
ich habe in meinem fenster ein memofeld, einen timer und einen button. auf knopfdruck wird der timer gestartet und liest den text aus dem memofeld aus der eingetragen wurde und schreibt ihn per simulierter tastatureingabe neu:
Code:
das funktioniert auch sehr gut, doch er erkennst keine sonderzeichen wie ? . ! ,
procedure TForm1.Button1Click(Sender: TObject);
begin timer1.enabled:=true; end; procedure TForm1.Timer1Timer(Sender: TObject); var i: integer; c: Char; begin if length(memo1.Text)> 0 then begin for i:= 0 to length(memo1.Text) do begin c:= memo1.text[i]; Case c of '1'..'9' : begin keybd_event(ord(c),0,0,0); keybd_event(ord(c),0,keyeventf_keyup,0); end; 'A'..'Z': begin keybd_event(vk_Shift,0,0,0); keybd_event(ord(c),0,0,0); keybd_event(vk_Shift,0,keyeventf_keyup,0); keybd_event(ord(c),0,keyeventf_keyup,0); end; 'a'..'z': begin c:= upcase(c); keybd_event(ord(c),0,0,0); keybd_event(ord(c),0,keyeventf_keyup,0); end; else begin keybd_event(ord(c),0,0,0); keybd_event(ord(c),0,keyeventf_keyup,0); timer1.Enabled:=false; end; end; end; end; end; end. punkte und kommas und fragezeichen werden einfach übergangen bzw auch Ä wird zu 00...wie muss ich den code erweitern damit er punkt und komma bzw ö und ä richtig aus dem memofeld liest? vielen dank! |
AW: simulierte tastatureingabe aus memofeld
Microsoft bietet dafür sogenannte Virtual Keys. Die stehen für die einzelnen Tasten die gedrückt werden. Erst danach wandelt Windows die Tasten in Zeichen um. Die Zahlen und Großbuchstaben (als Kleinbuchstaben) haben zufälligerweise in ASCII und den Keycodes den gleichen Raum. Alles andere liegt wo anders. Die dazugehörigen Konstanten beginnen alle mit VK_
Bernhard |
AW: simulierte tastatureingabe aus memofeld
|
AW: simulierte tastatureingabe aus memofeld
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz