Свойства и функции для работы с редактором
Свойства
Оператор | Тип | Описание | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Editor.FileName | String | полное имя редактируемого файла | ||||||||||||||||||||||||||||
Editor.Lines | Number | количество строк в редакторе | ||||||||||||||||||||||||||||
Editor.CurLine | Number | номер текущей строки | ||||||||||||||||||||||||||||
Editor.CurPos | Number | текущая позиция курсора в строке; учитывается размер табуляции | ||||||||||||||||||||||||||||
Editor.RealPos | Number | текущая позиция курсора в строке без привязки к размеру табуляции (табуляция считается за 1 символ) | ||||||||||||||||||||||||||||
Editor.Value | Value | содержимое текущей строки в редакторе под курсором. Например, показать текущий символ под курсором:
|
||||||||||||||||||||||||||||
Editor.SelValue | String | содержимое выделенного блока. Аналогично тому, как Far поместил бы в clipboard (блок текста с наличием |
||||||||||||||||||||||||||||
Editor.State | Number | различные состояния текущего редактора - набор
битовых флагов:
|
Функции
Функция | Описание | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
E=editor.undo(Action) | Работа с Undo/Redo. Здесь N - одно из:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
E=editor.settitle([Title]) | Установка заголовка в статусной строке редактора. Если параметр Title отсутствует или равен пустой строке, то восстанавливается предыдущее значение статусной строки. При показе заголовок будет усечён до размера, не затрагивающего служебную информацию (кодировка, позиция, etc.) Возвращает 1 для успешно выполненной операции или 0 - редактор не в фокусе. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
N=editor.pos(Action,Object[,Value]) | Получение/установка позиций в редакторе. Параметр Action задаёт поведение функции:
Функция возвращает -1 в случае прочих ошибок (например, неверные параметры, или функция вызвана не из редактора). Параметр Object - над чем выполняется операция:
Пример см. в разделе Примеры. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
V=editor.sel(Action[,Opt]) | Функция позволяет производить некоторые операции с блоками в тексте (в редакторе, в строках ввода в диалогах, в командной строке).
В случае ошибки (в т. ч. функция вызвана не из "редактора") возвращаемое значение равно 0, иначе 1. Для Action=0 возвращается запрошенное значение. Например, повторим некоторые сочетания клавиш из Turbo-сред (макрос на сочетание Ctrl-K):
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
V=editor.set(Option[,Value]) | Получить/изменить настройки текущей копии редактора.
Значение Value может быть опущено или равно -1, в этом случае функция ничего не изменит, а вернёт текущее значение настройки. Возвращает предыдущее значение опций или -1, если данные указаны некорректно, или функция вызвана не из редактора. Значения опции 16 изменить нельзя. Например, макрос, перемещающий выделенный фрагмент на одну строку вниз (сохраняет выделение вне зависимости от настрок постоянных блоков):
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
N=editor.delline([Line]) |
Удаление строки с номером Line. Если Line не указан или меньше 1, то удаляется текущая строка. Возвращает 1 для успешно выполненной операции или 0 - если редактор не в фокусе/редактор залочен/нет строки с запрашиваемым номером. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
S=editor.getstr([Line]) |
Получить содержимое строки с номером Line. Если Line не указан или меньше 1, то возвращается текущая строка. Возвращает строку с запрашиваемым номером. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
N=editor.insstr([S[,Line]]) |
Вставить значение S после строки с номером Line. Если S не указан, то вставляется пустая строка. Если Line не указан или меньше 1, то вставляется в текущую строку. Возвращает 1 для успешно выполненной операции или 0 - если редактор не в фокусе/редактор залочен/нет строки с запрашиваемым номером. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
N=editor.setstr([S[,Line]]) |
Заменить строку с номером Line на значение S. Если S не указан, то строка будет пустой. Если Line не указан или меньше 1, то заменяется текущая строка. Позиция курсора в редакторе не меняется. Возвращает 1 для успешно выполненной операции или 0 - если редактор не в фокусе/редактор залочен/нет строки с запрашиваемым номером. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Удаление пустых строк:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Стековые закладки | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Функция | Описание | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
E=bm.push() | Добавить закладку с текущими параметрами. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
E=bm.pop() | Восстановить параметры из последней закладки и удалить её. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
E=bm.add() | Добавить закладку с текущими параметрами и обрезать "хвост" (все закладки с индексом больше текущего). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
E=bm.del([Idx]) | Удалить закладку с указанным индексом Idx. Если параметр Idx не указан или равен 0 - удаляется текущая закладка. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
E=bm.clear() | Очистить все закладки. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
E=bm.next() | Перейти на следующую закладку. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
E=bm.prev() | Перейти на предыдущую закладку. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
E=bm.back() | Перейти на предыдущую закладку. Если непосредственно перед ней была вызвана bm.add - добавить перед переходом закладку с текущими параметрами. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
N=bm.goto([Idx]) | Перейти на закладку с указанным индексом Idx. Если параметр Idx не указан или равен 0 - переход на текущую закладку. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
N=bm.get(Idx,Param) | Получить параметры закладки с индексом Idx. Idx=0 - текущая закладка. Параметр Param может быть одним из следующих:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
N=bm.stat([Param]) | Получить информацию о закладках. Параметр Param может быть одним из следующих:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Пример работы с закладками: Для редактируемого файлаnewarc.ModuleManager.cpp вставляет в начало
в конец
при наличии строки "#pragma once " в начале файла, строки вставляются после неё.
|
Замечания
- Нумерация строк в редакторе начинается с 1.
- Нумерация колонок (позиций курсора в строке) начинается с 1.
- Нумерация закладок начинается с 1.