Используя ваш код, я бы немного его изменил,
Procedure WriteXY( x , y : Integer, s : string);
var
hStdOut: HWND;
ScreenBufInfo: TConsoleScreenBufferInfo;
Coord1: TCoord;
Begin
hStdOut := GetStdHandle(STD_OUTPUT_HANDLE);
GetConsoleScreenBufferInfo(hStdOut, ScreenBufInfo);
Coord1.X := x;
Coord1.Y := y;
Write(s);
SetConsoleCursorPosition(hStdOut, Coord1);
End;
begin
while True do begin
WriteXY(0,0,'|'); Sleep(100);
WriteXY(0,0,'/'); Sleep(100);
WriteXY(0,0,'-'); Sleep(100);
WriteXY(0,0,'\'); Sleep(100);
end;
ReadLn;
end.
Это делает WriteXY более полезным для меня, чем просто PositionXY