【发布时间】:2011-12-13 02:46:55
【问题描述】:
我正在尝试在 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)是不合逻辑的。 -
老斯库尔。 +1 控制台极客。
标签: delphi console-application