Einzelnen Beitrag anzeigen

Benutzerbild von rhodan
rhodan

Registriert seit: 4. Okt 2005
Ort: Hamburg
150 Beiträge
 
Delphi 7 Personal
 
#1

simulierte tastatureingabe aus memofeld

  Alt 26. Jun 2010, 14: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!
  Mit Zitat antworten Zitat