Hej! Jeg er ny ud i Delphi universet, men har dog tidligere programmeret i Pascal, så springet burde ikke være så stort. Jeg går og leger lidt med tanken om at lave et ASCII spil, altså et console program, som kun bruger ASCII tegn. I den forbindelse skal jeg bruge GetASyncKeyState til at tjekke hvilke knapper spilleren holder nede (eller har trykket på kortvarigt). Jeg har lavet følgende simple program for at test GetASyncKeyState, som burde skrive et stigende tal hver gang man trykket RETURN indtil man trykker ESCAPE, men den får blot console vinduet til at fryse:
PROGRAM Test;
{$APPTYPE CONSOLE}
USES SysUtils, Windows;
VAR I : Integer;
BEGIN
I := 0;
REPEAT
IF GetAsyncKeyState(VK_RETURN) <> 0 THEN BEGIN
Inc(I);
Write(I);
END;
UNTIL GetAsyncKeyState(VK_ESCAPE) <> 0;
END.
Hvis jeg kan få ovenstående kode til at virke, er ideen, at jeg vil lave et loop, der gennemløbes 25 gange i sekundet, hvor der først tjekkes for tryk på knapper, hvorefter skærmen opdateres.