PC Magazine/RE logo
©СК Пресс 11/96

Пользователь пользователю

Приемы и способы повышения производительности


Аппаратные средства
Графический анахронизм
Кошмар мультимедиа
Остановиться для скорости
Проблема отсеков
Пурпурный цвет
Принтеры
Как воспользоваться наборами символов принтера
Операционные среды
Как восстановить уничтоженную программную группу
Файл AUTOEXEC.BAT для выполнения командной строки
Блокировка группы запуска в Program Manager
Устойчивое "зависание" на скорости Warp
Перенос файлов шрифтов TrueType
Игнорирование регистра букв при передаче параметров в командный файл
Двойная загрузка OS/2 Warp и Windows 95
Что делать с TMP-файлами Windows
Компьютеры
Задача разбиения жесткого диска
Текстовые процессоры
Вновь о вставке полей данных в WinWord 6
Использование звука с макрокомандами и командами в Word 6
Электронные таблицы
Точность против правильности
Область прокрутки пакета Excel
Устранение ненужной подсказки при работе пакета Excel
СУБД
Функция IsDir для Microsoft Access
Приращение идентификационных номеров в FoxPro for Windows
Графика
Избыток шрифтов TrueType

Аппаратные средства

PC Magazine, November 21, 1995, p. 298

Графический анахронизм

Я наконец-то собрался заменить свою старую надежную вычислительную систему на микропроцессоре 8088 на какую-нибудь модерновую быстродействующую машину.

Однако у меня есть повод для сомнений. Дело в том, что я использую компьютер в основном для анализа инвестиций с помощью программ собственной разработки (это принесло мне неплохую прибыль в течение прошедших лет), и я, естественно, хочу быть уверен, что смогу работать с теми же программами на новой системе. Я писал программы на Си для графического режима с разрешением 640х350 графического адаптера EGA (лучшее из того, что мне в свое время было доступно). Не будет ли моя новая система слишком сложной, чтобы воспринимать мою программу?

Джин Гарретсон, Гарленд, шт. Техас

От редакции

Джи, я буду счастлив ответить на ваш вопрос, если вы пришлете мне копии своих программ. Хотя на самом деле ответ очень простой: у вас не должно возникнуть проблем при работе с вашими программами на новой системе с графическим адаптером Super VGA. Дело в том, что спецификация VGA совместима со всеми предыдущими адаптерами вплоть до CGA (цветной графический адаптер), который появился вместе с первыми IBM PC. Эти старые графические режимы уже практически не используются, кроме как для работы со старыми программами, как в вашем случае. Новый компьютер должен позволить вам анализировать инвестиции быстрее, чем когда-либо раньше.

Алфред Пур

Кошмар мультимедиа

После того как я обзавелся системой 486DX2/66, приобрел графический адаптер VL-Bus одной широко известной компании. Через неделю работы с ним обнаружил, что некоторые программы мультимедиа на CD-ROM работали, мягко говоря, негладко, если вообще работали. Когда я повторно обратился к специалистам в отделе технического сопровождения компании- изготовителя, мне в конце концов предложили купить какой-нибудь другой адаптер у другой компании. Ориентируясь на один из ваших обзоров по графическим платам, я выбрал другой адаптер как затем оказалось лишь для того, чтобы понять, что от проблем с программами мультимедиа он меня не избавил. В этой фирме мне сказали, что мои программы рассчитаны на графическую плату с процессором Tseng ET 4000 и что мне нужно купить адаптер именно с этим процессором. Я не хочу скупать все имеющиеся в продаже графические платы для того, чтобы найти ту, которая работает с моими программами мультимедиа. Все, чего я добиваюсь, - это совместимость и хорошее исполнение. Неужели это действительно несбыточная мечта?
Данни Л. Баррикман, Милвилл, шт. Нью-Джерси

От редакции

Несомненно, что мультимедиа все еще остаетс областью разочарований и путаницы, где нет легких ответов. Похоже, что представители компаний, у которых вы купили те два адаптера, просто выбрали самый простой для себя выход из положения, предложив вам купить какой-нибудь другой адаптер. Но корень зла может быть и не в нем.

Когда цифровая запись видеоклипа воспроизводитс компьютером, изображение может дергаться, а звук отставать от видеоряда или вообще пропадать. При этом причина безобразий может действительно заключаться в характеристиках адаптера, но есть и другие варианты, которые надо учитывать.

Прежде всего может иметь место несоответствие конфигураций. Ситуация, когда два адаптера имеют общий номер прерывания (IRQ), адрес памяти или канал прямого доступа к памяти (DMA), может привести к непредсказуемым, но почти всегда нежелательным последствиям. Если вы сами задаете конфигурацию инсталлируемых компонентов системы, нужно особенно тщательно следить за тем, чтобы не возникал конфликт между какими-либо из них.

Накопители на жеских дисках и CD-ROM тоже могут оказаться существенным узким местом. Программы мультимедиа должны перемещать огромные объемы данных внутри системы, и все, что ограничивает этот поток, может повлиять на качество исполнения. Если, например, на вашем НЖМД стоит 8-разрядный интерфейс, то центральному процессору может недоставать информации; необходим как минимум, 16-разрядный интерфейс, а еще лучше контроллер VL-Bus. По той же причине накопитель CD-ROM должен передавать информацию со скоростью не менее 300 кбит/с (двойная скорость), хотя лучше бы поставить более новую модель с четырехкратной скоростью.

Если вы работаете с прикладными программами дл Windows, вам также надо убедиться, что конфигураци системы обеспечивает наилучшее исполнение. Его качество может сильно снизиться, если дисплей настроен на слишком высокое разрешение или большую глубину цвета. Ваша система должна иметь память не менее 8 Мбайт. На системах с 4 Мбайт программы работают гораздо медленнее.

Все эти факторы могут оказаться гораздо важнее вашего выбора графической платы или процессора в том случае, если вы используете графический адаптер VL-Bus. Тщательно проверьте вашу систему и убедитесь, что в ней больше нет "узких мест", которые ограничивают ее возможности. Если же вы все равно останетесь не удовлетворены ее работой, сходите в ближайший магазин вычислительной техники и прогоните одну из ваших программ на аналогичной системе - возможно, проблема в том, что вы хотите больше, чем может дать система такого класса.

Алфред Пур

PC Magazine, December 19, 1995, p. 270

Остановиться для скорости

Накопитель CD-ROM IDE фирмы Sony и накопитель на жестких дисках IDE в моей системе подключены к одному кабелю - НМЖД как основное устройство, а накопитель CD-ROM как периферийное. Если я не использую режим 32-рязрядного доступа к НМЖД, Windows 3.1 замечательно работает, но организовать обращение к CD в этом режиме мне не удается. Можете ли вы предложить какой-либо выход?
Ариель Баррера, Эдисон, шт. Нью-Джерси

От редакции

32-разрядный доступ к диску в системе Windows 3.1 осуществляется драйвером WDCTRL, который работает с любым накопителем, совместимым со стандартом Western Digital 1003 на жесткие диски. Поскольку все накопители CD-ROM не совместимы с этим стандартом, ни один из них не позволяет работать в режиме 32-разрядного доступа к диску.

Но не стоит отчаиваться; вы можете осуществить и 32-разрядный доступ и использовать ваш CD-ROM. Дл этого необходимо либо заменить имеющийся у вас контроллер на Enhanced IDE, либо установить дополнительный контроллер, совместимый с вашей системой, который создал бы дополнительный канал. Подсоедините ваш накопитель CD-ROM к дополнительному каналу IDE в качестве основного устройства, и он не будет влиять на 32-разрядный доступ к жесткому диску. Эта процедура потребует сравнительно небольших расходов, а жесткий диск снова станет работать так же, как и до установки накопителя CD-ROM. Можно также перейти к среде Windows 95, что позволит использовать 32-разрядный доступ к обоим накопителям.

Алфред Пур

PC Magazine, December 19, 1995, p. 274

Проблема отсеков

Я хочу подсоединить дополнительный накопитель CD-ROM к своей системе, но, несмотря на то что в системном блоке имеется множество свободных отсеков дл накопителей, они наглухо закрыты крышкой корпуса. И как, простите, я должен до них добираться? И зачем вообще производят такие недосягаемые отсеки? Я читал в обзорах, что их количество может достигать девяти.
Джон Е. Эйхерн, Чикаго, шт. Иллинойс

От редакции.

Наличие таких внутренних отсеков обусловлено множеством факторов, не имеющих отношения к решению вашей проблемы. Существуют, однако, по крайней мере три способа избавиться от этой проблемы, затратив не более 100 долл.

Во-первых, можно купить внешний накопитель CD-ROM. Вам не удастся достать внешний накопитель CD-ROM с интерфейсом IDE, но большинство накопителей с интерфейсом SCSI выпускаются как во внешнем, так и во внутреннем варианте. Обычно внешние накопители примерно на 100 долл. дороже, чем внутренние.

Если вы не хотите возиться с внешним накопителем, можно скомбинировать два устройства, занимающие в настоящий момент два доступных отсека. Наиболее вероятными кандидатами являются накопители на гибких магнитных дисках. По цене, не превышающей 100 долл., вы можете найти комбинированный накопитель для 5,25- и 3,5-дюйм дискет, который помещается в 5,25-дюйм отсек половинной высоты. Если же на вашей системе предусмотрено гнездо для PC Card (ранее известной как PCMCIA Card), то вы можете найти комбинированный накопитель для PC Card и 3,25-дюйм дискет, помещающийс в половинный отсек.

