Forum: Programmieren allgemein
by himitsu,
12. Dez 2011
Ein "Boolean" hat theoretisch 2 Zustände.
> wahr und falsch
Der Delphi-Boolean hat aber 256 Zustände. (BOOL/LongBool hat sogar über 4 Milliarden)
> Einen für Falsch ( =0 )
> Viele für Wahr ( <>0 )
Und der Vergleich auf TRUE prüft aber nur genau einen dieser Zustände ab.
Forum: Programmieren allgemein
by himitsu,
12. Dez 2011
if ... = True then macht man nicht.
Wo man die Variablen hinlegt, kannst'e dir in Post #5 abgucken.
Bezüglich der globalen Variablen wurde schon genügend im forum diskutiert.
Und wie man eventuell die vielen IFs verringert, sieht man auch in der #5.
Forum: Programmieren allgemein
by himitsu,
12. Dez 2011
Man kann auch OnKeyDown/OnKeyUp verwenden.
type
TForm6 = class(TForm)
Timer1: TTimer;
procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
procedure FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
procedure Timer1Timer(Sender: TObject);
private
{ Private-Deklarationen }
Forum: Programmieren allgemein
by himitsu,
12. Dez 2011
Ereignisse werden "nur" Nacheinander abgearbeitet.
Also nein, parallel ist nicht möglich.
Lösungen:
Du merkst dir in den OnKey-Events nur was gedrückt wurde und die eigentliche Verarbeitung läuft dann z.B. in einem TImer ab.
Selber die Tasten auswerten: z.B. GetAsyncKeyState
Aber aufpassen, daß die diese Tasten nur beachtest, wenn dein Programm aktiv ist (den Eingabefokus besitzt), falls...