Code: Alles auswählen
Ich habe eine Tastenabfrage erstellt, bekomme aber dann beim Kompileren die meldung:
Error: Constant and CASE types do not match
TForm1 = class(TForm)
Timer1: TTimer;
procedure KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
procedure SteuerungsTimer(Sender: TObject);
procedure KeyUp(Sender: TObject; var Key: char);
private
FTasteW, FTasteS, FTasteI, FTasteK: Boolean;
procedure TForm1.KeyUp(Sender: TObject; var Key: char);
begin
case Key of
VK_SPACE: SpielStart;
VK_Escape: Close;
VK_W: FTasteW := False;
VK_S: FTasteS := False;
VK_I: FTasteI := False;
VK_K: FTasteK := False;
end;
procedure TForm1.SteuerungsTimer(Sender: TObject);
begin
if FTasteW then
ZeichneSchlaegerLinks(FSchlaegerRechtsY + 20);
if FTasteS then
ZeichneSchlaegerLinks(FSchlaegerRechtsY - 20);
if FTasteI then
ZeichneSchlaegerRechts(FSchlaegerRechtsY + 20);
if FTasteK then
ZeichneSchlaegerRechts(FSchlaegerRechtsY - 20);
end;
procedure TForm1.KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
case Key of
VK_SPACE: SpielStart;
VK_Escape: Close;
VK_W: FTasteW:= True;
VK_S: FTasteS := True;
VK_I: FTasteI := True;
VK_K: FTasteK := True;
end;
end;