Наконец, не забывайте о возможности покупки нового корпуса, хотя это не самое эффективное решение. Типичный корпус башенного типа нормальных габаритов содержит шесть или более отсеков, доступных извне и готовых принять ваши накопители. Даже в комплекте с источником питания мощностью 250 Вт это устройство можно купить существенно дешевле, чем за 100 долл.

Что же касается большого числа недоступных гнезд расширения, должен признаться, что никогда не видел системы, где были бы реально заполнены 9 таких гнезд. Но нетрудно представить себе такую систему. Обычно учитывается число половинных отсеков, но все еще многие пользователи имеют вдвое большие по высоте накопители на жестких дисках. Включите в систему два таких накопителя - и вы уже заняли "четыре" отсека. С другой стороны, многие производители размещают отсеки дл накопителей на 3,5-дюйм жестких дисках там, где не поместился бы 5,2-дюйм накопитель. При этом не слишком увеличивается стоимость системы, зато обеспечиваетс некоторая гибкость конфигурации в случае необходимости.

Алфред Пур

Пурпурный цвет

В моей системе, которой уже два с половиной года, изображение на мониторе стало дрожать, иногда цвет экрана резко переключается с белого на пурпурный и снова на белый. К тому же в программах для DOS в половине случаев пропадает цвет. В отделе технического сопровождения мне предложили заменить кабель, идущий к монитору. Устранение кабеля расширения не привело ни к каким результатам, а поменять кабель я не могу, поскольку один его конец неразъемно подсоединен к монитору. Я не могу понять, в чем причина: в неисправности монитора или графического адаптера. Можете ли вы предложить, как протестировать или исправить мою систему?
Терри Флох, Байрон-Центр, шт. Мичиган

От редакции

Все указывает на наличие дефекта в аппаратуре, и, к счастью, локализовать его нетрудно. Пурпурный оттенок указывает на полную или частичную потерю зеленого сигнала, функционируют только синий и красный. Но трудно связать это с отсутствием цвета в системе DOS, поскольку для создания белого изображения все три сигнала должны проходить одинаково хорошо. Во всяком случае, так как монитору безразлично, работаете вы в Windows или в DOS, а графическому адаптеру - нет, подозреваю, что проблема именно в адаптере.

Самый простой способ найти неисправность - это заменить либо монитор, либо графический адаптер. С монитором это, видимо, проделать проще: вы можете проверить его на системе вашего знакомого или наоборот. Это позволит быстро локализовать проблему.

Если неисправен адаптер, единственный выход - заменить его. Если же не работает монитор, то, может быть, его стоит отремонтировать. Фактически капитальный ремонт может обойтись вам не более чем в 100 долл., и это настолько дешевле нового монитора, что стоит рассмотреть такой вариант, если в остальном вы довольны своим дисплеем.

Алфред Пур


Принтеры

PC Magazine, December 19, 1995, p. 270

Как воспользоваться наборами символов принтера

Я работаю с принтером HP LaserJet 4MP в среде Windows 3.1. В конце руководства к нему приведена таблица наборов символов; я хотел бы воспользоватьс набором T9, PC-Turkish, содержащим символы, которые больше нигде не смог найти. Я связался с представителями Hewlett-Packard, но, как ни странно, они ничего не смогли мне сказать об этом. Можете ли вы что-нибудь посоветовать?
Дэниел Л. Баркетт, Даллас, шт. Техас

От редакции

Лишь немногие имеют представление о том, что их лазерные принтеры содержат десятки удобных символов. Очень немногие программы дают возможность легко воспользоваться этими символами, и неудивительно, что их существование остается тайной.

Эти символы полезны при работе с внутренними (резидентными) шрифтами принтера, хотя некоторые из них пригодны лишь для масштабируемых (а не растровых) шрифтов. Набор символов для текущего шрифта устанавливается командой

