SetCursorPos¶
Set write cursor position.
Declaration¶
Source position: videoh.inc line 222
procedure SetCursorPos(NewCursorX: Word; NewCursorY: Word);
Description¶
SetCursorPos positions the cursor on the given position: Column NewCursorX and row NewCursorY. The origin of the screen is the upper left corner, and has coordinates (0,0).
The current position is stored in the CursorX and CursorY variables.
Errors¶
None.
See also¶
| Name | Description |
|---|---|
| SetCursorType | Set cursor type. |
Example¶
program example2;
uses video,keyboard;
Var
P,PP,D : Integer;
K: TKeyEvent;
Procedure PutSquare (P : INteger; C : Char);
begin
VideoBuf^[P]:=Ord(C)+($07 shl 8);
VideoBuf^[P+ScreenWidth]:=Ord(c)+($07 shl 8);
VideoBuf^[P+1]:=Ord(c)+($07 shl 8);
VideoBuf^[P+ScreenWidth+1]:=Ord(c)+($07 shl 8);
end;
begin
InitVideo;
InitKeyBoard;
P:=0;
PP:=-1;
Repeat
If PP<>-1 then
PutSquare(PP,' ');
PutSquare(P,'#');
SetCursorPos(P Mod ScreenWidth,P div ScreenWidth);
UpdateScreen(False);
PP:=P;
Repeat
D:=0;
K:=TranslateKeyEvent(GetKeyEvent);
Case GetKeyEventCode(K) of
kbdLeft : If (P Mod ScreenWidth)<>0 then
D:=-1;
kbdUp : If P>=ScreenWidth then
D:=-ScreenWidth;
kbdRight : If ((P+2) Mod ScreenWidth)<>0 then
D:=1;
kbdDown : if (P<(VideoBufSize div 2)-(ScreenWidth*2)) then
D:=ScreenWidth;
end;
Until (D<>0) or (GetKeyEventChar(K)='q');
P:=P+D;
until GetKeyEventChar(K)='q';
DoneKeyBoard;
DoneVideo;
end.