Состояния

Панели
ОператорТипОписание
APanel.ItemCount
PPanel.ItemCount
Number содержит количество файловых объектов на панели
APanel.SelCount
PPanel.SelCount
Number содержит количество выделенных файлов на панели (число)
APanel.CurPos
PPanel.CurPos
Number содержит порядковый номер файлового объекта на панели
APanel.Current
PPanel.Current
String содержит имя файла под курсором (строка)
APanel.Path
PPanel.Path
String содержит путь панели (без заключительного '\')
APanel.UNCPath
PPanel.UNCPath
String содержит UNC-путь панели (без заключительного '\')
APanel.Width
PPanel.Width
Number содержит ширину панели
APanel.Type
PPanel.Type
Number содержит тип панели:
Значение Описание
0 Файловая панель
1 Дерево папок
2 Панель быстрого просмотра
3 Информационная панель
APanel.DriveType
PPanel.DriveType
Number содержит тип привода на панели:
Значение Описание
-1 Плагиновая панель
0 Не удалось определить тип привода
2 Сменный привод
3 Жесткий диск
4 Сетевой подмапленный диск
5 CDROM
6 Виртуальный диск
15 SUBST-диск
APanel.OPIFlags
PPanel.OPIFlags
Number комбинация следующих значений плагиновой панели (если панель не плагиновая, то значение будет = 0):
ЗначениеОписание
0x00000001 используется фильтр на панели
0x00000002 используются группы сортировки на панели
0x00000004 используется раскраска файлов на панели
0x00000010 папки на панели плагина выбираются независимо от настроек FAR
0x00000020 используется стандартная обработка файла FAR'ом, если запрошенная операция не поддерживается плагином; если этот флаг указан, элементы на панели плагина являются именами реальных файлов
0x00000040 показаны имена без путей
0x00000080 имена файлов выровнены по правому краю
0x00000100 имена файлов показаны в оригинальном регистре (независимо от настроек FAR)
APanel.ColumnCount
PPanel.ColumnCount
Number количество колонок на панели
Диалоги
Dlg.ItemCount Number количество элементов диалога
Dlg.CurPos Number номер текущего фокусного элемента диалога
Dlg.ItemType Number тип фокусного элемента диалога
Значение Описание
-1ошибка, например, Dlg.ItemType вызван не в диалоге
4Поле ввода
5Поле ввода пароля
6Поле ввода фиксированного размера
7Кнопка (Push Button)
8Контрольный переключатель (Check Box)
9Селекторная кнопка (Radio Button)
10Комбинированный список
11Окно списка
255Элемент управления, определяемый программистом
0x8004Выбор из истории поля ввода
0x800AВыбор из комбинированного списка
Командная строка
CmdLine.ItemCount Number количество символов в командной строке
CmdLine.CurPos Number текущая позиция курсора в командной строке
CmdLine.Value String содержимое командной строки
Редактор
Editor.FileName String полное имя редактируемого файла
Editor.CurLine Number номер текущей линии в редакторе (первая строка равна 1)
Editor.CurPos Number текущая позиция курсора в строке в редакторе (начало строки равно 1); учитывается размер табуляции
Editor.RealPos Number текущая позиция курсора в строке в редакторе без привязки к размеру табуляции (начало строки равно 1)
Editor.Value Value содержимое текущей строки в редакторе под курсором.
Например, показать текущий символ под курсором
MsgBox(substr(Editor.Value,Editor.CurPos-1,1),Editor.FileName,0)
Editor.Lines Number количество строк в редакторе
Editor.State Number различные состояния текущего редактора - набор битовых флагов:
Значение Описание
0x00000001 файл совершенно новый либо его успели удалить
0x00000002 разрешено переключение на программу просмотра по F6
0x00000004 после закрытия редактора удалить файл
0x00000008 редактируемый файл модифицирован (в статусной строке редактора присутствует символ '*')
0x00000010 в наличии есть выделенный поточный блок
0x00000020 в наличии есть выделенный вертикальный блок
0x00000040 редактируемый файл изменялся в сеансе редактирования
0x00000080 курсор в режиме замены
0x00000100 позиция курсора была изменена плагином
0x00000200 редактор заблокирован (ReadOnly)
0x00000400 используются постоянные блоки
0x00000800 модальный редактор
0x08000000 FAR запущен с ключами /e
Например,
$If (Editor.State & 0x8) выполнить действия, если файл модифицирован $End
Программа просмотра
Viewer.FileName String полное имя просматриваемого файла
Viewer.State Number различные состояния текущей программы просмотра - набор битовых флагов:
Значение Описание
0x00000001 включено автоопределение таблицы символов
0x00000002 не используются таблицы символов и текст в кодировке ANSI
0x00000004 режим Unicode
0x00000008 включен перенос строк
0x00000010 используется перенос строк по словам, а не по буквам
0x00000020 выставлен 16-ричный режим
0x00000800 модальный вьювер
0x08000000 FAR запущен с ключами /v
Например,
$If (Viewer.State & 0x20) выполнить действия, если выставлен 16-ричный режим $End
Меню выбора дисков
Drv.ShowPos Number для левой (AltF1, значение 1) или правой (AltF2, значение 2) панели вызвано меню выбора дисков.
Drv.ShowMode Number флаги отображения меню выбора дисков; набор битовых флагов:
Значение Описание
0x00000001 включен показ типа дисков
0x00000002 включен показ сетевого имени (и путь, ассоциированный с SUBST-диском под NT)
0x00000004 включен показ метки диска
0x00000008 включен показ типа файловой системы
0x00000010 включен показ общего и свободного места на диске
0x00000020 включен показ параметров сменных дисков
0x00000040 включен показ имен подключаемых модулей
0x00000080 включен показ параметров компакт-дисков
0x00000100 включен показ общего и свободного места на диске в стиле Windows Explorer
0x00000200 включен показ параметров для сетевых дисков
Прочее
MacroArea String наименование текущей макрообласти исполнения
ItemCount Number число элементов в текущем объекте; в меню разделительная черта тоже учитывается
CurPos Number позиция в текущем объекте
Title String заголовок текущего объекта
Far.Width Number ширина консоли, в которой работает FAR Manager
Far.Height Number высота консоли, в которой работает FAR Manager
Far.Title String текущий заголовок консольного окна FAR
Help.FileName String полный путь просматриваемого файла помощи; для списка помощи по внешним модулям (Shift-F2) это значение пусто
Help.Topic String идентификатор просматриваемой темы (без ведущего символа '@')
Help.SelTopic String идентификатор выделенного топика (без ведущего символа '@')

Замечания

  1. Элементы макроязыка невозможно использовать во время записи макроса стандартным образом. Добавить элементы языка в макрос можно только путем ручной правки реестра или путем применения специальных программ/плагинов.