Tasten abfangen und ersetzen?? T.T
Huhu!!
Ich chatte wo (wow :P , erstaunlich was? ^^) und ich möchte , dass wenn ich z.b. "^^" eingebe , dass mein Programm 2 mal backspace macht BZW den text durch "lol" ERSETZT , ned hintendran hängt. wie göhnt das? =) wär echt super froh wenn ein0r antwortet =)) |
Re: Tasten abfangen und ersetzen?? T.T
Hallo!
Das Programm ist dein Programm? Wenn ja sollte doch ein Ersetzen der Tasten reichen? (OnKeyDown) Wenn nicht helfen dir evtl. Hooks zum Abfangen der Tasten.
Delphi-Quellcode:
Das auf die schnelle daher könnte es Fehler enthalten und es geht zudem sicher noch origineller zu Lösen.
type
... procedure WMHotKey (var Msg : TWMHotKey); message WM_HOTKEY; private KeysPressed : string; MeineZeichen : TStrings; ZeichenErsetzenDruch : TStrings; ... ... // Ins FormCreate für z.B. Taste L: RegisterHotKey (Form1.Handle, ord ('L'), MOD_CONTROL, ord ('L')); KeysPressed := ''; MeineZeichen := TStringList.Create; ZeichenErsetzenDurch := TStringList.Create; // Hier nun in MeineZeichen alle Zeichenketten rein die ersetzt werden sollen und in // ZeichenErsetzenDurch das rein durch was die Zeichenkette ersetzt werden soll, z.B.: MeineZeichen.Add ('L'); ZeichenErsetzenDurch.Add ('lol'); ... procedure TForm1.WMHotKey (var Msg : TWMHotKey); ... begin KeysPressed := KeysPressed + Msg.HotKey; // Schleife... und if (pos (KeysPressed, MeineZeichen.Strings[i]) = 1) then begin if (Length (KeysPressed) = MeineZeichen.Strings[i].Count) then begin // Taste ersetzen end; end; end; // Im FormClose: UnRegisterHotKey (Form1.Handle, ord ('L')); Aber das soll auch nur ein Beispiel sein ;) Für Taste ersetzen könnte Msg.HotKey := NeueTaste(und weitere) funktionieren. Bis dahin, Gruß, Robert |
Re: Tasten abfangen und ersetzen?? T.T
also ich mein in nem chat im browser ^^
im browser geb ich "lol" ein und er ersetzt es durch "rofl" ^^ |
Re: Tasten abfangen und ersetzen?? T.T
Dann ist das obige das richtige für dich ;)
|
Re: Tasten abfangen und ersetzen?? T.T
also
geht ned ^^
Delphi-Quellcode:
procedure TForm1.WMHotKey(var Msg: TWMHotKey);
begin if Msg.HotKey = iHotKeyStrgT then Timer1.Enabled := true; if Msg.HotKey = iHotKeyStrgToff then //<--- des alles was anderes Timer1.Enabled := false; KeysPressed := KeysPressed + msg.hotkey; // <-- Inkompatible Typen : String u. Integer // Schleife... und if (pos (KeysPressed, MeineZeichen.Strings[i]) = 1) then //<-- undefinierter bezeichner "i" begin if (Length (KeysPressed) = MeineZeichen.Strings[i].Count) then begin // Taste ersetzen end; end; end; |
Re: Tasten abfangen und ersetzen?? T.T
Na du musst schon ne Schleife hinsetzen sonst wirds nix. Und such mal nach ord () bzw. chr ()!
Viel Spaß. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz