Tôi đang cố gắng tạo một con trỏ spinner/wait trong ứng dụng bảng điều khiển Delphi. Tôi có thể làm điều đó nhưng tôi chắc chắn rằng mã có thể được sắp xếp hợp lý/cải thiện đáng kể. Xin hãy tha thứ mã nghèo:Tạo Spinner trong Bảng điều khiển 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.
Cảm ơn trước Paul
Mitpickers': hStdOut là ** không ** một HWND nhưng chỉ là một HANDLE/THANDLE. –
Một vấn đề rõ ràng với đoạn mã ở trên là không chính xác là 'PositionXY' chứa' sleep (100) '. –
Skool cũ. 1 cho geekery console. –