![]() |
Tastensimulation Frage
Hallo ich wollte mal einen Bot programmieren.
Da ich mit den Tastensimulationen erst angefangen habe würde ich gerne wissen was an meinem bisherigen Programm falsch ist... Ich bekomme keine Fehlermeldung ; er zeigt mir lediglich die Showmessage nicht an :(
Code:
procedure TForm1.FormCreate(Sender: TObject);
begin keypreview:=true; pressed := 0 end; TKeyEvent = procedure TForm1.FormOnKeyPress(Sender: TObject; var Key: Word; Shift: TShiftState)of Object; property OnKeyDown: TKeyEvent; begin if key = VK_F1 then Pressed:=1; If Pressed=1 then Showmessage('Gut'); end; |
Re: Tastensimulation Frage
Zitat:
Ansonsten, falls du wirklich programmieren lernen willst: ![]() Der Rest ist Google -/ Forensuche. Bots sind insgesamt ungern gesehen und oft auch strikt verboten, daher solltest du nicht vorraussetzten, das irgendwer dir was vorkaut. |
Re: Tastensimulation Frage
Wird denn Pressed auch auf 1 gesetzte? Und formatier mal deinen Quellcode gescheit. Es erhöht auch die Lesbarkeit, wenn man sich auf eine Schreibweise der Schlüsselwörter festlegt.
|
Re: Tastensimulation Frage
danke erstmal für die antworten...
Ja sry , aber es ist eine gute Aufgabe meine Delphi Kenntnisse in Tastensimulationen zu verbessern. Aber wieso bekomm ich keine Message ausgespuckt? Keine Ahnung ob Pressed den Wert 1 erhält ... Hier nochmal der formatierte Quelltext:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin keypreview:=true; pressed := 0 end; TKeyEvent = procedure TForm1.FormOnKeyPress(Sender: TObject; var Key: Word; Shift: TShiftState)of Object; property OnKeyDown: TKeyEvent; begin if key = VK_F1 then Pressed:=1; If Pressed=1 then Showmessage('Gut'); end; |
Re: Tastensimulation Frage
Was ist denn das??
Delphi-Quellcode:
TKeyEvent = procedure TForm1.FormOnKeyPress(Sender: TObject; var Key: Word;
Shift: TShiftState)of Object; property OnKeyDown: TKeyEvent; |
Re: Tastensimulation Frage
hmm ich hab mir die delphi hilfe angeschaut und da stand des so
wenn ich es so mache funktioniert es auch nicht
Delphi-Quellcode:
procedure TForm1.FormOnKeyPress(Sender: TObject; var Key: Word;
Shift: TShiftState) |
Re: Tastensimulation Frage
Was benutzt du für eine Delphiversion? Bei mir gibt es nur OnKeyDown, OnKeyPress und OnKeyUp.
Das sieht dann ungefähr so aus:
Delphi-Quellcode:
Funktioniert wunderbar.
procedure TForm2.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState); begin if Key = VK_F1 then ShowMessage('F1 gedrückt'); end; Das hat jedoch bisher wenig mit Tastensimulation zu tun, da du ja bisher nur auf einen Tastendruck reagierst. Um deinem Thementitel gerecht zu werden gebe ich dir mal das Stichwort ![]() ![]() Könnte es sein, das du die Funktion nicht über den OI sondern manuell eingetragen hast? |
Re: Tastensimulation Frage
hi hmm ich verstehe deine Frage nicht...
benutze delphi 7 und dein code funktioniert bei mir ebenfalls nicht :( ich habe grade gesehen , dass ich wieso auch immer weiter oben ein " end." stehen hatte. Dadurch wurde der Text danach einfach ignoriert. Nachdem ich dieses jedoch entfernte wurde ich mit fehlermeldungen zugespamt... Zb. Undefinierter Bezeichner FormCreat oder Keypreview... Hier mal mein kompletter code :
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, StdCtrls, ExtCtrls; type TForm1 = class(TForm) Panel1: TPanel; private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; Pressed:integer; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin keypreview:=true; pressed := 0 end; procedure TForm2.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if Key = VK_F1 then ShowMessage('F1 gedrückt'); end; end. |
Re: Tastensimulation Frage
Du scheinst die Zeilen einfach eingefügt zu haben. Gehe mal in deinen Objektinspektor (Standard-IDE links unten) und wähle deine Form aus. Nun gehst du auf den Reiter Ereignisse und suchst dir das OnKey-Ereignis aus, welches du benutzten willst und klickst in das leere Feld rechts daneben doppelt. Nun müsstest du dich im Quelltexteditor befinden mit dem Cursor in einer neuen Procedur.
Dürfte dann ca. so aussehen:
Delphi-Quellcode:
Edit: Da dir anscheinend das Wissen um den Umgang mit der IDE und der Einbindung von Funktionen und Prozeduren fehlt, lege ich dir das
unit Unit2;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; type TForm2 = class(TForm) procedure FormKeyPress(Sender: TObject; var Key: Char); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form2: TForm2; implementation {$R *.dfm} procedure TForm2.FormKeyPress(Sender: TObject; var Key: Char); begin end; end. ![]() |
Re: Tastensimulation Frage
brauche nicht dieses tutorial , da ich in der schule mit informatik unterrichtet werde :D
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:01 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