Главная > Програмное обеспечение > Файловые/Оконные менеджеры >
Far PlugRinG Site - FAQ

Итак, дамы и господа, FAQ (ЧАВО то бишь). Здесь Вы сможете (надеемся) найти ответы на некоторые сложные вопросы работы плагинов и Far'а, и не писать Евгению Рошалу письма с вопросами типа 'А как его запустить...'. Так же здесь вы сможете прочитать ЧаВО по мотивам эхи far.support

От 21.06.2000
  1. Откуда взялся этот сайт?
  2. А откуда они-то взялись?
  3. Где мне взять последнюю версию FAR'а?
  4. Не пойму как использовать вновь загруженный плагин. Скопировал файлы и...
  5. "Свалил" все плагины в один каталог, но FAR их не видит. Что делать?
  6. Я решил сравнить директории при помощи ФАР команды compare. Но ФАР выд...
  7. Hаpод очень хотелось бы поиметь пpостейшие исходники плагинов к FAR`y ...
  8. Как мне спрятать курсор?
  9. А как перевести в нужную позицию?
  10. Если я не использую стандартную функцию работы с диалогом, то каким об...
  11. Если я использую Dialog, а в нем строку ввода, то будет ли работать фу...
  12. Можно ли динамически в Dialog менять элементы типа Static (их заголовк...
  13. Чтобы плагин работал и в редакторе и в shell (и на панели) что нужно с...
  14. Возможно динамическое отключение/подключение плагина не перезапуская F...
  15. Встречаются имена файлов состоящие из цифр (как в FIDO NetMail). При с...
  16. А если сотворить plugin на данную тему - работать будет или для этого ...
  17. Есть такая - утилита SED называется. Она позволяет делать замену одной...
  18. При копировании файлов в FAR`е, если исходный файл открываеть на чтени...
  19. Plug-in`ы в редакторе срабатывают только при активизации? А можно ли с...
  20. А можно в одном DLL-модуле держать несколько плагинов... Несколько фун...
  21. ... а потом различать что хотел пользователь по параметру Item в функц...
  22. Возможно ли при нынешнем API сделать плагин, работающий в фоновом режи...
  23. А как сделать, что-бы в меню выбора диска добавить клавишу доступа к д...
  24. Есть файл, котоpый можно откpыть плагином. Могy ли я как-то об этом yз...
  25. А как сделать переход на один уровень вверх по Backspace'у?
  26. А можно ли чтобы FAR работал только под DOS?
  27. Как бы это из плагинового модуля получить полный путь до него самого?....
  28. Помогите пеpевести стpyктypy INPUT_RECORD из WinAPI на Delphi.
  29. Как получить полный путь до редактируемого файла из плагина редактора?...
  30. Почему в Win95/98 FAR воспринимается как приложение DOS (нельзя закрыт...
  31. Можно ли из плагина управлять переключением фоновых экранов ФАРа?
  32. Кто-нибудь проверяет плагины на предмет безопасности? Например, не мож...
  33. Есть ли трянсляция фарового апи для Delphi? Дельфя нужна из-за огромно...
  34. Чем может быть вызвано, что я не вижу плагин (RecycleBin ver. 1.7.0.1)...
  35. А как фаp опpеделяет, что в клипбоpде лежит именно веpтикальный блок?
  36. Скажи, а что - никак нельзя узнать, на чем стоит курсор в текущей пане...
  37. Нельзя ли при перерисовке любой панели перерисовывать заголовок окна? ...
  38. Откуда FAR берет процедуры для копирования/удаления/... файлов?
  39. Как можно получить имя каталога, из которого запущен фар?
От 21.06.2000

  1. Откуда взялся этот сайт?
    Взялся он из умов поклонников Far'а (и его плагинов) Валентина Скирдина и Игоря Русских. Первоначальная идея о WebRing'е переросла в более широкий проект.
  2. А откуда они-то взялись?
    С такой развитой логикой только плагины и писать. Читайте ниже, если не знаете с чего начать.
  3. Где мне взять последнюю версию FAR'а?
    Есть "куча" серверов, где вы сможете удовлетворить свои потребности:
    1. http://www.rarsoft.com/ - официальный сайт автора FAR`а и RAR`а.
    2. Еще лучше произвести поиск на FTP-серверах: Русские FTP или Зарубежные FTP. Эти ссылки покажут Вам список сайтов, откуда можно скачать последнюю версию...
    3. Ну в крайнем случае можете использовать наш сайт - на нем так же должен храниться Far и плагины к нему.
  4. Не пойму как использовать вновь загруженный плагин. Скопировал файлы из архива в каталог far\plugins а что дальше, как он работает?
    Все очень просто
    1. Создаем в папке far\plugins каталог "Имя архива с плагином"
    2. Разваливаем туда архив
    3. Перезапускаем FAR
    4. Жмем <F11> (вызов списка доступных плагинов)
    5. Выбираем нужный и...
  5. "Свалил" все плагины в один каталог, но FAR их не видит. Что делать?
    Просто скопировать файлы *.DLL, *.HLF & *.LNG в подкаталог PLUGINS не получится (все дело в том, что FAR при старте, найдя *.DLL в каталоге (подкаталоге) считает, что он один и... на этом поиск заканчивается) - для каждого плагина должна быть своя папка...
  6. Я решил сравнить директории при помощи ФАР команды compare. Но ФАР выделил почти половину "разных". Потом я понял, что он сравнил не только их имена (что мне и надо) но и размеры файлов (что мне как-раз токи и не надо). Как это обойти?
    Для этой цели есть специальный плагин "Advanced compare". Он позволяет проводить сравнение панелей с учетом:
    • Process subfolders
    • Compare time
    • two seconds precision
    • Compare size
    • Compare contents
  7. Hаpод очень хотелось бы поиметь пpостейшие исходники плагинов к FAR`y на С С++ и какyю нибyдь инфy о том как они в пpинципе пишyтся.
    А у тебя сам FAR стоит? Тогда в чем проблема? Там и исходники и дока по API. Причем ИМЕHHО на C++
  8. Как мне спрятать курсор?
    Win32 console API: SetConsoleCursorInfo, только не забудь его потом вернуть на место.
  9. А как перевести в нужную позицию?
    Там же: SetConsoleCursorPosition
  10. Если я не использую стандартную функцию работы с диалогом, то каким образом обрабатывать ввод данных? Самому писать?
    Да.
  11. Если я использую Dialog, а в нем строку ввода, то будет ли работать функции ProcessEditorInput и ProcessEditorEvent для этого элемента управления?
    Нет.
  12. Можно ли динамически в Dialog менять элементы типа Static (их заголовки)?
    После создания диалога? Нет. Но можно из него выйти, заменить заголовок и создать диалог опять. Если это сделать сразу же, одно за другим, то будет достаточно быстро.
  13. Чтобы плагин работал и в редакторе и в shell (и на панели) что нужно ставить во флагах: Info->Flags=?????;
    PF_EDITOR
  14. Возможно динамическое отключение/подключение плагина не перезапуская FAR?
    Отключение невозможно. А зачем тебе его отключать? А подключением фар сам занимается. Другое дело, что фар можно попросить не кэшировать настройки для данного плагина, а грузить его в память каждый раз вместе с самим фаром, указав PF_PRELOAD. Но без реальной необходимости это лучше не делать - лишние тормоза и расход памяти.
  15. Встречаются имена файлов состоящие из цифр (как в FIDO NetMail). При сортировке по имени естественно файлы упорядочиваются по компьютерным правилам (1.msg, 10.msg,..., 2.msg, 20.msg,...). Возможно ли изменить алгоритм сортировки по имени так, чтобы в указанном выше примере файлы располагались в естественном порядке (1.msg, 2.msg,.... 10.msg,... 20.msg).
    Это не настолько часто требуется, чтобы добавлять дополнительный режим сортировки.
  16. А если сотворить plugin на данную тему - работать будет или для этого необходимо менять саму оболочку?
    Будет.
  17. Есть такая - утилита SED называется. Она позволяет делать замену одной подстроки на другую в группе файлов. Вот про нечто такое и идет речь. Можно и плюгин приделать, но в FAR`е это было-бы лучше ;-)
    Это не та функция, которая заслуживает быть внесенной в сам фар.
  18. При копировании файлов в FAR`е, если исходный файл открываеть на чтение с атрибутом типа SEQUENTIAL_READ (или что-то наподобие, вообщем последовательное чтение), то NT`я не будет увеличивать размер дискового кэша для операции чтения. Увеличение размера кеша приводит к тормозам. Если ФАР, например, читает файл через сеть с другого компьютера, то на этом (с которого читаем) компьютере сильно увеличивается размер кэша, хотя в настройках NT стоит "Minimize Memory Used" для сетевых операций.
    В FAR`е файлы так и открываются (если конечно не включена опция "Use system copy routine").
  19. Plug-in`ы в редакторе срабатывают только при активизации? А можно ли сварганить такой, чтобы в фоновом режиме работал?
    Можно. Экспортировать ProcessEditorInput и ему будет приходить все нажатия клавиш в редакторе.
  20. А можно в одном DLL-модуле держать несколько плагинов... Несколько функций, так сказать... И чтобы каждый вызывался, как будто бы находился в отдельном DLL-файле (пусть даже с полной загрузкой всего DLL`я)...
    Да. В PluginInfo можно указать несколько строк, добавляемых к plugins menu.
  21. ... а потом различать что хотел пользователь по параметру Item в функции OpenPlugin - правильно?
    Правильно.
  22. Возможно ли при нынешнем API сделать плагин, работающий в фоновом режиме?
    Разве что в редакторе. В панелях такое не поддерживается.
  23. А как сделать, что-бы в меню выбора диска добавить клавишу доступа к директории "My Documents" с учетом текущего юзера. По типу клавиш доступа к сетевому, FTP , и прочим плагинам.
    Ну, проще всего написать плагин....
  24. Есть файл, котоpый можно откpыть плагином. Могy ли я как-то об этом yзнать? Лyчше всего отдать командy на cd тyда и полyчить ответ - смогли/не смогли.
    Hет, api для взаимодействия между плагинами в фаре отсутствует. Тут одной проверкой на принадлежность файла не обойтись.
  25. А как сделать переход на один уровень вверх по Backspace'у?
    Либо сделать макpос, пеpеназначающий BS на CtrlPgUp, либо запутить %FARDIR%\Addons\Macros\BS.reg
  26. А можно ли чтобы FAR работал только под DOS?
    НЕТ. FAR - 32-разрядное консольное приложение,... и именно Win32. Поэтому не только под DOS, но и вообще под DOS эта программа работать не будет.
  27. Как бы это из плагинового модуля получить полный путь до него самого?...
    В функцию SetStartupInfo() far передает указатель на структуру PluginStartupInfo. Полное имя модуля содержится в поле ModuleName оной структуры. Читайте plugins.hlp, там все написано.
  28. Помогите пеpевести стpyктypy INPUT_RECORD из WinAPI на Delphi.
    uses Windows; // :-)
  29. Как получить полный путь до редактируемого файла из плагина редактора?
    Очень просто. См. здесь
  30. Почему в Win95/98 FAR воспринимается как приложение DOS (нельзя закрыть по крестику без соответствующего предупреждения, и второй файл какой-то грузится Winlodap), а в NT все OK?
    В Win9x "кривые" консоли (ведь FAR это консольное приложение). Это даже не фича... :-(
  31. Можно ли из плагина управлять переключением фоновых экранов ФАРа?
    Нет.
  32. Кто-нибудь проверяет плагины на предмет безопасности? Например, не может ли FTP что-нибудь скачивать на свой адрес?
    Нет. А как ты представляешь себе такую проверку?
  33. Есть ли трянсляция фарового апи для Delphi? Дельфя нужна из-за огромного количества наработок для Oracle.
    Да. См. Delphi FAR API, PAFTDR.
  34. Чем может быть вызвано, что я не вижу плагин (RecycleBin ver. 1.7.0.1) ни по F11, ни по Alt-F1(Alt-F2)?
    Есть пара причин:
    1. У вас отсутствует какая-нить RunTime DLL (например, если плагин скомпилирован под Borland C++ 5.02 с 'Dimanic Link Library', то этому плагину требуется дополнительно cw3230.dll). Отройте плагин на просмотр (View, F3) и поищите подстроку '.DLL'...
    2. Плагин написан "криво" - содержит ошибки.
    В любом случае нужно обратиться к разработчику.
  35. А как фаp опpеделяет, что в клипбоpде лежит именно веpтикальный блок?
    У вертикального блока clipboard format - "FAR_VerticalBlock"
  36. Скажи, а что - никак нельзя узнать, на чем стоит курсор в текущей панели? Т.е. меня интересует - на каталоге или на файле...
    Control(FCTL_GETANOTHERPANELINFO);
    Control(FCTL_GETPANELINFO);
    PanelInfo.PanelItems[PanelInfo.CurrentItem].FindData.dwFileAttributes
  37. Нельзя ли при перерисовке любой панели перерисовывать заголовок окна? По-моему, это будет проще и быстрее, чем плагину вызывать FCTL_REDRAWPANEL
    Насчет быстрее - не факт. Если заголовок не изменен плагином, как оно обычно и бывает, FAR перерисует его вхолостую.
  38. Откуда FAR берет процедуры для копирования/удаления/... файлов?
    Из Win32 API.
    Копирование: CreateFile+ReadFile+WriteFile+CloseHandle или CopyFile(Ex), в зависимости от ОС и опции "Use system copy routine".
    Удаление: DeleteFile или SHFileOperation в зависимости от опции "Delete to Recycle Bin"
  39. Как можно получить имя каталога, из которого запущен фар?
    char lpName[_MAX_PATH], lpFullPath[_MAX_PATH];
    LPTSTR lpFile;
    GetModuleFileName(NULL,lpName,sizeof(lpName));
    GetFullPathName(lpName,sizeof(lpFullPath),lpFullPath,&lpFile);
    *lpFile='\0';

Источник plugring.farmanager.com


Украинская Баннерная Сеть

Главная  Алфавитный индекс  Справка  Добавить FAQ  E-mail
Новости  Поиск по сайту

Copyright © 2001 - 2002 Olexandr Slobodyan.
Сайт создан в системе uCoz