Du hast alle deine Funktionen mit einem SmallInt bzw. Integer versehen.
Delphi-Quellcode:
function IsLButtonDown: Integer;
begin
Result := IsKeyDown(1);
end;
Solche Funktionen sind überhaupt nicht aussagekräftig und macht es einem um so schwerer dir zu helfen. Mit was wird denn das Result nach dem Aufruf verglichen? Mit 14? 55? 42? oder gleich mit Random(MaxInt)?
Was willst du denn nun eigentlich haben? Doch eigentlich ein boolsches Ergebnis, oder nicht? Wenn ja, dann einfach die IF Abfrage komplett auf eine einzeilige Evaluierung umstellen, da die IF Abfrage einen boolschen Ausdruck braucht, ist das einfach gemacht:
Delphi-Quellcode:
function IsLButtonDown: boolean;
begin
result := ( GetAsyncKeyState(VK_LBUTTON) and 128 ) <> 0;
end;
Alternativen:
Delphi-Quellcode:
function IsLButtonDown: boolean;
begin
result := ( GetAsyncKeyState(VK_LBUTTON) and 128 ) = 128;
end;
Delphi-Quellcode:
function IsLButtonDown: boolean;
begin
result := GetAsyncKeyState(VK_LBUTTON) < 0;
end;