TfsSyntaxMemo - редактор скриптов с подсветкой синтаксиса
Усовершенствованный вариант TMemo специально адаптированный для редактирования скриптов FastScript с различным типом синтаксиса. Осуществляет подсветку следующих фрагментов текста: комментарии, зарезервированные слова, строковые значения.
Бонусный компонент, в настоящий момент не поддерживается.
Свойства:
SyntaxType: TSyntaxType;
Тип подсветки синтаксиса.
Возможные значения:
stPascal - для языка Pascal
stCpp - для языка C++
stSQL - для языка запросов SQL
stText - простой текст (отключение подсветки).
Значение по умолчанию stPascal.
Lines: TStrings;
Редактируемый текст.
ShowFooter: Boolean;
Включает показ информационного поля в нижней части редактора текста, отображающего позицию курсора и пр.
ShowGutter: Boolean;
Включает показ информационного поля в левой части редактора текста, отображающего закладки, позицию отладчика и пр.
BlockColor: TColor;
Атрибуты цвета выделенного блока текста (цвета фона).
BlockFontColor: TColor;
Атрибуты цвета выделенного текста (цвета шрифта).
CommentAttr: TFont;
Атрибуты шрифта комментария.
KeywordAttr: TFont;
Атрибуты шрифта ключевых слов.
StringAttr: TFont;
Атрибуты шрифта строковых значений.
TextAttr: TFont;
Атрибуты шрифта простого текста.
Modified: Boolean;
True если производилось редактирование текста.
SelText: String;
Содержит выделенный текст.
Методы:
procedure CopyToClipboard;
Копирует выделенный текст в буфер обмена.
procedure CutToClipboard;
Перемещает выделенный текст в буфер обмена.
procedure PasteFromClipboard;
Вставляет текст в позицию курсора из буфера обмена.
procedure SetPos(x, y: Integer);
Устанавливает позицию курсора в тексте. Нумерация строк и позиций начинается с 0. См. метод GetPos.
function GetPos: TPoint;
Возвращает текущую позицию курсора в тексте. См. метод SetPos.
procedure ShowMessage(s: String);
Выводит сообщение s в нижней части окна редактирования. Сообщение пропадает после любого изменения позиции курсора.
procedure Undo;
Отменяет последнее изменение.
function Find(Text: String): boolean;
Осуществляет поиск в тексте с текущей позиции курсора..
function IsBookmark(Line : integer): integer;
Возвращает номер закладки для строки с номером Line. Если закладка не установлена возвращает -1. См. метод AddBookmark.
procedure AddBookmark(Line, Number : integer);
Добавляет закладку для строки Line с номером Number. Всего поддерживается 10 закладок с номерами от 0 до 9. См. методы DeleteBookmark, GotoBookmark.
procedure DeleteBookmark(Number : integer);
Удаляет закладку с номером Number. См. метод AddBookmark.
procedure GotoBookmark(Number : integer);
Устанавливает позицию курсора на строку с закладной под номером Number. См. метод AddBookmark.
procedure SetActiveLine(Line : Integer);
Установка индикации активной строки (для применения совместно с отладчиком) в левом информационном поле редактора. Line - номер активной строки. Индикация отключается, елси Line будет равен -1. См. метод GetActiveLine.
function GetActiveLine: Integer;
Возвращает номер активной строки. Если активная строка не задана, возвращается -1. См. метод SetActiveLine.
Клавиши редактирования.
Key | Action |
---|---|
Стрелки курсора | Перемещение курсора |
PgUp, PgDn, | Переход на предыдущую/последующую страницу |
Ctrl+PgUp | Переход в начало текста |
Ctrl+PgDn | Переход в конец текста |
Home | Переход в начало строки |
End | Переход в конец строки |
Enter | Переход на следующую строку |
Delete | Удаление символа в позиции курсора, удаление выделенного текста |
Backspace | Удаление символа слева от курсора |
Ctrl+Y | Удаление текущей строки |
Ctrl+Z | Отмена последнего изменения (до 32 событий) |
Shift+Arrows | Выделение блока текста |
Ctrl+A | Выделить весь текст |
Ctrl+U | Сдвиг выделенного блока на 2 символа влево |
Ctrl+I | Сдвиг выделенного блока на 2 символа вправо |
Ctrl+C, Ctrl+Insert | Копирование выделенного блока в буфер обмена |
Ctrl+V, Shift+Insert | Вставка текста из буфера обмена |
Ctrl+X, Shift+Delete | Перенос выделенного блока в буфер обмена |
Ctrl+Shift+Number | Установка закладки с номером 0..9 на текущей строке |
Ctrl+Number | Переход на установенную закладку |
Ctrl+F | Поиск строки (независимый от регистра) с позиции курсора |
F3 | Повторный поиск строки с позиции курсора |
Объект класса TfsSyntaxMemo по умолчанию поддерживает операции перетаскивания текста (Drag’n’Drop) из объектов классов TTreeView, для совместного использования с объектами TfsTree.