<ESC>(id

где <ESC> - это клавиша Esc (ASCII код 27), а id - идентификационный номер набора символов.

Таким образом, для того чтобы использовать символы серии PC-Turkish, нужно послать на принтер команду <ESC>(9T; где 9T - идентификационный номер этого набора. Затем введите ASCII коды тех символов, которые вы хотите напечатать; их можно найти в таблице в руководстве к вашему принтеру. В случае некоторых текстовых редакторов для DOS - таких, как XyWrite, - этого будет достаточно; просто введите эту команду в ваш документ, и все будет нормально работать.

Ситуация, однако, может оказаться сложнее, если вы работаете с программами в среде Windows. Сначала вам нужно выбрать шрифт, резидентный для вашего принтера. В большинстве программ для Windows последние отмечены соответствующим значком в списке шрифтов, в то врем как остальные отмечены знаком TT (True Type). Затем вы должны послать на принтер команду, задающую набор символов. Наконец, надо ввести ASCII код, соответствующий символу, который вы хотите напечатать. В Microsoft Word для Windows управляющие коды можно ввести из поля PRINT, а ASCII коды - из поля SYMBOL. Не забудьте, что перед ASCII кодом нужно набрать '0', иначе он будет интерпретирован как символ ANSI. В пол PRINT и SYMBOL можно войти через меню Insert Field.

Возможно, вам придется покопаться в инструкции к вашей программе, зато вы сможете воспользоваться этими специальными символами.

Алфред Пур


Операционные среды

PC Magazine, December 19, 1995, p. 274

Как восстановить уничтоженную программную группу

Когда я инсталлировал Borland C++ 4.0 в среде Windows 3.1, создалась программная группа, заполненна пиктограммами для запуска программ, включенных в пакет (например, C++, Resource Workshop, WinSight и др.). Однако каким-то образом я умудрился уничтожить эту группу. Существует ли какой-нибудь способ быстро восстановить в ней пиктограмму программы, или я должен создавать их заново, каждую по отдельности?
Джон Коттал, Лафайет, шт. Колорадо

От редакции

Когда вы уничтожаете программную группу, Менеджер Программ стирает файл с расширением GRP, определяющий содержание группового окна. Если вы немедленно осознали ошибочность уничтожения, для восстановления файла GRP можете использовать операцию UNDELETE в режиме DOS или модуля File Manager. Затем в меню модуля File Manager выберите строку New и проверьте блок программной группы. Введите название окна программной группы и им GRP-файла, который вы только что восстановили. Таким образом вы восстановите группу.

Но даже если вы не смогли восстановить файл GRP, надежда все еще остается. Создайте в окне File Manager новое пустое групповое окно с нужным именем. Теперь запустите File Manager, выберите команду Search в меню File и наберите *.EXE в строке Search For. Далее в строке Start From введите название каталога, содержащего файлы утерянной группы и замените режим Check Next на Search All Subdirectories; подтвердите OK и выберите все найденные файлы в окне Search Results. Теперь перенесите этот блок файлов из File Manager в восстановленный вами групповой файл. Это будет хорошим началом восстановления разрушенной группы.

Нейл Рубенкинг

PC Magazine, November 7, 1995, p. 527

Файл AUTOEXEC.BAT для выполнения командной строки

Подобно многим нынешним пользователям ПК, я ввожу в действие систему Windows 3.x, используя в качестве последней строки файла AUTOEXEC.BAT команду WIN. Хот временами приходится выходить из среды Windows дл инсталляции DOS-программы, хотелось бы, чтобы программа запускалась немедленно. Но если при ее работе в файл AUTOEXEC.BAT вносятся изменения, то, чтобы этой программе были доступны переменные и маршруты в новой среде, приходится либо перезапускать систему, либо вызывать AUTOEXEC из командной строки. Последний метод действует, конечно, намного быстрее, и для многих указанных в файле AUTOEXEC.BAT программ (например, MOUSE.COM и SMARTDRV) повторный запуск остается без последствий. При этом выдаются статистические данные или сообщается, что программы уже выполнялись.

Однако в Windows это проходит иначе, так что обычно приходится производить перезагрузку и затем закрывать Windows. Эта операция занимает почти 5 мин и вызывает немалое раздражение. Поэтому я нашел простое решение: достаточно лишь изменить строку WIN, представив ее в виде

IF "%1"==""WIN

Здесь используется то обстоятельство, что DOS выполняет AUTOEXEC.BAT без вводимых при запуске вариантов командных строк или параметров. Но если выполнять AUTOEXEC.BAT по подсказке DOS, то я могу ввести аргумент. Не играет роли даже, каков этот аргумент. В отсутствие аргумента командной строки ответом на тест IF будет оператор TRUE, что вызовет запуск Windows. Если же ввести в командную строку следующую запись

autoexec nowin

то будет выполняться все, что предусмотрено в файле AUTOEXEC.BAT, кроме команды запуска Windows.

Важнее всего, что в нормальном режиме эти операции выполняются совершенно прозрачно. По большей части в них нет никакой необходимости, но приятно сознавать, что они всегда наготове в файле AUTOEXEC.BAT для тех редких случаев, когда действительно понадобитс выполнить AUTOEXEC без запуска Windows.

Скотт Макмаан, по сети Internet

От редакции

На самом деле существует еще более простой способ выполнять ваш файл AUTOEXEC.BAT по-разному в зависимости от того, действует ли он в процессе начальной загрузки или после него. При запуске командного файла из командной строки система DOS вводит имя этого командного файла в параметр %0. Когда же AUTOEXEC.BAT выполняется в ходе начальной загрузки, этот параметр оказывается пустым. Таким образом, если в вашем файле AUTOEXEC.BAT содержатся команды, которые должны действовать только в процессе начальной загрузки, то можно просто предварять их следующим выражением

IF '%0'=='' Если у вас целая группа команд, которые должны выполняться только в ходе начальной загрузки, то можно ввести эту строку перед ними: IF NOT '%'=='' GOTO NotStartup

После последней команды группы надо ввести метку NotStartup:. Конечно, если необходимо иметь более одной группы таких команд, то придется воспользоватьс отдельной меткой для каждой из них, скажем NotStartup1, NotStartup2 и т.д.

Нил Дж. Рубенкинг

Блокировка группы запуска в Program Manager

Все ПК нашего учреждения я настроил в расчете на реализацию нескольких конфигураций. Пользователи могут производить начальную загрузку своих ПК для работы в качестве рабочих станций ЛВС либо автономных ПК. При загрузке ПК в качестве рабочей станции происходит запуск ряда программ, которые в автономном режиме не нужны. Необходим был способ, препятствующий выполнению этих программ из группы запуска (StartUp group), но не требующий, чтобы пользователь во время запуска держал нажатой клавишу Shift.

Первой мыслью было попытаться воспользоватьс приемом, о котором я уже слышал: ввести в файле PROGMAN.INI команду StartUp=dummygrp. Но, так как мне было лень создавать пустую группу без всякого содержания, я просто решил попробовать обратитьс сначала к команде StartUp=. И это подействовало! Затем вместо копирования и перекопирования файлов для замены файла STARTUP.GRP я составил программу на языке Microsoft Visual Basic для слияния двух текстовых файлов. Беру типовой файл PROGMAN.INI, и если ПК должен действовать в качестве автономной машины, то я просто вставляю команду StartUp= и другие установочные параметры, не относящиеся к работе в ЛВС.

Оуэн Миани, Эдмонтон, пров. Альберта, Канада

От редакции

Группа запуска StartUp является в системе Windows 3.1 эквивалентом файла AUTOEXEC.BAT. Обработка этой группы, входящей в состав Program Manager, осуществляется при начальной загрузке Windows, и запуск отмеченных в группе StartUp программ происходит автоматически. Если вы хотите, чтобы определенна утилита загружалась при каждом запуске Windows, ее следует ввести в группу запуска. Можно даже контролировать порядок загрузки ваших утилит, размеща соответствующим образом их пиктограммы. Первой будет загружаться пиктограмма в верхнем левом углу, а остальные будут следовать в направлении слева направо и сверху вниз.

В версиях Windows на английском языке группа запуска по умолчанию называется просто StartUp, но с помощью редактирования файла PROGMAN.INI вы можете выбрать и другое имя группы. Например, если ввести в секции [Settings] файла PROGMAN.INI строку StartUp=Alternate, то при следующем запуске Windows автоматически загрузятся программы из группы под именем Alternate.

Можно заблокировать загрузку программ из группы запуска независимо от имени группы, удерживая во врем процесса начальной загрузки нажатой клавишу Shift. Однако это может оказаться утомительным и вряд ли стоит надеяться, что кто-то другой вас тут заменит. Как здесь и предложено, задача эта решается, если в файле PROGMAN.INI присвоить параметру StartUp пустое значение, а чтобы осуществить такое изменение из командного файла, загружающего Windows, можно воспользоваться утилитой наподобие INI.EXE (котора распространяется в среде PC MagNet). Вам надо будет использовать следующие команды:

INI PROGMAN.INI Settings StartUp"" INI PROGMAN.INI Settings StartUp nul

соответственно для ввода и удаления строки StartUp в файле PROGMAN.INI с помощью утилиты INI.EXE.

Нил Дж. Рубенкинг

PC Magazine, November 7, 1995, p. 537

Устойчивое "зависание" на скорости Warp

У меня типовая для процессора Pentium/90 система с локальной PCI-шиной, оснащенная 16-Мбайт ОЗУ, 850-Мбайт накопителем фирмы Western Digital с IDE-интерфейсом и 2-Мбайт видеоадаптером S3 с локальной PCI-шиной. После того как я модернизировал свою систему в расчете на операционную систему OS/2 Warp, она стала непредсказуемо зависать. Это устойчивое зависание, при котором для приведения системы в рабочее состояние требуется произвести выключение и включение питания. Представители службы технического обслуживания фирмы IBM утверждают, что это аппаратный дефект, но ведь машина прекрасно работала с системой OS/2 версии 2.11 месяцами. Может ли это действительно быть связано с аппаратурной частью или с ошибкой в системе Warp?
Брюс Паттон, Нью-Йорк, шт. Нью-Йорк

От редакции

Для достижения максимальной производительности фирма IBM ввела в систему OS/2 Warp новый код, позволяющий реализовать возможности шины PCI в соответствии со спецификацией PCI 2.0. К сожалению, компоненты некоторых систем малоизвестных изготовителей не вполне соответствуют этой спецификации. В операционных системах, подобных OS/2 2.11, Windows 3.11 и Windows 95, не в полной мере используются функциональные возможности локальной шины PCI, и поэтому они могут прекрасно работать в компьютерах с неполностью выдержанными параметрами, тогда как при работе Warp возможны проблемы. Это можно было бы отнести к недостаткам системы Warp, но у нее есть и достоинства: если уж вы располагаете системой, удовлетворяющей требованиям, то Warp обеспечит более полную реализацию своих возможностей по сравнению с другими платформами и в большей степени оправдает ваши затраты при покупке компьютера.

Вы можете загрузить по каналу связи файл PCIDIA.ZIP форума Utility/Tips Forum, принадлежащего PC MagNet. Файл содержит общедоступную программу, котора производит опрос PCI-шины и выдает сообщение о результатах. До выхода спецификации PCI версии 2.0 одно из полей по определению содержало нули. Однако, начина со спецификации PCI 2.0, в этом поле должен находитьс код класса PCI-устройства. Следовательно, если в какой-либо части вашей системы отсутствует код класса, то вы вправе предположить, что она не соответствует спецификации. При этом вовсе не обязательно, что система Warp не будет работать, так как фирма IBM ввела в систему код, позволяющий обойти рассматриваемую проблему для некоторых распространенных PCI-устройств, но это указывает на сомнительный участок.

Хорошее средство для тех, кто интересуетс PCI-системами или компонентами, предоставляет файл PCI.ZIP, который можно найти в каталоге /os2/info FTP-сервера hobbes.nmsu.edu. Файл содержит подробные документы, в которых рассматриваются известные вопросы совместимости с OS/2 или проблемы, относящиеся к конкретным системным платам с PCI-шиной, наборам микросхем, адаптерам дисплеев, SCSI- и IDE-адаптерам, а также общие вопросы, касающиеся локальной шины PCI.

Стоит обратить внимание на еще одну возможность. В системах высокого класса, действующих на предельной скорости, в программе инсталляции Warp может возникнуть ошибка, в результате чего не будет обеспечена нужна конфигурация. Это может повлечь за собой ряд симптомов, подобных вашему устойчивому зависанию, проявляющихс спустя несколько дней или даже недель. Перед инсталляцией (либо повторной инсталляцией) следует обратиться к CMOS-памяти вашей системы и заблокировать внешний кэш и перенос в оперативную память встроенных подсистем (как BIOS, так и в видеосистемы), а также перевести систему в режим минимальной скорости (в вашем случае это, вероятно, 45 МГц). Видеосистему установите в режим простого VGA. После инсталляции можно восстановить в CMOS-памяти все скоростные параметры и с помощью системного объекта OS/2 выбрать желаемое разрешение экрана.

Брайан Проффит

PC Magazine, October 24, 1995, p. 287

Перенос файлов шрифтов TrueType

Для перемещения шрифтов TrueType в другой каталог на диске требуется приложить некоторые усилия, потому что в среде Windows для обслуживания каждого шрифта применяются файлы двух типов: TTF- (собственно шрифты) и FOT-файлы, которые содержат сведения о том, где размещены соответствующие TTF-файлы. Непосредственно изменять информацию в FOT-файле нельзя, поэтому придется проделать некоторую достаточно нудную работу. Вот в чем она состоит.

Скопируйте все TTF-файлы из \WINDOWS\SYSTEM в новый каталог.

С помощью утилиты Control Panel's Fonts (Шрифты из Панели управления) удалите все свои шрифты TrueType. Для этого выделите названия шрифтов TrueType и нажмите кнопку Убрать. Но не устанавливайте флажок Delete Font File From Disk (Удалить файл шрифта с диска) - оставьте TTF-файлы в каталоге \WINDOWS\SYSTEM до тех пор, пока не будете абсолютно уверены, что все работает правильно. И постарайтесь не удалять шрифты, не относящиеся к семейству TrueType.

Теперь удалите все FOT-файлы, оставшиеся в каталоге \WINDOWS\SYSTEM. При добавлении нового шрифта утилита Панель управления создает необходимый FOT-файл в каталоге \WINDOWS\SYSTEM, используя ту же основу имени, что и у соответствующего TTF-файла. Если, однако, FOT-файл с таким именем уже существует (например, из-за неудачной попытки установки программы), Панель управления создаст новый FOT-файл, изменив основу его имени, поэтому, в конце концов, вы получите два (или более) FOT-файла с похожими именами, из которых в действительности будет использоваться только один.

При удалении (деинсталляции) шрифта TrueType Панель управления автоматически стирает FOT-файл, но только ту из его копий, которая используется в действительности. Поэтому если после удаления всех TrueType шрифтов в каталоге \WINDOWS\SYSTEM у вас остались какие-то FOT-файлы, они просто бесполезно занимают место на диске. Действительно, если в этом каталоге будут найдены какие-то FOT-файлы, которые не указаны особо в разделе [Fonts] файла WIN.INI, их удаление абсолютно безопасно.

Вернитесь к утилите Шрифты из Панели управления, щелкните по кнопке Add (Добавить) и выберите новый каталог, где размещены файлы шрифтов, в окне со списком каталогов. Верхнее окно должен заполнить список всех только что удаленных вами шрифтов. Щелкните по кнопке Select All (Выбрать все), сбросьте флажок Copy Fonts to Windows Directory (Копировать шрифты в каталог Windows) и щелкните по кнопке OK. При этом будут созданы новые FOT-файлы, указывающие на новый каталог со шрифтами. Однако перенос FOT-файлов необходимо осуществить вручную.

Скопируйте все FOT-файлы из каталога \WINDOWS\SYSTEM в новый каталог со шрифтами.

Откройте файл WIN.INI (например, с помощью утилиты NotePad (Блокнот)) и найдите раздел [Fonts]. Кажда строка в этом разделе имеет следующий вид:

Английское имя шрифта=имя_файла.fot Фрагмент текста справа от знака равенства необходимо отредактировать, чтобы указать полный маршрут доступа к FOT-файлам, например: Английское имя шрифта=d:\WINDOWS\FONTS\имя_файла.fot

Заметьте, что это следует делать только для файлов с расширением FOT, а среди них только для тех, которые вы действительно скопировали в новый каталог шрифтов. Сделав это, перезапустите Windows, чтобы изменени начали действовать.

Теперь проверьте, что получилось: откройте окно утилиты Шрифты снова и указывайте на каждый из шрифтов, чтобы увидеть его в окне Sample (Образец). Если вы случайно не скопировали TTF-файл, это, как правило, довольно очевидно, поскольку Панель управлени показывает по умолчанию шрифт Arial, если нужный файл отсутствует в каталоге, указанном в FOT-файле.

После завершения проверки можно удалить как TTF-, так и вновь созданные FOT-файлы из каталога \WINDOWS\SYSTEM. Правда, разумно все же проверить дважды, пока эти файлы существуют в обоих каталогах. Обратите особое внимание на TTF-файлы - Панель управления всегда может воссоздать FOT-файлы, но, потеряв однажды TTF-файл, вы потеряете этот шрифт навсегда.

Вам требуется повторять последнюю часть процедуры (перенос FOT-файлов) при установке каждого нового шрифта TrueType на вашу машину. Как отмечалось выше, можно предотвратить перенос шрифтов TrueType Панелью управления из каталога назначения, сбросив флажок Копировать Шрифты в Каталог Windows при его установке, но нет способа запретить Панели управления создавать FOT-файлы в каталоге \WINDOWS\SYSTEM. Вам непременно придется переносить FOT-файлы вручную и редактировать файл WIN.INI, чтобы отразить его новое расположение.

Грегори А. Уолкинг, Орландо, шт. Флорида

От редакции

Мне практически нечего добавить к столь полному описанию процесса, необходимого для перемещения файлов шрифтов TrueType, за исключением нескольких приемов, облегчающих различные его этапы. Для копирования TTF- и FOT-файлов из системного каталога в новое место перейдите в каталог SYSTEM с помощью модуля File Manager (Диспетчер файлов) и пометьте в меню View (Просмотр) пункт Sort by Type (Сортировка по типу). Список файлов будет упорядочен по расширениям файлов. Установите курсор мыши на первый файл с нужным расширением, щелкните клавишей мыши и, удержива нажатой клавишу Shift, переведите курсор мыши на последний файл. Тем самым будут выделены все файлы с выбранным расширением. Удерживая нажатой клавишу Ctrl, "перетащите" отмеченные файлы к новому месту назначения. По умолчанию при "перетаскивании" файлов из каталога в каталог на одном диске Диспетчер файлов переносит их. Нажатая клавиша Ctrl сигнализирует ему, что вместо переноса файлы нужно копировать.

Если в вашей системе установлено множество шрифтов, выбор лишь шрифтов TrueType в утилите Шрифты Панели управления может быть затруднителен. Щелкните по списку шрифтов и воспользуйтесь клавишной комбинацией Shift-F8 для перехода в режим, который Microsoft называет режимом Add (Расширения). Теперь нажимайте кнопки со стрелками вверх и вниз - вместо перемещения выделени они перемещают полый прямоугольник выбора. Нажатие клавиши пробела включает и отключает выделение текущего элемента. Теперь лишь пройдитесь с помощью клавиш со стрелками по списку и клавишей пробела выберите каждый TrueType-шрифт. Этот же метод можно применять почти в любом составном окне списков в Windows-программах.

Для внесения необходимых изменений в маршрут доступа к FOT-файлам в файле WIN.INI загрузите последний в редактор Write, а не в утилиту NotePad. Когда программа спросит у вас, нужно ли его преобразовывать в формат Write, ответьте No Conversion (Не преобразовывать). Найдите раздел [Fonts] и в нем шрифты TrueType - все они должны быть сгруппированы в конце этого раздела. Если это не так, посредством операций вырезки и вставки переместите их строки так, чтобы они составляли непрерывную группу, содержащую только шрифты TrueType. Выделите все строки с ними и выберите пункт Replace (Замена) из меню Find (Поиск). В строку Найти занесите знак равенства с последующим именем каталога с FOT-файлами, например =C:\WINDOWS\SYSTEM\. Если имени каталога нет, в эту строку занесите только знак равенства. В строку Replace With (Заменить на) поместите знак равенства, за которым укажите маршрут доступа к новому каталогу, например =C:\WINDOWS\TRUETYPE\. Нажмите кнопку Replace Selection (Заменить выбор), затем кнопку Close (Закрыть) и сохраните файл.

Системный каталог Windows - хранилище сотен DLL-, VBX-, DRV- и других системных файлов, используемых сообща многими программами. Очистка этого каталога от шрифтов TrueType облегчит слежение за другими файлами, которые нельзя перемещать, а также упростит обслуживание шрифтов.

Нил Дж. Рубенкинг

PC Magazine, October 24, 1995, p. 287

Игнорирование регистра букв при передаче параметров в командный файл

В текущих версиях DOS после выполнения утилиты FIND.EXE переменной среды ERRORLEVEL присваиваетс значение, зависящее от итогов поиска текста. Я установил, что эту особенность можно использовать дл решения проблемы идентификации параметров, набранных прописными, строчными или и теми и другими буквами. Я создал командный файл (лист. 1), который иллюстрирует этот метод.
Уильям А. Мюллер, Дедхэм, шт. Массачусетс

Лист. 1. Командный файл PARAMS.BAT демонстрирует, как с помощью команды FIND можно проверить параметры командного файла, не учитывая регистр букв. @ECHO OFF ECHO Этот командный файл демонстрирует метод сравнения параметров ECHO с конкретной строкой без различения регистра букв. ECHO. ECHO НЕ вводите никаких параметров для проверки команды FIND или ECHO введите строку, начинающуюся с "/T" или "/t" или ECHO введите строку "/RUN" с любым сочетанием прописных и строчных букв ECHO. IF NOT '%1'=='' GOTO GotParam ECHO Проверяю вашу версию команды FIND: ECHO. ECHO /T|find /i "/t">NUL IF ERRORLEVEL 1 GOTO Fail ECHO /T|find /i "/r">NUL IF NOT ERRORLEVEL 1 GOTO Fail ECHO FIND работает правильно. ECHO. GOTO End :GotParam :: Переход сюда происходит, если %1 начинается с /T или /t, т. е. :: /TEST, /test, /testit! и т. д. :: Заметьте, что символ крышечки (^) добавлен перед %1 и перед /t ECHO ^%1|find /i "^/t">NUL IF NOT ERRORLEVEL 1 GOTO test :: Переход сюда происходит, если %1 содержит /run в любом регистре, т. е. :: /RUN, /Run, /run и т. д. :: Заметьте, что символы крышечки (^) окружают %1 и /run ECHO ^%1^|find /i "^/run^">NUL IF NOT ERRORLEVEL 1 GOTO run ECHO Параметр не содержит "/run" и не начинается с "/t" GOTO End :run ECHO Вы ввели "/run" GOTO End :test ECHO Вы ввели "/t" GOTO End :Fail ECHO FIND не присвоила ERRORLEVEL правильное значение. VER :End

От редакции

Этот отличный метод основывается на двух особенностях, которые появились у программы FIND.EXE в последних версиях DOS. Первая заключается в том, что ключ /i приказывает FIND осуществлять поиск указанной строки, невзирая на регистр букв. Так, при поиске строки magazine (журнал) будут найдены MAGAZINE, Magazine и mAgAzInE и т. д. Вторая особенность состоит в том, что самые последние версии утилиты FIND присваивают переменной среды DOS ERRORLEVEL ненулевое значение, если искомая строка не найдена. Я добавил код проверки в примерный командный файл, чтобы вы могли дважды проверить, обладает ли ваша системная утилита FIND.EXE этими обеими особенностями. Для проверки своей версии команды FIND запустите PARAMS.BAT без параметров.

Этот командный файл можно загрузить из раздела Utilities/Tips Forum сети PC MagNet.

Нил Дж. Рубенкинг

PC Magazine, October 24, 1995, p. 298

Двойная загрузка OS/2 Warp и Windows 95

Я до сих пор не могу найти ответа на один вопрос, касающийся соперничества между OS/2 Warp и Windows 95; могу ли я использовать возможность двойной загрузки (OS/2 Warp или Windows 95) для переключения между ними? Существует лишь один верный способ сделать обоснованный выбор между системами - сравнить их на практике.

Могу ли я установить на своем компьютере OS/2 Warp с возможностью двойной загрузки в преддверии появлени Windows 95, с тем чтобы впоследствии мне не пришлось вновь разбивать жесткий диск на разделы? Каким образом могу я это сделать?

Джоэл Д. Кларк, по сети Internet

От редакции

Вложения в большой жесткий диск действительно окупают себя в ситуациях, подобных этой. Если вы располагаете достаточным пространством на диске, то можете непосредственно сравнивать две упомянутые выше платформы на собственном опыте. Вы правильно определили последовательность действий: первой следует инсталлировать OS/2 Warp. Сделав это, оставьте свободным раздел, который будете использовать дл Windows 95.

Во время установки OS/2 Warp вам задается вопрос, в каком разделе вы хотите разместить операционную систему. Если вы ответите, что хотите поменять диск, то вызывается утилита FDISK, которая позволяет создать раздел Boot Manager (Диспетчер начальной загрузки). Если OS/2 Warp у вас уже установлена, то вы можете воспользоваться утилитой FDISKPM, чтобы создать раздел Диспетчера начальной загрузки и сделать его стартовым. Стартовым разделом называется тот, которому передаетс управление сразу после первого включения компьютера.

Я предпочитаю держать программы и данные отдельно от операционной системы, поэтому я отвел дополнительный раздел HPFS для прикладных программ, выполняющихс только в среде OS/2, и еще один раздел FAT дл программ, которые я могу выполнять как в OS/2, так и в Windows 95. Заметьте, что OS/2 Warp достаточно универсальна и "не возражает" против инсталляции на логическом диске E:.

Когда вы установите Windows 95, она заблокирует Диспетчер начальной загрузки. Это необходимо, чтобы программа инсталляции могла быть уверена, что управление будет передано именно ей, когда потребуетс перезапустить вашу систему и завершить процесс инсталляции. Когда Windows 95 будет установлена, щелкните на пункте Start/Run (Выполнить) и введите с клавиатуры команду FDISK. Чтобы создать активный раздел, из меню FDISK выберите пункт 2.

2-Мбайт раздел, показанный внизу - это Диспетчер начальной загрузки. (Помните, что логические диски D:, E:, и F: скрыты внутри расширенного раздела.) Введите номер раздела, соответствующий Диспетчеру начальной загрузки, и символ A под заголовком Status переместитс к этому разделу. Теперь нажмите на клавишу Esc, сохраните сделанные вами изменения и затем перезагрузитесь. Диспетчер начальной загрузки получит управление и позволит вам выбрать между Windows 95 и OS/2 Warp.

Предостережение: если на вашем компьютере уже установлена Windows 3.11 и вы используете версию OS/2 Warp с красной этикеткой на коробке, то данная верси OS/2 Warp при выполнении прикладных программ Windows полагается на Windows 3.11. Если вы установите модернизированную версию Windows 95 "поверх" Windows 3.11, то лишитесь возможности выполнять прикладные программы Windows в среде OS/2 Warp. Используйте либо версии Fullpak и Connect ОС Warp, либо установите полную версию Windows 95 в отдельном разделе.

Брайан Проффит

PC Magazine, October 24, 1995, p. 304

Что делать с TMP-файлами Windows

Меня сбивают с толку TMP-файлы Windows 3.1. Когда выполнил поиск с использованием маски *.TMP, Диспетчер файлов обнаружил более 70 таких файлов на моем диске. Глядя на их имена, я могу определить, какая прикладна программа создала их, и если я переименую один из этих файлов так, чтобы его имя было узнано создавшей его прикладной программой, то эта программа может открыть переименованный файл как будто это нормальный файл. Например, я переименовал ~PM53424.TMP в DUMB.PM5, и Aldus PageMaker 5.0 легко открыл этот файл.

Если, оставив поисковое окно в Диспетчере файлов открытым, я переключаюсь в Диспетчер программ, затем открываю PageMaker 5.0 и возвращаюсь в Диспетчер файлов, то он извещает меня о том, что содержимое диска изменилось. Проведя новый поиск, я обнаружил, что был создан файл ~PM5XXXX.TMP. Когда я вышел из PageMaker, этот файл был автоматически удален.

Команда Microsoft Undelete, как правило, распознает TMP-файлы, которые были удалены, и в некоторых случаях дает возможность восстановить их. Все это очень странно, и мне бы хотелось знать, для чего нужны TMP-файлы и могу ли я удалять их.

Карло М. Котрерас, по сети Internet

От редакции

Правило номер один: во время работы Windows оставьте TMP-файлы в покое! Разные прикладные программы создают TMP-файлы для разных целей, но никогда не следует открывать, изменять или удалять TMP-файл, пока создавшая его программа продолжает работу. Когда TMP файл становится ненужным программе, она должна автоматически удалить его. И разумеется, когда вы завершаете программу, она должна удалить все использовавшиеся ею TMP-файлы.

Правило номер два: когда Windows не работает, удаляйте все обнаруживаемые вами TMP-файлы. Когда программа завершает свою работу, она должна удалить все созданные ею TMP-файлы, но, если программа завершаетс ненормально или другая программа вызывает крах системы, TMP-файлы могут остаться на диске. Если вы их обнаружите после выхода из Windows, вы можете спокойно удалить их, так как они лишь занимают ценное дисковое пространство. Единственно, когда, возможно, не стоит спешить, - это непосредственно после фатального сбо системы, в результате которого были уничтожены файлы, над которыми вы работали. В этом случае немедленно просмотрите содержимое TMP-файлов и переименуйте те из них, в которых содержится информация из уничтоженных файлов. Затем удалите все остальные.

Нил Дж. Рубенкинг


Компьютеры

PC Magazine, November 7, 1995, p. 532

Задача разбиения жесткого диска

Специальный драйвер для моего нового 1-Гбайт жесткого диска создает трудности при работе с некоторыми программами, в том числе с Windows. Я вообще не могу запустить их. В конце концов накопитель удалось наладить, но все же приходится сталкиваться со спорадическими отказами при разбиении, которые пока устраняются с помощью утилиты Norton Disk Doctor. У меня предусмотрено два первичных логических DOS-раздела - C: и D:, а также расширенные логические разделы для накопителей E:, F: и G:. Следует ли мне изменить произведенные разбиения, и нет ли способа выполнить эту задачу без повторного восстановления всех накопителей?
Дицер Шонеманн, по сети ZD

От редакции

Суть здесь в том, что вам, несомненно, придетс произвести повторное разбиение жесткого диска и нет простого способа избежать восстановления данных.

Меня несколько удивило, что вам удалось создать более одного первичного логического DOS-раздела на жестком диске. Согласно документации фирмы Microsoft, вы можете создать лишь один первичный логический DOS-раздел и один расширенный логический DOS-раздел на каждом физическом диске. (Если у вас два диска, то вы можете иметь на каждом из них по одному первичному и одному расширенному DOS-разделу, хотя известны случаи, когда возникновения трудностей при инсталляциях, когда активный первичный DOS-раздел находится на втором накопителе.)

Для беглого просмотра структуры диска надо по подсказке DOS набрать текст FDISK/STATUS. В ответ будут перечислены диски и их логические устройства и размеры. Чтобы просмотреть логические разделы накопителя, необходимо запустить программу FDISK и затем в пункте "Display partition information" (отобразить сведения о логических разбиениях) выбрать 4. Если логические дисковые DOS-устройства отведены расширяемому логическому DOS-разделу, то программа FDISK предоставит возможность воспроизвести по выбору и эту информацию.

Для организации вашего большого жесткого диска лучше всего создать первичный логический DOS-раздел с приемлемым размером кластеров. Для большинства пользователей приемлемым компромиссом для логических разделов до 255 Мбайт будет размер кластеров 4 Кбайт, поэтому я рекомендовал бы использовать в качестве первичного логического DOS-раздела четверть вашего 1-Гбайт накопителя, т.е. 250 Мбайт. Затем я бы создал расширенный логический DOS-раздел на оставшихся 750 Мбайт и разбил его на три логических DOS-диска по 250 Мбайт на каждом.

Алфред Пур


Текстовые процессоры

PC Magazine, October 24, 1995, p. 304

Вновь о вставке полей данных в WinWord 6

В разделе Solutions (PC Magazine, June 13, 1995, p. 304) Деннис Дж. Варно отметил, что если вы выбрали кнопку Insert Merge Field (Поле данных вставить) в инструментальной линейке Mail Merge (Циркулярное письмо), а число полей слишком велико, чтобы разместить их на экране, то вам не удастся прокрутить список, чтобы найти поле. Был предложен другой способ вставки полей данных для слияния, но существует и более простое решение: нажатие комбинации клавиш Alt-Shift-F дает вам прокручиваемый список полей данных, которые вы можете вставить в свой документ.
Эдвард Брус, Фалмаут, шт. Массачусетс

От редакции

Спасибо за напоминание об этой команде. Когда вы находитесь в документе, подготовленном с использованием функции Merge, комбинация клавиш Alt-Shift-F вызывает на экран диалоговое окно Insert Merge Field (Поле данных вставить), в которое входят прокручиваемые списки обоих полей, предназначенных для слияния, и имена полей Merge Fields, содержащих данные.

Однако действительно ли этот подход удобнее предложенного мною - дело личного вкуса. На мой взгляд, проще указать поле, набрав его имя на клавиатуре, чем вызывать и прокручивать список. Мне также представляется, что имена полей запомнить легче, чем произвольные команды, такие, как Alt-Shift-F. Я вполне допускаю, что F может означать Field (поле), но никогда не мог запомнить, соответствует ли некоторой определенной команде комбинация клавиш Alt-Shift-F, Alt-Ctrl-F или Ctrl-Shift-F, если только я не установил абсолютно неизменную последовательность нажатия клавиш Alt, Ctrl и Shift. Например, производя настройку WinWord для своих собственных нужд, я зарезервировал комбинацию Alt-Shift для стилей.

Я утверждаю, что Alt-Shift-F - одна из трудно запоминаемых команд WinWord именно по той причине, что она доступна только в виде комбинации клавиш. Вы можете сделать ее более полезной, изменив комбинацию клавиш, добавив альтернативную комбинацию или поместив команду в меню.

Вам нужно будет также выполнить настройку команды InsertMergeField, которую вы можете найти в категории All Commands (Все команды) диалогового окна Customize (Настроить). Чтобы добавить эту команду в меню, выберите последовательно пункты Tools (Инструменты), Customize и затем Menus (Меню). Следующим шагом выберите пункт All Commands в окне списка категорий и пункт InsertMergeField в окне списка Commands (Команды). По умолчанию WinWord укажет меню Tools в текстовом поле Change What Menu (Какое меню изменить), (Auto) в текстовом поле Position on Menu (Положение в меню) и имя &Merge Field в текстовом поле Name on Menu (Имя в меню).

Заметьте, что символ & указывает букву, котора станет ключом запуска команды меню, - в данном случае букву M. Так как в команде Tools|Macros использована буква M, требуется изменить ключ запуска для Merge Field таким образом, чтобы не приходилось выбирать между Merge Field и Macros при использовании комбинаций клавиш для вызова команд меню. Я бы рекомендовал заменить этот элемент на Merge &Field, так как название ни одного из пунктов меню Tools не начинается на букву F.

Если вы принимаете другие параметры, устанавливаемые по умолчанию, и выбираете пункт Add (Добавить), то WinWord добавит команду к меню Tools сразу вслед за командой Mail Merge. Буква F будет подчеркнута, что говорит о том, что она служит ключом запуска (если вы сохраните параметры по умолчанию, то подчеркнутой окажется буква M). В качестве полезного напоминания вы также увидите на экране текущее распределение быстрых клавиш.

Чтобы заменить комбинацию клавиш или добавить альтернативную комбинацию, выберите пункты Tools, Customize, затем метку Keyboard. Здесь вам также нужно будет выбрать пункт All Commands в окне списка категорий и пункт InsertMergeField в окне списка Commands. Предполагая, что специальная комбинаци клавиш еще не задана, WinWord покажет вам комбинацию Alt-Shift-F как единственный элемент окна списка Current Keys (Текущие клавиши). Если вы хотите удалить этот пункт, выделите его и выберите пункт Remove (Удалить).

Чтобы добавить новую комбинацию клавиш, перейдите к текстовому полю Press New Shortcut Key (нажмите новую "быструю" клавишу) и введите новую комбинацию, которой вы собираетесь пользоваться. Я бы предложил комбинацию двух клавиш с использованием каких-либо вариаций MF, обозначающих Merge Field. Если, например, вы предполагаете сохранить клавиши Alt-Shift дл обозначения команд слияния почты, то можете воспользоваться комбинацией Alt-Shift-M,F. (По умолчанию комбинация Alt-Shift-M назначена команде MailMergeToPrinter - вывод циркулярных писем на печать, но если вы предпочитаете мнемонические комбинации клавиш, то вам нужно будет изменить и ее - возможно, на Alt-Shift-M, F.)

Не забудьте нажать кнопку Assign (Назначить), прежде чем закрыть диалоговое окно, ибо иначе WinWord не выполнит назначения клавиш. И не забудьте выбрать пункт File|Save All (Файл|Сохранить все) перед завершением, чтобы сделанные изменения были сохранены на диске.

Вы, видимо, обратите внимание, что я не предлагал добавлять новую команду к инструментальной линейке. Это объясняется тем, что, если вы добавите команду к инструментальной линейке, она будет установлена как еще одна кнопка Insert Merge Field. Вместо того чтобы открыть диалоговое окно Insert Merge Field, эта нова кнопка будет открывать все тот же непрокручиваемый список полей слияния, что и первая кнопка Insert Merge Field. А это именно та проблема, которую мы пытаемс преодолеть.

М. Дэвид Стоун

PC Magazine, December 5, 1995, p. 448

Использование звука с макрокомандами и командами в Word 6

Если вы приобрели звуковую плату или установили драйвер громкоговорителя ПК для Windows 3.1, Word позволит без труда встроить звуковые фрагменты с помощью технологии OLE. Но наиболее полезна возможность - это добавление звукового сопровождения к командам и макрокомандам.

Для воспроизведения звука с помощью макрокоманды необходимо добавить только две команды. Первая, предшествующая предложению Sub MAIN, - выражение:

Declare Function sndPlaySound Lib "mmsystem.dll" (lpszsoundname$, wflags As Integer) As Integer Вторая команда, с помощью которой, собственно, и воспроизводится звук, выглядит так: x = sndPlaySound(<ДИСК:Маршрут\Файл>, wflags) Эта строка расположена в том месте макрокоманды, где вы хотите воспроизвести звук. Например, если вы открываете окно диалога, можно воспроизвести WAV-файл непосредственно перед открытием или сразу после его закрытия. Либо воспроизводить WAV-файл после выполнени какой-либо операции в макрокоманде как сообщение о ходе процесса.

Те же два выражения можно применять для звукового оформления встроенных команд, создавая макрокоманду с тем же именем, что и у команды. Сначала найдите команду через меню "Сервис/Макрокоманды", настройте поле ввода "Макрокоманды, доступные в": на строку команды Word, а затем прокрутите список команд, чтобы выделить нужную. Затем введите название команды в ячейку "Им макрокоманды", сбросьте значение поля "Макрокоманды, доступные в:" на "Все активные шаблоны" и нажмите на кнопку "Создать". Word откроет окно редактировани макрокоманды, которое обычно состоит из предложений Sub MAIN и End Sub и команды Word. Например, для команды FileSave макрокоманда будет выглядеть так:

Sub MAIN FileSave End Sub

Отредактируйте эту макрокоманду, добавив два приведенных выше предложения, и сохраните ее. До тех пор пока вы не удалите данную макрокоманду, Word будет заменять ею встроенную команду с тем же именем при любом обращении к команде.

Маршел Д. Рей, Уиллкилл, шт. Нью-Йорк.

От редакции

Такой способ воспроизведения звука в Word 6.x работает не только в Windows 3.1, а также и в Windows for Workgroups 3.11 и, с небольшими исправлениями, в Windows 95. Однако, прежде чем приступить к рассмотрению версии для Word 95, стоит более детально изучить эти предложения, учитывая интересы тех, кто раньше никогда не пользовался выражением Declare.

Предложение Declare в WordBasic предусматривает возможность применения процедур, хранящихся либо в динамически компонуемой библиотеке (DLL), либо в библиотеке дополнений Word (носящей название WLL). Основная задача - это изучение того, какие процедуры содержатся в библиотеках, где они хранятся, какие аргументы нужны для каждой процедуры и какого типа данные процедура возвращает вызывающей программе.

В данном конкретном случае предложение Declare указывает транслятору WordBasic, что процедура с именем sndPlaySound содержится в библиотечном файле MMSYSTEM.DLL и передает вызывающей программе целочисленное значение. Можно идентифицировать файл просто как "mmsystem", а не "mmsystem.dll", и, несмотр на это, WordBasic сможет найти его, поскольку программа предполагает расширение DLL по умолчанию. В итоге предложение будет выглядеть так:

Declare Function sndPlaySound Lib "mmsystem" (lpszsoundname$, wflags As Integer) As Integer

Объявив процедуру sndPlaySound в выражении Declare, можно неоднократно использовать ее для воспроизведени WAV-файлов в любом месте макрокоманды с помощью строки:

x = sndPlaySound("ДИСК:Маршрут\Файл", wflags)

Но, если попытаться выполнить эту макрокоманду в Word 95, появится сообщение об ошибке "Unable to load specified library" ("Невозможно загрузить указанную библиотеку"). Это обусловлено тем, что Word 95 - 32-разрядная программа и не работает с 16-разрядными библиотеками. Решить эту проблему можно, применив эквивалентную 32-разрядную библиотеку, вероятно WINMM.DLL. (Узнать это непросто. О названии эквивалентной 32-разрядной DLL вам придетс поинтересоваться у лиц, ответственных за данную 16-разрядную DLL.)

32-разрядная версия процедуры называется PlaySound, и, согласно описанию Microsoft, тип параметра wflags у нее другой, а тип параметра, передаваемого вызывающей процедуре, не Integer, а Long. Таким образом, выражение Declare выглядит следующим образом:

Declare Function PlaySound Lib "winmm"(lpszsoundname$, wflags As Long) As Long а команда, которая и воспроизводит аудиофайл, становится такой: x = PlaySound("ДИСК:Маршрут\Файл", 0) Есть пара странностей, касающихся этих выражений, о которых вам следует помнить. Во-первых, функция Declare в Word 95 работает так же хорошо, если вы укажете тип Integer вместо Long в обеих позициях приведенного выше выражения. Но не делайте этого! Это случайность, на которую нельзя положиться.

Во-вторых, если опустить символ "x" и знак равенства, команда для воспроизведения звука и в Word, и в Word 95 прекрасно выполняется. Согласно описанию Microsoft, выражения

sndPlaySound("ДИСК:Маршрут\Файл", 0) и PlaySound("ДИСК:Маршрут\Файл", 0)

не должны работать. В действительности же они выполняются. Я отмечаю эти странности только потому, что, может быть, вы сами нечаянно на них наткнетесь. Лучший совет: употребляйте корректные выражения, даже если некорректные работают. Если Microsoft когда-либо приведет WordBasic в соответствие с документацией, вам придется исправлять свои макрокоманды.

М. Дэвид Стоун


Электронные таблицы

Точность против правильности

Преобразование нескольких старых файлов моих электронных таблиц в формат Excel 5.0 DOS привело к тому, что некоторые вычисления не дают одинаковых результатов. В частности, в ряде формул, в которых используется функция IF, в электронной таблице DOS получается одно значение, а в Excel - другое. Вот один из примеров.

В ячейке A4 хранится число 27,05, а в ячейке B4 - 26,10. В ячейке C4 по формуле =A4-B4 вычисляетс разница между этими двумя величинами. Результат равен 0,95. И в D4 я ввел число 0,95, но на этот раз константу. E4 содержит формулу =IF(C4=D4,1,0). Результат вычислений по этой формуле - 1 в электронной таблице DOS и 0 в Excel!

В службе технического сопровождения компании Microsoft утверждают, что проблема связана со способом обработки чисел компьютерами и это неизбежно, но мне трудно в это поверить. Что вы скажете по этому поводу?

Роланд У. Мэддри-мл, Рэлей, шт. Сев. Каролина.

От редакции

Проблема подобного рода, досаждающая пользователям электронных таблиц со времен VisiCalc, возникает из-за того, что компьютер более точен, но менее правилен, чем хотелось бы. Результаты вычислений, таких, как A4-B4, хранятся в памяти с точностью до какого-то большого числа десятичных разрядов - 15 в случае Excel. Несмотр на то что при вычитании 26,10 из 27,05 получается ровно 0,95, Excel записывает результат в виде 0.949999999999999. Если вы не зададите формат вывода числа на экран, обеспечивающий отображение указанного числа десятичных разрядов, весьма вероятно, вы и не заметите, что результат ваших вычислений чуточку меньше, чем ожидался.

По словам представителей компании Microsoft, возникновение расхождений в ответах обусловлено способом обработки чисел компьютером. Это вызвано тем, что некоторые десятичные числа нельзя представить точными двоичными эквивалентами, и наоборот. Иногда при переводе из двоичной в десятичную систему счислени некоторые "мелочи" на уровне самого младшего разряда теряются. Следовательно, функция IF, будучи точной и "глупой", "видит", что 0,949999999999999 не равно 0,95, и выдает неправильный результат.

Во избежание этой проблемы можно записать формулу с IF следующими способами:

= IF (ABS(C4-D4)<.0001, 1, 0) = IF (ROUND(C4,4)=ROUND(D4,4), 1, 0) В первой формуле в предложении IF проводитс сравнение: меньше ли абсолютная величина разности двух значений некоторого малого порогового значения или нет. Второй подход предполагает округление двух значений в ячейках C4 и D4 до сравнения их между собой. Обе формулы снижают точность функции IF, позволяя избежать влияния незначительных расхождений между сравниваемыми величинами, искажающего логику вашей модели.

У вас может возникнуть желание перенести файлы ваших электронных таблиц из одной программы в другую или предоставить свои модели кому-то, работающему в другой операционной среде, поэтому разумно смягчить формулы IF с помощью конструкций подобного рода. Аномалии, не проявляющиеся до переноса вашей модели в новую среду, способны привести к серьезным проблемам.

Крейг Стинсон

PC Magazine, October 24, 1995, p. 311

Область прокрутки пакета Excel

В большинстве таблиц установленного у меня пакета Microsoft Excel 5.0 удается попасть в нижнюю часть введенных данных, перетаскивая движок в нижнюю часть линейки прокрутки. Однако в одной из таблиц эта операция приводит к попаданию в 1776-ю строку, хот самый нижний элемент таблицы находится в области 800 строк. Я предположил (и проверил экспериментально), что ввел и удалил какой-то элемент в этой части таблицы. Нет ли способа передать программе Excel, пользуясь линейкой прокрутки, что требуется попасть в нижнюю часть текущих данных, а не всех когда-либо вводившихс данных?
Дэвид Морган, по линии CompuServe

От редакции

Надо просто записать ваш файл. Excel отслеживает нижний правый угол заполненной части вашей рабочей таблицы. Перемещая движок в нижний или на правый конец линейки прокрутки, вы попадаете в только что занятую клетку. (Если хотите попасть после прокрутки в незаполненную область, держите при перетаскивании движка нажатой клавишу Shift.)

Когда вы стираете нижнюю правую клетку либо удаляете ее строку или столбец, Excel не выполняет обновлени указателей прокрутки. Зато программа обновляет их при каждой записи файла. Таким образом, нужный вам режим прокрутки сохраняется просто при нажатии клавиш Ctrl-S.

Крейг Стинсон

Устранение ненужной подсказки при работе пакета Excel

При помещении диаграммы из данных рабочей книги пакета Microsoft Excel на отдельном листе (а не в рабочей таблице) наблюдается побочное явление, заключающееся в том, что при всяком открытии рабочей книги программа считает, что в нее внесены изменения. Книгу нельзя закрыть - даже немедленно - без того, чтобы не появился вопрос: "Save Changes in 'MYFILE.XLS'?" (Сохранить изменения в файле MYFILE.XLS?). Как-то нелепо и, быть может, странно, что эта подсказка появляется даже в том случае, когда рабочая книга хранится в файле, запрещенном для записи. Для исключения подсказки я дополнил модуль рабочей книги следующей макрокомандой:

Sub Auto_Open() ThisWorkbook.Saved = True End Sub Это служит указанием для Excel, что рабочая книга уже сохранена.
Дик Оукленд, Брэндон, шт. Висконсин

От редакции

Представитель компании Microsoft говорит, что это известный дефект. Поскольку он вполне безобиден, фирма пока еще не удосужилась его устранить. Предложенна г-ном Оуклендом макрокоманда удачно решает проблему. Условие истинности состояния Saved (сохранено) объекта ThisWorkbook (эта рабочая книга) освобождает файл от "загрязняющего" бита и извещает программу Excel, что файл можно закрыть без подсказки о необходимости сохранения рабочей книги.

Как правило, когда программа Excel выдает подсказку сохранить рабочую книгу, которую вы не изменяли, это делается вполне обоснованно, так как в рабочей книге имеется одна или несколько нефиксированных формул. Нефиксированной называется формула, результат расчета по которой оказывается другим при каждом пересчете. В качестве общеизвестных примеров можно назвать формулы, в которых фигурируют функции NOW() и RAND(). Когда вы открываете такую рабочую книгу, программа производит пересчет нефиксированных формул, и если вы закрываете рабочую книгу без сохранения, то получаете подсказку. Если вы предпочитаете обойтись без подсказки, то можете воспользоваться макрокомандой Auto_Open г-на Оукленда.

Крейг Стинсон


СУБД

PC Magazine, December 5, 1995, p. 448

Функция IsDir для Microsoft Access

У вас недавно была публикация о функции IsDir дл FoxPro. Эта функция проверяет, существует ли заданный каталог на конкретном диске. Нет ли подобной функции для Microsoft Access?
Тэд Мессинджер, Пало-Альто, шт. Калифорния.

От редакции

Конечно. Для проверки наличия каталога на диске в своих программах на языке Access Basic вы можете применять функцию IsDir, показанную на лист. 2. Сначала она запоминает имя текущего каталога на исследуемом диске, затем осуществляет попытку перейти в проверяемый каталог. Если при этом возникает ошибка и каталог не существует, функция передает вызывающей процедуре значение "Ложь" (False). Если ошибки нет, передаетс значение "Истина" (True), показывающее, что каталог существует. До передачи управления IsDir возвращает в тот каталог, из которого происходил вызов функции.

Строка, передаваемая в функцию IsDir, может содержать идентификатор диска, но это не обязательно. Если диск указан, IsDir запоминает и восстанавливает текущий каталог на этом диске. В противном случае IsDir запоминает текущий каталог на диске, заданном по умолчанию.

Функцию IsDir можно переписать в оперативной службе PC Magazine Online.

Сэл Риккарди.

Лист. 2. Для проверки существования каталога в программах Access можно применять функцию IsDir. ******************************************************* ' IsDir (strDir As String) Access 2.0 ' Передает вызывающей процедуре значение истина (-1), ' если каталог существует, ' в противном случае - Ложь (0) ******************************************************* Function IsDir (strDir As String) Dim strSaveDir As String Dim strChDrive As String, n As Integer IsDir = True ' При инициализации присваивается значение Истина On Error GoTo IsDirErr ' Назначается обработчик ошибки n = IsDir (strDir, ":") ' Указан ли идентификатор диска? If n <> 0 Then ' Если да, запомнить текущий каталог на этом диске strChDrive = Mid$ (strDir, n-1, 1) strSavedDir = CurDir (strChDriive) Else ' В противном случае strSavedDir = CurDir ' Запомнить текущий каталог на этом диске End If ' Попытка сменить каталог ChDir strDir ' Если это не срабатывает, ' осуществляется переход к метке IsDirErr ChDir strSavedDir ' Возврат в прежний каталог IsDirExit: Exit Function IsDirErr: IsDir = False ' Каталог не существует Resume IsDirExit End Function

PC Magazine, November 7, 1995, p. 546

Приращение идентификационных номеров в FoxPro for Windows

Предлагаю небольшую замечательную функцию, которая, несмотря на малый размер, отличается высокой эффективностью. Функция Incr, представленная на лист. 3, осуществляет приращение поля идентификационных номеров (ID), определяемого как символьное поле. Но следует предупредить, что если вы работаете в многопользовательской среде, то, прежде чем производить замену, необходимо удостовериться в блокировке записи.
Джеймc Д. Тернер, Роли, шт. Сев. Каролина

Лист. 3. Вы можете воспользоваться представленной здесь функцией для приращения численного значения, хранящегося в виде символьной строки. * FUNCTION Incr( cIdNo) * Производит приращение строк численных символов, таких, * как идентификационные номера, хранящиеся в символьном поле. * Заполняет ID начальными нулями ..."00001",..."00928"..."01015". * Синтаксис: cNewId=Incr( idno) * Примечание: область Field/Var должна быть достаточно большой, * чтобы исключить численное переполнение FUNCTION Incr PARAMETER cIdNo nFIdlen=LEN(cIdNo) nIncrval=VAL(cIdNo) + 1 cRtnval=PADL(ALLTRIM(STR(nIncrval,nFIdlen,0)),nFIdlen,"0") RETURN cRtnval

От редакции

Во многих базах данных предусмотрены встроенные средства автоматической генерации новых уникальных ID, соответствующих строкам ваших таблиц (назовем, например, функцию COUNTERs пакета Access). В Microsoft FoxPro for Windows таких средств нет, что может усложнить ситуацию.

Обычно требуется отыскать последнее использованное значение ID и произвести его приращение, причем необходимо удостовериться, что новое значение имеет нужную длину и должным образом сформатировано с помощью введения начальных нулей. Предложенная г-ном Тернером функция и выполняет значительную часть этой задачи, обращаясь к введенной ранее величине и производя ее приращение. С помощью имеющейся в программе FoxPro функции PADL в новое значение ID вводятся нули, которые дополняют число до нужной длины. Но прежде всего необходимо найти последнее использованное значение.

В случае приложений, рассчитанных на одного пользователя, последнее использованное значение ID находится обычно довольно просто. Например, с помощью оператора

CALCULATE MAX(CustId) TO n

находят последнее назначенное значение ID заказчика (Customer ID), и пользуясь функцией Incr, производят его приращение.

Если же речь идет о многопользовательской системе, то все оказывается сложнее. Допустим, к примеру, что вы пользователь А и вводите приведенную выше команду CALCULATE, после чего применяете предложенную Тернером функцию Incr для получения значения ID нового заказчика. Однако не успели вы занести в таблицу запись для нового заказчика, как появляется пользователь B и делает то же самое, вводя ту же команду CALCULATE и применяя функцию Incr. Вследствие того что значение MAX(CustID) все еще остается прежним, пользователь B в итоге получит то же самое значение ID заказчика.

Таким образом, необходимо средство распределени значений ID, не допускающее назначения одного и того же номера дважды. Один из способов заключается в сохранении последнего использованного ID в отдельной таблице и в управлении доступом к этой таблице в многопользовательском режиме. Этот прием и реализуетс функцией NextID, представленной на лист. 4.

В функции предполагается, что у вас есть таблица под именем ID, которую вы открываете при каждом запуске вашего приложения. Таблица ID, состоящая из двух колонок - для имени и ID, индексируется по оператору UPPER(имя). Для каждой из таблиц вашего приложени отведена одна строка. В каждой строке содержитс последнее назначенное значение ID по этой таблице. Дл выработки нового значения ID, соответствующего конкретной таблице, вызывается функция NextID, и в нее вводится имя таблицы. Функция NextID ищет соответствующую запись, получает исключительный доступ к этой записи, вырабатывает и сохраняет новое значение ID, освобождает запись и выдает вам новый ID. Заметим, что в определенных редких условиях функция может выдать пустое значение (т. е. EMPTY(retval)=.T.). Это происходит, например, если пользователь нажимает клавишу Esc, когда FoxPro ожидает блокировки строки в таблице ID. Поэтому вам придется проверить, не являетс ли выданное значение пустым. Если оно пустое, то надо лишь вновь обратиться к функции NextID.

Функции Incr и NextID можно загрузить по линии связи с сетью PC MagNet. Надо отыскать файл NEXTID.ZIP в библиотеке Sol:Spreadsht/DBMS форума Utilities/Tips Forum.

Сэл Риккарди

Лист. 4. Функция NextID вырабатывает новые, уникальные ID для использования в программах пакета FoxPro. Она предусматривает сохранение последнего использованного ID в отдельной ID-таблице. * FUNCTION NextID( cTable) * Выдает следующий приращенный ID по заданной таблице. * Выдаваемая величина представляет собой символьную строку, * дополненную слева нулями. Предполагается, что ID хранятс * в ID-таблице со структурой NAME c(10), ID c(6) и * ID-таблица к моменту запуска открыта. Передаваемый параметр * не должен обязательно быть именем реальной таблицы и может * представлять собой любую величину, соответствующую элементу * ID-таблицы. FUNCTION NextID PARAMETER cTable cId="" && Инициализирует выдаваемое значение nOIdArea=SELECT() && Сохраняет текущую рабочую область cOIdRepr=SET('REPROCESS') && Сохраняет текущий параметр переработки cOIdExac=SET('EXACT') && Сохраняет текущий точный параметр SET EXACT ON && Не допускает частичные соответстви SET REPROCESS TO AUTOMATIC && Продолжает блокировку до успешного результата && или нажатия клавиши Esc SELECT Id && Выбирает ID-таблицу SET ORDER TO Table && Выбирает индекс IF SEEK ( UPPER(cTable) ) && Отыскивает соответствие по имени таблицы IF RLOCK() && Проводит блокирование записи REPLACE Id.Id WITH Incr( Id.Id) ) && Вырабатывает новый ID-номер cId=Id.Id && и сохраняет его для выдачи по запросу UNLOCK && Разблокирует запись ENDIF ENDIF SELECT (nOIdArea) && Восстанавливает старую рабочую область SET EXACT &cOIdExac && Восстанавливает точный параметр SET REPROCESS TO cOIdRepr && Восстанавливает параметр переработки RETURN cId && Выдает Id


Графика

PC Magazine, November 7, 1995, p. 550

Избыток шрифтов TrueType

Недавно при обращении к одной из утилит было выдано сообщение об избытке шрифтов, что может понизить скорость моей системы.

Просмотрев установленные в моей системе шрифты TrueType, я заметил, что некоторые из них имеют четыре различных стиля, хранящихся в четырех различных файлах. Так, например, в четырех файлах помещаются четыре варианта шрифта Arial - простой, жирный, курсив и жирный курсив. Другие шрифты, как, например, Grad, представлены в одной версии - простой. Но и эти шрифты могут воспроизводиться на экране и печататься во всех четырех разновидностях в программах Write, AmiPro и других приложениях.

Я безуспешно пытался найти этому объяснение. Можете вы мне разъяснить различия между шрифтами? Есть ли какая-нибудь выгода в сохранении всех четырех стилей (т. е. всех соответствующих файлов) на моем жестком диске?

Роберт Дж. Уашкоу, по сети CompuServe

От редакции

Если вы хотите работать с текстами наивысшего качества и печатать их, то не следует удалять курсивный, жирный и жирный курсивный варианты того или иного шрифта. И вот почему.

Шрифты TrueType - а в действительности все векторные шрифты - различаются по начертанию, насыщенности и стилю (или наклону). При той же гарнитуре шрифты Times New Roman, Times New Roman Bold и Times New Roman Italic отличаются по насыщенности и наклону. Шрифт Bold насыщеннее нормального. А шрифт Italic имеет определенный наклон.

Всякий раз, когда разработчикам требуется изменить насыщенность или стиль шрифта, они слегка меняют начертание букв. Иногда эти изменения способствуют улучшению разборчивости, в других случаях они делаютс для сохранения целостности формы букв, а порой - в чисто эстетических целях. Взглянув на образец шрифта Times New Roman, вы заметите, что курсив сильно отличается от прямого шрифта. По форме курсивные буквы "а" и "е" гораздо больше похожи на рукописные.

Это не означает, что нельзя придать курсивные свойства нормальному шрифту. Как Windows 3.1, так и Windows 95 позволяют "подделывать" атрибуты форматирования. Однако результаты, в особенности с точки зрения полиграфистов, оказываются не вполне удовлетворительными. Если вы придаете курсивную форму нормальному шрифту, то Windows создает наклон букв, но это не настоящий курсив, а наклонный вариант нормального шрифта. Таким способом была придана курсивная форма гарнитуре Bookman Old Style, и в результате строчная буква "е" приобрела несколько искаженную форму.

Windows дает также возможность делать жирным нормальный шрифт. Однако при расширении гарнитуры вновь возникает риск искажений. Например, точки в многоточии и над буквой "i" в нормальной версии шрифта Caslon 540 круглые, в жирном же варианте они слегка растянуты. Иногда можно заметить также искажения в просветах (отверстиях в таких буквах, как "о" и "р"), когда штрих расширяется в горизонтальном, но не в вертикальном направлении.

Возможно, эти различия не покажутся вам существенными. Верно и то, что отказ от этих шрифтов повысит производительность системы Windows 3.1. Однако если вы хотите повысить производительность, не жертву качеством, то существуют другие способы более рационального использования памяти. Утилиты управлени шрифтами, как, например, FontMinder фирмы Ares Software (800-782-2737) ценой 79 долл., обеспечивают установку и изъятие шрифтов из Windows для экономии ресурсов системы и могут также удалять для освобождения места ненужные шрифты с жесткого диска. Возможно, у вас появится намерение усовершенствовать систему, установив Windows 95. Windows 95 предусматривает запись шрифтов в специальный реестр шрифтов, но сами шрифты не загружаются в память до тех пор, пока их не затребует какая-нибудь прикладная программа. Таким образом, на диске можно хранить сотни шрифтов, ресурсы же системы будет занимать лишь незначительная их часть, которой вы реально пользуетесь в ходе рабочего сеанса.

Одно заключительное замечание. Может оказаться, что, даже удалив эти шрифтовые файлы с жесткого диска, вы все же сможете получать высококачественный печатный материал. Если шрифт (или его PostScript-эквивалент) является для вашего принтера резидентным, то Windows "подделает" атрибуты форматирования для экранного воспроизведения, но для вывода материала будет использоваться высококачественный шрифт принтера. В Windows этот процесс называется замещением шрифтов (Font Substitution). Вы можете получить доступ к окну Font Substitution Table через панель управлени конфигурацией принтера.

Луиза Симоне