[Overview][Constants][Types][Procedures and functions][Variables] |
Set write cursor position.
Source position: videoh.inc line 137
procedure SetCursorPos( |
NewCursorX: Word; |
NewCursorY: Word |
); |
SetCursorPospositions the cursor on the given position: Column NewCursorXand row NewCursorY. The origin of the screen is the upper left corner, and has coordinates (0,0).
The current position is stored in the CursorXand CursorYvariables.
None.
|
Set cursor type |
program example2; uses video,keyboard; {$ifndef cpu86} {$error This example only works on intel 80x86 machines} {$endif} 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.