Hallo zusammen
Ich möchte per Tastendruck eine Aktion auslösen.
Diese würde ich in die OnKeyDown Procedure schreiben.
Als "Vorübung" habe ich schon mal folgenden Code geschrieben.
Nach dem das gut klappt, kommt natürlich das nächste Problem.
Konkreter:
das ganze gehört zu einer Modellbahnsteuerung.
Nach dem ich per Maus einen Entkuppler ausgewählt habe, soll dieser mit der Space-Taste betätigt werden. Also taste drücken -> Entkuppler geht hoch,
Space-Taste los lassen -> Entkuppler geht wieder runter. Geht auch alles.
Nun das Problem. Wenn ich auf der Taste bleibe, kommt natürlich die Tastenrepitition (macht ja das Betriebssystem).
Kann man Diese temporär ausschalten? Wenn ja, wie ?
var
gekuppelt: boolean = False;
procedure TForm1.FormKeyDown(Sender: TObject; var Key: word; Shift: TShiftState);
begin
if Key = VK_SPACE then begin
if not gekuppelt then begin
gekuppelt := True;
writeln('Kuppler Hoch');
end;
end;
end;
procedure TForm1.FormKeyUp(Sender: TObject; var Key: word; Shift: TShiftState);
begin
if Key = VK_SPACE then begin
if gekuppelt then begin
gekuppelt := False;
writeln('Kuppler Unten');
end;
end;
end;
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot