Locate
Sets the current cursor position
Declare Function Locate( row As Long = 0, column As Long = 0, state As Long = -1, start As Long = 0, stop As Long = 0 ) As Long
Locate [row], [column], [state]
result = Locate( [row], [column], [state] )
new_column = LoByte( result )
new_row = HiByte( result )
new_state = HiWord( result )
row
Returns a 32 bit Long containing the current cursor position and state. The Low Byte Of The Low Word contains the column, the High Byte Of The Low Word contains the row, and the High Word contains the cursor state.
If any of the row, column or state parameters were just set by the call to Locate, then the return value will reflect these new values, not the previous ones. If any of the parameters were omitted in the call to Locate, then the return value will reflect the current values, which are the same as before the call to Locate.
Sets the text cursor in both graphics and console modes.
Syntax
Declare Function Locate( row As Long = 0, column As Long = 0, state As Long = -1, start As Long = 0, stop As Long = 0 ) As Long
Usage
Locate [row], [column], [state]
result = Locate( [row], [column], [state] )
new_column = LoByte( result )
new_row = HiByte( result )
new_state = HiWord( result )
Parameters
row
the 1-based vertical character position in the console.
columnthe 1-based horizontal character position in the console.
statethe state of the cursor. 0 is off, 1 is on (console-mode only).
startIgnored. Allowed for -lang qb dialect compatibility only.
stopReturn Value
Returns a 32 bit Long containing the current cursor position and state. The Low Byte Of The Low Word contains the column, the High Byte Of The Low Word contains the row, and the High Word contains the cursor state.
If any of the row, column or state parameters were just set by the call to Locate, then the return value will reflect these new values, not the previous ones. If any of the parameters were omitted in the call to Locate, then the return value will reflect the current values, which are the same as before the call to Locate.
Description
Sets the text cursor in both graphics and console modes.
Example
Locate 10
Print "Current line:"; CsrLin
Print "Current line:"; CsrLin
'' Text cursor + mouse tracking
Dim As Integer x = 0, y = 0, dx, dy
Cls
Locate , , 1
While Inkey <> Chr(27)
GetMouse dx, dy
If( dx <> x Or dy <> y ) Then
Locate y+1, x+1: Print " ";
x = dx
y = dy
Locate 1, 1: Print x, y, ""
Locate y+1, x+1: Print "X";
End If
Wend
Dim As Integer x = 0, y = 0, dx, dy
Cls
Locate , , 1
While Inkey <> Chr(27)
GetMouse dx, dy
If( dx <> x Or dy <> y ) Then
Locate y+1, x+1: Print " ";
x = dx
y = dy
Locate 1, 1: Print x, y, ""
Locate y+1, x+1: Print "X";
End If
Wend
Differences from QB
- The start and stop arguments have no effect in FreeBASIC.
See also