Tastendruck simulieren
-
Hallo
klar funktioniert AnsiString::Length().
Du darfst nur nicht vergessen, das bei AnsiString die Zählung der Zeichen bei 1 anfängt.Ansosnsten zeig mal deinen Code, der nicht funktioniert (was im übrigen keine ausreichende Fehlerbeschreibung ist)
bis bald
akari
-
Hm, mit dem AnsiString Length komm ich nicht weiter^^
void __fastcall TForm1::Timer1Timer(TObject *Sender) { Timer1->Interval = 100; AnsiString Text = Edit1->Text; int Leng = AnsiString->Length(Text); int i; for (i = 1, i <= Leng, i++) { keybd_event(Text[i], 0, 0, NULL); keybd_event(Text[i], 0, KEYEVENTF_KEYUP, 0); } keybd_event(13, 0, 0, NULL); keybd_event(VK_CONTROL, 0, 0, NULL); keybd_event(13, 0, KEYEVENTF_KEYUP, 0); keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0); }
-
Ändere
int Leng = AnsiString->Length(Text);in
int Leng = Text.Length();
-
Ah, gut, jetzt klappt es einigermaßen.
Aber wenn ich als Text "a" eingeb, wird immer "1" ausgegeben... Bei "b" dann "2" usw....void __fastcall TForm1::Timer1Timer(TObject *Sender) { AnsiString Text = Edit1->Text; int Leng = Text.Length(); int i; for (i = 1; i <= Leng; i++) { keybd_event(Text[i], 0, 0, NULL); keybd_event(Text[i], 0, KEYEVENTF_KEYUP, 0); } keybd_event(13, 0, 0, NULL); keybd_event(VK_CONTROL, 0, 0, NULL); keybd_event(13, 0, KEYEVENTF_KEYUP, 0); keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0); }
-
Also, was für einen Grund hat es, das der Text in Zahlen konvertiert wird? oO