Estoy tratando de crear un cursor spinner/wait en una aplicación de la consola Delphi. Puedo hacerlo, pero estoy seguro de que el código se puede racionalizar/mejorar significativamente. Por favor, perdona a los pobres código:Crear un Spinner en una Consola de Delphi
Procedure PositionXY(x , y : Integer);
var
hStdOut: HWND;
ScreenBufInfo: TConsoleScreenBufferInfo;
Coord1: TCoord;
z: Integer;
Begin
sleep(100);
hStdOut := GetStdHandle(STD_OUTPUT_HANDLE);
GetConsoleScreenBufferInfo(hStdOut, ScreenBufInfo);
Coord1.X := x;
Coord1.Y := y;
SetConsoleCursorPosition(hStdOut, Coord1);
End;
begin
while True do begin
Write('|');
PositionXY(0,0);
Write('/');
PositionXY(0,0);
Write('-');
PositionXY(0,0);
Write('\');
PositionXY(0,0);
end;
ReadLn;
end.
Gracias de antemano Paul
Mitpickers': hStdOut es ** ** no un HWND pero sólo un mango/THandle. –
Un problema obvio con el código anterior es que no es lógico que 'PositionXY' contenga' sleep (100) '. –
Old Skool. +1 para consola Geekery. –