Софтпанорама 1993,No.5(39) *** FOREWORD *** Составитель Н.Н.Безруков ************************************************************************ ---------------------------------------- ! К О Л О Н К А Р Е Д А К Т О Р А ! ---------------------------------------- Уважаемые коллеги ! Мне очень приятно представить в этом номере Volkov Commander Version 4.00.032 alpfa лауреата премии "За достижения в системном программирова- нии" ОСП Всеволода Волкова. Программа действительно стоит того чтобы ее попробовать. После обкатки и доработки эта версия несомненно может стать Shareware альтернативой коммерческому продукту или даже самостоятельным коммерческим продуктом. Эту версия я получил три дня назад и поэтому данные фрагментарные заметки неполны и частично основаны на документации автора. Тем не менее данный выпуск компоновался уже с помощью VC и неко- торый опыт работы с этой версией у меня появился. Автором достигнута очень хорошая совместимость с оригинальным продук- том Джона Сочи по интерфейсу при существенно расширенных функциональных возможностях. VC успешно работает совместно с DesqVIEW и не занимает процессорное время в режиме ожидания нажатия клавиши, если находится в фоновом режиме. Небольшой размер позволяет загружать VC в UMB (однако требуется не менее 74К), Редактор Удобной возможностью является вызов редактора по расширению, что поз- воляет использовать кнопку F4 например для редактирования баз данных. Вместе с тем введенное меню редакторов не дает возможность вызывать по нажатию клавиши F4 определенный пользователем редактор, а не встроенный. По крайней мере как это сделать я не нашел. Встроенный редактор работает в текстовом и в шестнадцатиричном режи- мах (переключается клавишей F4) и имеет расширенную структуру команд. Снято жесткое ограничение на длину файлов и редактор позволяет редакти- ровать файлы большой длины, в зависимости от того, сколько памяти свобо- дно. В редакторе имеется функция восстановления после последнего удале- ния символа, строки или слова (Ctrl-U). К сожалению сохранился недоста- ток, связанный с тем, что режим вставки и удаления не индицируется фор- мой курсора. Работа с каталогами Особенно удобно, что VC позволяет помечать, копировать, перемещать и удалять каталоги со всеми вложенными подкаталогами так же, как и обычные файлы. Решена мелкая, но неприятная проблема с инверсированием отмечен- ных файлов: клавиша Grey * и все. VC позволяет подсчитывать размеры подкаталогов со всеми вложенными файлами. Это можно сделать автоматически при каждом пересчете панели с файлами, включив Auto directory sizes в меню Options, или однократно, используя комбинацию клавиш Alt-F6. Можно удалять выделенные подкаталоги группой так же как и файлы. Поиск файлов Расширена функция поиска файлов Alt-F7, которая теперь позволяет искать файлы, содержащие определенную строку (поле Containing). Просмотр памяти Очень полезна функция Memory Info (Alt-F5), которая фактически предо- ставляет возможности, сопоставимые с Release: информацию о загруженных в основную (первые 640 Кбайт) и в верхнюю (блоки UMB) память программах: сегментный адрес PSP, число блоков памяти, принадлежащих программе, раз- мер и перехваченные вектора прерываний. Эта функция позволяет также выгружать резидентные программы, которые были загружены после старта VC. Выгрузить можно несколько резидентных программ сразу в произвольном порядке, пометив их клавишами Ins, Grey +, Grey -. Не могут быть выгружены только те программы, у которых хотя бы один вектор прерывания перехвачен другой резидентной программой, находя- щейся в памяти. Поэтому программы с одинаковыми перехваченными векторами могут быть выгружены либо одновременно, либо поочередно, начиная с той из них, которая перехватила вектор прерывания последней. При выходе из VC выгружаются все резидентные программы, которые были загружены после VC, это необходимо для корректной работы. Запуск команд по расширениям VC позволяет в зависимости от расширения файла запускать определенную команду при нажатии Enter, вьюер при нажатии F3 или редактор при нажатии F4. Информация о соответствии команды или последовательности команд рас- ширению хранится в файлах расширений: VC.EXT, VCVIEW.EXT и VCEDIT.EXT соответственно. Формат этих файлов расширен и допускает вызов цепочки программ, т.е. какое-то подобие Bat-файлов: ext: command1 @ command2 . . . . . Здесь Command1, command2, ... - любые команды DOS. Если перед коман- дой стоит символ @, то подсказка и сама команда не выводятся (как в BATCH-файлах). В частности, при использовании 4DOS или NDOS в файл VC.EXT нужно включить строку "BTM: !" и BTM-файлы можно будет запускать нажатием Enter. Работа с вьерами Вьютеры могут запускаться двумя способами: либо с передачей парамет- ров, включая строку 'Socha', информацию о цветах, мыши и др., как стан- дартные вьюеры NC либо как прикладная программа через Command.com. Для передачи параметров таким образом строка в файлах VCVIEW.EXT или VCEDIT.EXT должна выглядеть следующим образом: команда должна содержать только полное имя вьюера, включая расширение и путь; если путь не ука- зан, то вьюер ищется в том же каталоге, откуда был считан файл расшире- ний; команда не должна содержать символов подстановок !; расширению дол- жна соответствовать только одна команда. Например строки txt: wpview.exe txt: С:\VIEWERS\wpview.exe вызовут вьюер как стандартный вьюер NC, с передачей параметров, причем первая строка будет пытаться загрузить wpview.exe из того же каталога, что и файл VCVIEW.EXT или VCEDIT.EXT. Если внешний вьюер не найден, то используется внутренний. Строки txt: wpview txt: wpview.exe !.! txt: wpview.exe cd \ будут запущены как обычные команды через командную строку. Дополнительные возможности Команда File Attributes в меню Files позволяет изменять не только атрибуты отдельных файлов, дату и время их создания, но и при работе с подкаталогами изменять атрибуты всех файлов внутри подкаталога, включая все вложенные подкаталоги. В панели Info выводится метка текущего диска. Метку можно создать, изменить или удалить командой Volume label в меню Commands или проще на- жатием Ctrl-F6. Для удаления метки нужно просто удалить все символы в поле имени метки. При запуске VC в командной строке может быть указана любая команда DOS, которая выполнится автоматически сразу после загрузки VC. Например VC startup.bat может содержать команды DOS и резидентные программы, ана- логично autoexec.bat. Предусмотрено два способа запуска команд из VC. Первый из них стан- дартный, запускает COMMAND.COM /C <команда>. При этом лишь требуется, чтобы переменная COMSPEC в окружении DOS была корректно установлена и наличие командного процессора по указанному пути. Второй способ, с испо- льзованием прерывания int 2Eh к сожалению не работает в 4DOS (4DOS его не поддерживает), однако предоставляет ряд важных преимуществ при запус- ке программ: позволяет изменять первичное окружения DOS командами SET, PATH, PROMPT и др. Поскольку вторичная копия командного процессора в этом случае не загружается, команды выполняются быстрее и при загрузке резидентных программ в памяти не остается "дырка" от COMMAND.COM. Есть и несколько недостатков, связанных с особенностями реализации этой функ- ции в MS DOS: прерывание BATCH-файла с помощью Ctrl-Break останавливает выполнение, но при попытке выполнить следующую команду, сначала продол- жается выполнение прерванного BATCH-файла, а лишь потом выполняется тре- буемая команда; DOS не предусматривает вложенное выполнение через int 2Eh, и поэтому, если одна программа запущена через int 2Eh запустила другую программу тоже через int 2Eh, то после завершения последней, уп- равление передается процессу, запустившему первую программу, а первая программа остается в памяти, хотя доступа к ней нет. Я бы привязал этот способ к дополнительной клавише (Alt-Shift-Enter ???), поскольку сейчас он включается опцией Quick execute commands в конфигурации. Если переместить курсор мыши в левый верхний угол и нажать клавишу, то окна погаснут и будет показан экран DOS. Повторное нажатие включает окна. Эта функция аналогична нажатию Ctrl-O. Проблемы и пожелания Я заметил два недостатка: - объем памяти под USER MENU меньше чем в NC и при больших меню часть команд становится недоступной. - Что касается вьеров, то я бы еще добавил две вещи: - дополнительные меню, активируемое по Alt-Enter, поскольку очень часто с одним и тем же файлом выполняется по меньшей мере две достаточно частые операции. - возможность вызывать вюьеры XtreeGold (их больше и по качеству они значительно превосходят вьюеры NC). Помимо высказанных выше пожеланий хотелось бы также иметь возмож- ность: - быстрого выхода на нужный диск по (Ctrl-Shift-<имя диска>); - сохранения и просмотра истории для фильтров имен файлов (например по Ctrl-GreyPlus); - переносить в командную строку полный путь к неактивной панели (на- пример по Alt-Shift-Enter). - заносить имена выделенных в панели файлов в командную строку (на- пример по Ctrl-Shift-Enter) - заносить имена выделенных файлов в файл со специальным именем опре- деляемым где-нибудь в опциях. По умолчанию можно использовать какое-то фиксированное имя VC-FILES.TMP. Эту возможность можно было бы "привязать к клавише Ctrl-Alt-Enter) - использовать клавиши F11 и F12 для определения дополнительных (по- льзовательских) команд (т.е. макровозможности). Например F11 начать/за- кончить запись макроопределения, a f12 - просмотреть список макроопреде- лений. - возможность подключения альтернативной программы поиска файлов. - необходим инсталлятор с настройкой цветов, компиляцией макроопреде- лений и некоторыми другими возможностями. Эаключение В заключение мне хочется еще раз поздравить Всеволода Волкова с при- суждением ему премии ОСП и пожелать успехов в доработке этой исключи- тельно важной и нужной для всех нас программы. Вместе с тем поскольку премия ОСП невелика (100 дискет 5.25 DD) на мой взгляд целесообразно поставить вопрос о том, чтобы найти спонсоров которые бы смогли платить Всеволоду стипендию хотя бы до конца этого го- да.