我想在Delphi控制台应用程序中创建一个微调器/等待光标。我可以做到这一点,但我相信代码可以大大简化/改进。请原谅穷人代码:在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.
在此先感谢 保罗
Mitpickers'角落:hStdOut是** **不是一个HWND,而只是一个HANDLE/THandle。 –
上述代码的一个明显问题是'PositionXY'包含'sleep(100)'是不合逻辑的。 –
旧Skool。 +1用于控制台geekery。 –