1.8.3. TbtkScriptTextViewObject

class TbtkScriptTextViewObject

Класс, реализующий API для управления курсором, позиционирования прокрутки на конкретной линии и работы с выделением текста в текстовых редакторах. Реализуется на уровне GUI-контроллера фрейма выборки. Доступ осуществляется через TbtkScriptControllerObject.Text

CursorLine: Integer

Номер линии, на который находится курсор. Чтение/Запись.

Return type:Integer

New in version BtkRuntime: 5.4.0.3582 ms 1

Пример использования
<PASCAL>
  if Assigned(Selection.Controller.Text) then
    ShowMessage('Cursor is on line: ' + IntToStr(Selection.Controller.Text.CursorLine));
</PASCAL>
CursorPos: Integer

Позиция курсора относительно начала текста. Чтение/Запись.

Return type:Integer

New in version BtkRuntime: 5.4.0.3582 ms 1

Пример использования
<PASCAL>
  if Assigned(Selection.Controller.Text) then
    ShowMessage('Cursor position: ' + IntToStr(Selection.Controller.Text.CursorPos) );
</PASCAL>
TopLine: Integer

Номер строки, которая отображается в редакторе самой первой. Чтение/Запись.

Return type:Integer

New in version BtkRuntime: 5.4.0.3582 ms 1

Пример использования
<PASCAL>
  if Assigned(Selectioin.Controller.Text) then
  begin
    s := InputBox('Change line', 'Switch from line ' +
    IntToStr(Selection.Controller.Text.TopLine) + ' to line:','')
    Selection.Controller.Text.TopLine := StrToInt(s);
  end
</PASCAL>
SelLength: Integer

Длина выделенного текста в символах в текущем редакторе. Чтение/Запись.

Return type:Integer

New in version BtkRuntime: 5.4.0.3582 ms 1

Пример использования
<PASCAL>
  if Assigned(Selection.Controller.Text) then
  begin
    Selection.Controller.Text.SelStart := StrToInt(InputBox('Select text', 'From', ''));
    Selection.Controller.Text.SelLength := StrToInt(InputBox('Select text', 'Length', ''));
  end
</PASCAL>
SelStart: Integer

Позиция относительно начала текста, с которой начинается выделение текста. Чтение/Запись.

Return type:Integer

New in version BtkRuntime: 5.4.0.3582 ms 1

Пример использования
<PASCAL>
  if Assigned(Selection.Controller.Text) then
    ShowMessage('Selection starts at ' + IntToStr(Selection.Controller.Text.SelStart));
</PASCAL>
SelText: String

Выделенный текст в текущем редакторе. Чтение/Запись. Если выделение отсутствует, при присвоении свойства происходит вставка текста в место установки курсора.

Return type:String

New in version BtkRuntime: 5.4.0.3582 ms 1

Пример использования
<PASCAL>
  if Assigned(Selection.Controller.Text) then
    ShowMessage(Selection.Controller.Text.SelText);
</PASCAL>
MoveCursorTo(Line, Col: Integer)

Переместить курсор в указанную позиию в редакторе ввода.

Parameters:
  • Line (Integer) – номер линии, на которую будет перемещен курсор
  • Col (Integer) – позиция относительно начала линии, на которую будет перемещен курсор.

New in version BtkRuntime: 5.4.0.3582 ms 1

Пример использования
<PASCAL>
  if Assigned(Selection.Controller.Text) then
  begin
    line := InputBox('','line','');
    col := InputBox('','column','');
    Selection.Controller.Text.MoveCursorTo(line, col);
  end;
</PASCAL>
GetPosByLine(LineNo: Integer; CursorAlign: TbtkLineCursorAlign): Integer

Возвращает позицию относительно начала текста, которая соответствует заданной линии и расположению курсора относительно линии

Parameters:
  • LineNo (Integer) – номер линии
  • CursorAlign (TbtkLineCursorAlign) –

    выравнивание курсора:

    lcaStart
    курсор в начале строки
    lcaEnd
    курсор в конце строки.
Return type:

Integer

New in version BtkRuntime: 5.4.0.3582 ms 1

Пример использования
<PASCAL>
  if Assigned(Selection.Controller.Text) then
  begin
    i := InputBox('', 'Line num','');
    ShowMessage('Pos at the begining of line ' + i + ' ' +
    IntToStr(Selection.Controller.Text.GetPosByLine(StrToInt(i),
    lcaStart)));
  end;
</PASCAL>
GetLineByPos(Pos: Integer): Integer

Возвращает номер линии в редакторе ввода, которой соответствует позиция относительно начала текста.

Parameters:Pos (Integer) – позиция в тексте
Return type:Integer

New in version BtkRuntime: 5.4.0.3582 ms 1

Пример использования
<PASCAL>
  if Assigned(Selection.Controller.Text) then
  begin
    pos := InputBox('','position','');
    ShowMessage('Position ' + pos + ' is on line no: ' +
    IntToStr(Selection.Controller.Text.GetLineByPos(StrToInt(pos))));
  end;
</PASCAL>
ShowCursor(CursorAlign: TbtkShowCursorAlign)

Выровнять положение линии с курсором относительно экрана.

Parameters:CursorAlign (TbtkShowCursorAlign) –

выравнивание курсора:

scaStart
вверху экрана
scaMiddle
посредине экрана
scaEnd
внизу экрана.

New in version BtkRuntime: 5.4.0.3582 ms 1

Пример использования
<PASCAL>
  if Assigned(Selection.Controller.Text) then
  begin
    Selection.Controller.Text.CursorLine := 50;
    Selection.Controller.Text.ShowCursor(scaMiddle);
  end;
</PASCAL>

1.8.3.1. TbtkLineCursorAlign

class TbtkLineCursorAlign

Перечисление. Позиция крусора относительно строки.

lcaEnd

Курсор в конце строки

lcaStart

Курсор в конце строки

1.8.3.2. TbtkShowCursorAlign

class TbtkShowCursorAlign

Перечисление. Пололжение линии с курсором относительно экрана

scaEnd

Линия с курсором внизу экрана

scaMiddle

Линия с курсором посредине экрана

scaStart

Линия с курсором вверху экрана