![]() |
VK + Timer
hallo un zwar versteh ich da etwas nicht
Delphi-Quellcode:
hier soll er wenn man "t" drückt den Timer1 stoppt. Macht er aber nicht weiß einer warum
procedure TForm1.Timer2Timer(Sender: TObject);
begin if (GetASYNCKeyState ($74) <> 0) then begin Timer1.Enabled:=False; end; end; t=in hex 0x74 wenn ich aber jetzt schreibe:
Delphi-Quellcode:
macht er es =(
procedure TForm1.Timer2Timer(Sender: TObject);
begin if (GetASYNCKeyState (VK_Numpad1) <> 0) then begin Timer1.Enabled:=False; end; end; kann man nicht auch sagen VK_t oder so :D |
Re: VK + Timer
prob gelöst hab einfach
Delphi-Quellcode:
gemacht das erkennt er
procedure TForm1.Timer2Timer(Sender: TObject);
begin if (GetASYNCKeyState ($54) <> 0) then begin Timer1.Enabled:=False; end; end; |
Re: VK + Timer
Warum nicht einfach so?
Delphi-Quellcode:
if GetAsyncKeyState(Ord('T')) <> 0 then
|
Re: VK + Timer
hallo hab da noch eine frage
un zwar
Delphi-Quellcode:
das funktioniert ja wunderbar =)
procedure TForm1.Timer1Timer(Sender: TObject);
begin if taste =1 then else begin if (GetASYNCKeyState ($31) <> 0)then begin keybd_event(VKKeyScan('t'),0,0,0); text :=Edit1.Text; EnterText(text); keybd_event(239, 0, KEYEVENTF_KEYUP, 0); sendkeys('{ENTER}',true); end; ...... dieses "t" ist dafür da dass man ingame ein text eingeben kann << nur zur info so wenn ich jetzt nun ingame einen manuellen text eingeben will sprich ich drücke "t" un dann ein text z.b. hallo test1. dann führt er mir den Code oben aus. da habe ich mir gedacht unterbinden wir das mal =)
Delphi-Quellcode:
nun drücke ich "t" gebe einen text ein zb "hallo herr1" führt er mir den code nicht aus (siehe oben) aber sobald ich dann "enter" drücke führt er mir den aus =(
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState); begin case key of Ord('T'): begin Timer1.Enabled:=false;taste:=1; end; Ord(VK_Return): begin timer1.Enabled:=True;taste:=0 end; end; meine frage ist ob man irgendwie den timer bzw den binder blocken kann wenn ich "t" drücke und dann text+zahl!? |
Re: VK + Timer
Ich weis ja nicht, ob das nur mir so geht, aber so richtig versteh ich dein Problem nicht.
Was ich bis jetzt hoffentlich verstanden habe: Wenn du "T" drückst wird FormKeyDown ausgelöst, das ganze schaltet wiederrum den Timer1 aus.
Delphi-Quellcode:
Dann willst du das irgendwie ein Text eingelesen wird, indem in Timer1 etwas passiert. Mit den KeyEvents und sonstigen Befehlen in deinem Timer1 kenn ich mich nicht so aus
Ord('T'): begin Timer1.Enabled:=false;taste:=1; end; //ist das vielleicht schon dein Fehler: Timer1.Enabled := FALSE anstatt true ???
Zitat:
Edit: Jetzt seh ich nochwas:
Delphi-Quellcode:
Da du bei VK_Return Taste auf 0 setzt ist es doch logisch, dass dann der Code aus Timer1 ausgeführt wird
if taste =1 then else begin //wenn taste nicht gleich 1 ist, dann soll der Code ausgeführt werden (beachte das ELSE)
... Ord(VK_Return): begin timer1.Enabled:=True;taste:=0 end; //hier wird der Timer eingeschaltet und Taste auf 0 gesetzt |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:03 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