AMIGA # 1
Было бы гораздо уместнее не переопределять все маршруты,а просто добавить для устройства FONTS: новые маршруты SYS:Rus_Fonts и SYS:Color_Fonts. Для этого существует параметр-переключатель ADD. Теперь наше присвоение (которое можно и даже нужно включить в файл S:Startup-Sequence, чтобы ОС имела возможность найти все потребующиеся ей шрифты) будет выглядеть следующим образом:
ASSIGN FONTS: SYS:RUS_FONTS SYS:COLOR_FONTS ADD В результате к уже имеющемуся маршруту, \"входящему\" в определение устройства FONTS:, добавились еще два. Можно проверить, существует ли в нашей системе какое-либо из логических устройств, и не выводя их полный список. Для этого имеется параметр-переключатель EXISTS. Если исполнить:
ASSIGN DF1: EXISTS то при наличии в вашей системе дополнительного дисковода DF1: будет выведено его имя (без двоеточия), иначе будет выведено:
DF1: not assigned и команда возвратит код ошибки 5, что может быть использовано в командных файлах:
ASSIGN >NIL: DF1: EXISTS
if WARN
echo \"Дисковод DF1: отсутствует!\"
else
echo \"Дисковод DF1: обнаружен.\"
endif Напомним, что \">NIL:\" перенаправляет все сообщения в \"никуда\", поэтому команда ASSIGN сама по себе ничего не напечатает; в данном случае нас интересует только код ошибки, который она возвращает. Иногда бывает полезно произвести связывание логического имени с конкретным маршрутом не в момент исполнения команды ASSIGN, а в момент использования этого маршрута. Поясним на примере. Допустим, в момент старта машины была исполнена команда:
ASSIGN FONTS: DF0:Fonts Теперь устройство FONTS: будет соответствовать каталогу Fonts того диска, который находился в дисководе DF0: на момент исполнения команды ASSIGN, и всегда при обращении к FONTS: система будет требовать, чтобы вы вставили этот диск в DF0: (назовем его диск \"А\"). А что делать, если некоторая программа, находящаяся на другом диске (диск \"Б\") нежели тот, с которого вы стартовали, считает что устройство FONTS: уже имеется и находится на диске \"Б\" в каталоге FONTS? Вот здесь-то и поможет \"отложенное\" связывание логического имени и конкретного маршрута, происходящее не в момент исполнения ASSIGN, а в момент первого использования этого логического имени.
|