Locate
 
Задает текущую позицию курсора

Синтаксис

Declare Function Locate( row As Integer = 0, column As Integer = 0, state As Integer = -1, start As Integer = 0, stop As Integer = 0 ) As Integer

Использование

Locate [row], [column], [state]

result = Locate( [row], [column], [state] )
new_column = LoByte( result )
new_row = HiByte( result )
new_state = HiWord( result )

Параметры

row
Единичное (1) основание вертикальной позиции в консоли.
column
Единичное (1) основание горизонтальной позиции в консоли.
state
Состояние курсора. 0 - выключен, 1 - включен (только консольный режим).
start
Игнорируется. Допускается для диалекта -lang qb только для совместимости.
stop
Игнорируется. Допускается для диалекта -lang qb только для совместимости.

Возвращаемое значение

Возвращает 32 битный Integer , содержащий новую позицию и состояние курсора. (Low Byte Of The Low Word)Младший байт младшего слова содержит новый столбец, the (High Byte Of The Low Word)Старший байт младшего слова содержит новую строку, и (High Word)Старшее слово содержит новое состояние курсора.

Описание

Задает текущую позицию текстового курсора в режимах графики и консоли.

Пример

Locate 10
Print "Current line:"; CsrLin


'' Текстовый курсор + отслеживание мыши
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


Отличия от QB

  • Аргументы start и stop не имеют никакого эффекта в FreeBASIC.

См. также