Registriert seit: 4. Okt 2005
Ort: Hamburg
150 Beiträge
Delphi 7 Personal
|
simulierte tastatureingabe aus memofeld
26. Jun 2010, 15:17
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:
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.
das funktioniert auch sehr gut, doch er erkennst keine sonderzeichen wie ? . ! ,
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!
|
|
Zitat
|