Set write cursor position.
Source position: videoh.inc line 222
procedure SetCursorPos( |
NewCursorX: Word; |
NewCursorY: Word |
); |
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.
None.
|
Set cursor type. |
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.