VC Version 4.00 shareware Copyright (C) Всеволод В. Волков 1991-1995 Минимальные требования: Компьютер . . . . . . . IBM PC или совместимый на уровне BIOS Операционная система. . MS-DOS версии 3.20 или выше Свободная память. . . . около 155 Кбайт Внутренние характеристики: - все дисковые операции и операции управления памятью выполнены на уровне DOS через int 21h - операции опроса клавиатуры выполнены на уровне BIOS через int 16h - обращения к портам: только при подавлении снега на CGA, только к 3DAh и только если этот порт обнаружен Некоторые замечания и рекомендации: 1. VC позволяет помечать, копировать, перемещать и удалять каталоги со всеми вложенными подкаталогами так же, как и обычные файлы. 2. При копировании можно разбивать и склеивать файлы. Для разделения файла на несколько частей, при появлении сообщения о нехватке места на дискете ╔═════════════ Copy ══════════════╗ ║ There isn't enough room to copy ║ ║ filename to ║ ║ D:\filename ║ ║ Abort Continue ║ ╚═════════════════════════════════╝ нужно заменить дискету и выбрать "Continue". Первая часть файла будет иметь дату и время исходного файла, остальные части - текущую дату и время. Чтобы склеить два файла, нужно один файл дописать к концу другого, для этого во время появления сообщения, что файл уже существует ╔═════════════════ Copy ══════════════════╗ ║ The following file exists ║ ║ D:\filename ║ ║ Do you wish to write over the old file? ║ ║ Overwrite All aPpend Skip ║ ╚═════════════════════════════════════════╝ следует выбрать "Append". 3. При копировании клавиша Alt-F10 вызывает окно с деревом диска, указанного в пути назначения и позволяет выбрать нужный каталог. Если нажать клавишу F10, то появляется дерево текущего диска. 4. Пометка (Grey +) и инверсия группы (Grey *) производят действие только с файлами, а снятие пометки (Grey -) снимает пометку и с файлов, и с каталогов. 5. После групповой операции можно восстановить пометку файлов командой Restore selection (^M). 6. При запуске VC в командной строке может быть указана любая команда DOS, которая выполнится автоматически сразу после загрузки VC. Например VC startup.bat после старта VC выполнится пакетный файл startup.bat, который может содержать команды DOS и резидентные программы, аналогично autoexec.bat. 7. Возможно два варианта размещения VC в памяти: 1. Минимальный режим - перед выполнением любого приложения, VC освобождает память. После завершения программы происходит подгрузка файла VC.COM из того же пути, из которого VC был запущен. Во время выполнения любой программы в памяти находится только резидентная часть VC размером около 12,5 Кбайт. 2. Максимальный режим - в памяти остается весь VC размером около 76 Кбайт. При работе в этом режиме файл VC.COM загружается только один раз во время старта и в дальнейшем не требуется. Это ускоряет выполнение команд. Минимальный режим выбирается командой "Memory Allocation" в меню Options. Работая в одном из этих режимов можно запустить программу и в противоположном режиме не используя меню: для этого используется комбинация клавиш Shift-Enter вместо Enter. Клавиша Shift проверяется также при вызове меню пользователя (F2) и при повторном запуске из History (Alt-F8). Рекомендации по выбору режима: 1. Если система имеет верхнюю память (блоки UMB), из которой более чем 65 Кбайта свободны, то предпочтительнее будет загрузка в UMB командой LH VC для MS-DOS версии 5.0 и старше или HILOAD VC при использовании DR-DOS 6.0. При этом лучше использовать максимальный режим для более быстрой работы. 2. Если система не имеет UMB или размер UMB не достаточен, то оптимальным будет использование минимального режима при запуске VC с винчестера. Если имеется виртуальный диск, то для ускорения подгрузки файла VC.COM его лучше скопировать и загрузить с виртуального диска. Например это может быть сделано так: COPY C:\VC\vc.com E:\ SET VC=C:\VC E:\vc Команда SET VC=... необходима для того, чтобы указать каталог, в котором находятся файлы VC.INI, VC.HLP, главное меню VC.MNU и т. д. В противном случае эти файлы ищутся в том каталоге, из которого был загружен VC.COM. 3. При старте VC с дискеты лучше всего использовать максимальный режим. Не смотря на затраты памяти, это избавит от мучительного ожидания подгрузки VC.COM после выполнения прикладных программ. 8. Загрузочный файл VC.COM может быть сжат любым из упаковщиков, таких как DIET. При использовании LZEXE, файл VC.COM нужно сначала преобразовать в формат EXE утилитой COM2EXE. Аналогичное преобразование требуется и при использовании PKLITE и DIET ранних версий (младше 1.44), так как они отказываются сжимать COM-файлы с размером около 64 Kбайт. 9. Предусмотрено два способа запуска команд из VC. Первый способ - стандартный, запуск COMMAND.COM /C <команда>. При этом требуется, чтобы переменная COMSPEC в окружении DOS была корректно установлена и наличие командного процессора по указанному пути. Этот способ выбран по умолчанию. Второй способ - использование прерывания int 2Eh, работает не всегда (4DOS и NDOS поддерживают его опционально, OS/2 DOS box не поддерживает его вообще). Этот способ предо- ставляет некоторые преимущества по сравнению с первым: позволяет изменять первичное окружения DOS командами SET, PATH, PROMPT и др., не загружается вторичная копия COMMAND.COM, поэтому команды выполняются быстрее и при загрузке резидентных программ в памяти не остается "дырка" от COMMAND.COM. Есть и несколько недостатков, заложенных в DOS: прерывание BATCH-файла с помощью Ctrl-Break останав- ливает выполнение, но при попытке выполнить следующую команду, сначала продолжается выполнение прерванного BATCH- файла, а лишь потом выполняется требуемая команда; DOS не предусматривает вложенное выполнение через int 2Eh, и поэтому, если одна программа запущена через int 2Eh запустила другую программу тоже через int 2Eh, то после завершения последней, управление передается процессу, запустившему первую программу, а первая программа остается в памяти, хотя доступа к ней нет. В итоге выбор остается за Вами. Второй способ запуска команд выбирается включением опции Quick execute commands в конфигурации. 10. Функция Memory Info (Alt-F5) предоставляет информацию о загруженных в основную (первые 640 Кбайт) и в верхнюю (блоки UMB) память программах: сегментный адрес PSP, число блоков памяти, принадлежащих программе, размер и перехваченные вектора прерываний. Эта функция позволяет также выгружать резидентные программы, которые были загружены после старта VC. Выгрузить можно несколько резидентных программ сразу в произвольном порядке, пометив их клавишами Ins, Grey +, Grey -. Не могут быть выгружены только те программы, у которых хотя бы один вектор прерывания перехвачен другой резидентной программой, находящейся в памяти. Поэтому программы с одинаковыми перехваченными векторами могут быть выгружены либо одновременно, либо поочередно, начиная с той из них, которая перехватила вектор прерывания последней. При выходе из VC выгружаются все резидентные программы, которые были загружены после VC, это необходимо для корректной работы. 11. Команда File Attributes в меню Files позволяет изменять атрибуты файлов, дату и время их создания. При работе с подкаталогами изменяются атрибуты всех файлов внутри подкаталога, включая все вложенные подкаталоги. 12. VC позволяет подсчитывать размеры подкаталогов со всеми вложенными файлами. Это можно сделать автоматически при каждом пересчете панели с файлами, включив Auto directory sizes в меню Options, или однократно, используя комбинацию клавиш Alt-F6. 13. Функция поиска файлов Alt-F7 позволяет искать файлы по шаблону или по контексту с фильтрацией по шаблону. Если поле Containing не содержит информации, то происходит поиск по шаблону, а если это поле не пустое, то происходит поиск файлов, содержащих указанную строку и удовлетворяющих шаблону. Поиск происходит в указанном каталоге или в текущем, если не указан, и во всех вложенных подкаталогах. Кроме указания конкретного каталога, можно указать конкретный диск. Если вместо имени диска указать *:, то поиск будет производиться на всех несъемных дисках, т. е. на всех разделах винчестера, на виртуальных и сетевых дисках, исключая флоппи диски и CD-ROM. Во время процесса поиска файлов можно перемещать указатель по уже найденным файлам, прервать поиск или перейти на выбранный файл в указанный каталог указанного диска. 14. В панели Info выводится метка текущего диска. Метку можно создать, изменить или удалить командой Volume label в меню Commands или проще нажатием Ctrl-F4. Для удаления метки нужно просто удалить все символы в поле имени метки. 15. Вы можете создавать вложенные меню пользователя. Для этого достаточно вместо команды указать полное имя файла, содержащего подменю. Если путь не указан, то подменю ищется в том же каталоге, откуда был загружен файл вызывающего меню. Расширение .mnu должно быть указано обязательно: F1: Форматирование... format.mnu или C:\VC\format.mnu 16. В файлах расширений и меню можно использовать макрообозначе- ние !@, которое создает файл, содержащий список помеченных файлов и каталогов, а также подставляет путь и имя этого файла в команду вместо !@. Если в меню имеется строка PKZIP -ex ! @!@ то будет создан файл VC.LST и выполнится команда PKZIP -ex filename @C:\VC\vc.lst Файл VC.LST создается в каталоге, который указан в перемен- ной окружения TEMP= или в каталоге запуска VC, если TEMP= не используется. 17. Встроенные просмотрщик и редактор работают в текстовом и в шестнадцатиричном режимах (переключаются клавишей F4). В шестнадцатиричном режиме поиск (F7) позволяет искать фраг- мент текста и последовательность байт в шестнадцатиричном представлении. Например, поиск строки EB,38,A5,6 пытается одновременно найти текст "EB,38,A5,6" и последова- тельность из четырех байт: EB 38 A5 06. Приведенная строка может быть представлена в любом удобном виде: EB, 38, A5, 6 EB38A56 EB38A506 EB 38 A5 6 18. VC позволяет в зависимости от расширения файла запускать определенную команду при нажатии Enter, просмотрщик при нажатии F3 или редактор при нажатии F4. Информация о соответствии команды или последовательности команд расшире- нию хранится в файлах расширений: VC.EXT, VCVIEW.EXT и VCEDIT.EXT соответственно. Формат этих файлов следующий ┌───────────────────────────────┐ │' Комментарий │ │ext: command1 │ │ @ command2 │ │ . . . . . │ └───────────────────────────────┘ Знак ' в первой позиции обозначает, что сторка содержит комментарий. Если в первой позиции любой знак, кроме пробела, табуляции или ', то VC в такой строке пытается распознать расширение. Command1, command2, ... - любые команды DOS. Если перед командой стоит символ @, то подсказка и сама команда не выводятся (как в BATCH-файлах). При использовании 4DOS или NDOS в файл VC.EXT нужно включить строку BTM: ! Эта строка позволит запускать BTM-файлы просто выбором и нажатием Enter. Значения всех последовательностей макроподстановок с исполь- зованием ! выводятся в нижней части экрана при редактирова- нии файлов расширений. Просмотрщики могут запускаться двумя способами: либо аналогично способу, приведенному выше, либо с передачей параметров, включаюя строку "Socha", информацию о цветах, мыши и др., как далают это многие стандартные просмотрщики. Для передачи параметров таким образом строка в файлах VCVIEW.EXT или VCEDIT.EXT должна выглядеть следующим образом: команда должна содержать только полное имя просмотрщика, включая расширение и путь; если путь не указан, то просмотрщик ищется в том же каталоге, откуда был считан файл расширений; команда не должна содержать символов подстановок !; расширению должна соответствовать только одна команда. Таким образом, не смотря на все изложенное, все очень просто. Строки txt: wpview.exe txt: С:\VIEWERS\wpview.exe вызовут просмотрщик как положено, с передачей параметров, причем первая строка будет пытаться загрузить wpview.exe из того же каталога, что и файл VCVIEW.EXT или VCEDIT.EXT. Если просмотрщик там не найден, то используется внутренний. Строки txt: wpview txt: wpview.exe !.! txt: wpview.exe cd \ будут запущены как обычные команды через командную строку. 19. VC поддерживает работу с главными и локальными файлами расширений VC.EXT, VCVIEW.EXT, VCEDIT.EXT и меню VC.MNU. Локальные файлы ищутся в текущем каталоге текущего диска. Если локальный файл не найден, то происходит поиск главного файла расширений или меню. Главный файл находится в каталоге, указанному в переменной окружения VC=..., а если переменная не указана, - то в каталоге, из которого был запущен VC.COM. 20. Редактор позволяет редактировать файлы большой длины, в зависимости от того, сколько памяти свободно. 21. В редакторе имеется функция восстановления после последнего удаления символа, строки или слова (Ctrl-U). 22. Если переместить курсор мыши в левый верхний угол и нажать клавишу, то окна погаснут и будет показан экран DOS. Повторное нажатие включает окна. Эта функция аналогична нажатию Ctrl-O. 23. Ctrl-Z вызывает панель с деревом в соседнем окне. 24. Ctrl-I вставляет в командную строку помеченные файлы, разделенные пробелами. Ctrl-[ и Ctrl-] подставляют пути из левой и правой панелей. 25. VC кооректно поддержавает логические диски, созданные с помощью DRIVER.SYS и устройство B: в системе с одним дисководом. 26. VC успешно работает в многозадачных средах, таких как DesqView, Windows, OS/2 DOS box и не занимает процессорное время в режиме ожидания нажатия клавиши. 27. Код страны, установленный в файле CONFIG.SYS строкой COUNTRY=..., определяет формат представления даты и времени, а также правильность преобразования сточных букв националь- ных алфавитов в заглавные и наоборот при выводе имен файлов и каталогов и при контекстном поиске. 28. Программа VCSETUP позволяет устанавливать множество параметров конфигурации, экрана, мыши, панелей, изменять цвета. 29. Проверить наличие в памяти VC.COM и получить адреса внутренних переменных можно с помощью прерывания INT 21h: INT 21h: Установить регистры: CX = 'VC' (5643h) DX = 'OM' (4F4Dh) AH = 2Bh AL - подфункция: AL = 0 - запрос адреса данных левого окна AL = 1 - запрос адреса данных правого окна AL = 2 - запрос адреса общих переменных Возвращает: AL = 0FFh - если VC.COM не загружен AL = 0 - если VC.COM загружен ES:BX - указатель на требуемые данные 30. Чтобы получить подсказку по F1 на русском языке, нужно файл VCR.HLP переименовать в VC.HLP. ---------------------------------------------------------------- Всеволод В. Волков Киев, Украина Fidonet: 2:463/18.16 Internet: vvv@topaz.kiev.ua Phone: +7(044) 484-2542 Monday through Friday, 7pm-10pm Kiev time (+3 hours GMT) 01.09.95