14. СКОРАЯ ПОМОЩЬ,
или
Что делать забывчивым

       — Ну что, Алеша, вот мы и прошли первую часть пути. Теперь ты имеешь в руках специальность машинистки и с использованием средств обработки текстов можешь не только делать эту работу в 1.5 раза быстрее обычной машинистки, но и внешний вид твоей работы будет много привлекательней.
       — Да, а если я выучусь на редактора какого-нибудь журнала,— отвечает Алеша,— то вообще без компьютера обходиться не смогу. Однако, если можно, последний вопрос?
       — Спрашивай.
       — Мы видели, что редактор текста всегда нам помогал, если мы что-нибудь забывали. Даже SL-драйвер имеет встроенную помощь. А как же система в целом — неужели она не поможет мне в таком случае?
       — С одной стороны, ты бы мог об этом спросить у самой системы,— говорю я Алеше,— но дело в том, что эта справочная система занимает на диске примерно 140 блоков и при той небольшой емкости накопителей, которые имеются у ДВК, держать ее на диске нецелесообразно. Однако при емкости диска более 2М байт ее присутствие в системе всегда желательно.
       — Так, значит, на СОТКЕ она есть,— обрадовался Алеша,— можно мне с ней поговорить.
       — Да,— отвечаю я,— загружай систему на третьем комплексе.
       — Все в порядке,— отрапортовал Алеша,— дату и время установили. А какие же команды нужно вводить?
       — А вот это ты должен догадаться сам. Тебе нужна помощь — вот и попроси об этом систему.
       — А я догадался,— сказал Алеша,— ПОМОЩЬ по-английски HELP, и наберем это слово в качестве команды.

  +---------------
  !  .HELP<ВК>
  !  -
  !  .^
  !

       И на экране появился рассказ о самой программе HELP, который приведен ниже:

   HELP                List helpful information
 
    SYNTAX
      HELP[/OPTIONS] [ TOPIC[ SUBTOPIC[:ITEMS...]...]]
    or
      HELP *
 
    SEMANTICS
      HELP *               Lists the items for which HELP is available.
      HELP                 Lists the help text (of which this is a part)
      HELP TOPIC           Lists information on the specific topic only.
      HELP TOPIC SUBTOPIC              Lists information on the specific
                       subtopic  only  (for example, HELP HELP semantics
                       lists the paragraph of which this text is a part)
      HELP TOPIC SUBTOPIC:ITEM            Lists only the text associated
                                          with the specific item.
      HELP TOPIC/ITEM                     Lists the text assotiated with
                                          the specific item under
                                          the subtopic optins.
      Valid topics are the keyboard minitor comands.
      Subtopics are "SINTAX","SEMANTICS", "OPTIONS", and "EXAMPLES"
      items are specific command options.
   Press <RETURN> for more...

       и просьба нажать клавишу <RETURN>, (т.е. <ВК>) для продолжения. И прочитав текст, нажмем ее.

    OPTIONS
     PRINTER
                          Prints the help text on the line printer
     TERMINAL  (DEFAULT)
                          Types the help text on the terminal
    EXAMPLES
       HELP COPY                 !Lists  information  about  COPY
                                 !command
       HELP/PRINTER EXECUTE      !Prints information about EXECUTE
                                 !command
       HELP PRINT OPTION:COPIES  !Describes  the  copies  option
                                 !for PRINT
       HELP COPY/BOOT/DEVICE     !Describes  the  listed  options
                                 !for COPY

       И мы увидели продолжение текста.
       — Андрей Германович,— прочитав, сказал Алеша,— в основном мне все понятно, но это при знании английского языка. А для незнающих, наверное, нужно несколько разьяснить.
       — Ну, раз ты все понял,— передаю я ему инициативу,— то тебе и карты в руки. А для начала поясни, что делает эта программа.
       — А поясняет она сама,— говорит Алеша,— в первой строке пишется полное название команды (в данном случае HELP) и ее назначение. Команда HELP, которая обслуживается программой HELP, печатает вспомогательную (справочную) информацию.
       — А если я не знаю, как пользоваться этой командой?
       — Тогда можно просто попросить помощь,— не сдается Алеша,— набрав HELP<CR>, или, более точно, получить информацию о команде HELP, введя команду HELP HELP<CR>. Оба эти способа приводят к одинаковому результату — на экране распечатывается текст, который мы разбираем.
       — Но это касается команды HELP,— допытываюсь я,— а если я не знаю, какие команды есть в нашей системе?
       — Тогда нужно вспомнить про умолчания в системе,— делает взгляд в прошлое Алеша,— ведь звездочка заменяет любое количество символов. Поэтому если вместо имени команды мы укажем звездочку, вот так:

  +---------------
  !  .HELP *<ВК>
  !  -
  !

       то программа HELP выводит список всех команд, про которые есть справочная информация.
       — Если повнимательней посмотреть,— уточняю я,— то заметим, что программа HELP выводит на экран первые строки всех справочных статей, которые имеются в системе.
       Но продолжим наш разговор. Допустим, я знаю тему (TOPIC), на которую хочу говорить, что в таком случае будет являться подтемой (SUBTOPIC).
       — А на это есть подробное разъяснение в самой команде HELP,— отвечает Алеша,— темой является имя команды клавиатурного монитора. А подтемой может являться указание на одну из частей самой статьи — т.е. SINTAX (описание синтаксиса команды), SEMANTICS (описание действия этой команды) и EXAMPLES (примеры, показывающие, как применять команду).
       — Прекрасно, Алеша. Но что ты скажешь про ITEMS — т.е. параграф. Это из текста на экране не очень понятно.
       — Параграфом является ключ, уточняющий команду,— разъясняет Алеша,— если мы его знаем. Правда, мы можем указать только часть ключа, которую помним, а программа HELP покажет информацию о тех ключах, с которыми ее можно связать.
       — Алеша, если уж говорить о ключах, то расскажи о ключах самой программы HELP, и зачем они нужны.
       — С ключами проще простого,— заспешил Алеша,— один из них /TERMINAL установлен по умолчанию. В таком случае информация выводится на терминал. Второй — необходим пользователям ДВК. Они могут с помощью ключа /PRINTER распечатать тексты всех статей HELP на бумаге и затем использовать их, как справочник.
       — Ну почему ты так не любишь пользователей,— я очень недоволен. — Вся наша книга посвящена облегчению жизни пользователей, а ты к этому еще не привык.
       — Каких пользователей?— удивился Алеша.
       — Тех, кому ты сейчас даешь такие советы. Во-первых, твой способ заставляет распечатывать каждую статью отдельно. Для одной-двух статей это приемлемо, но распечатывать таким образом весь HELP неразумно. И во-вторых, каждая статья имеет свой размер. Одна — короткая, будет одиноко прятаться на почти пустой странице, другая — вытянет страницу на два аршина. Как потом пользоваться таким справочником?
       — Да, я действительно поторопился,— Алеша виновато замялся,— но, наверное, здесь можно воспользоваться полученными нами знаниями.
       Для этого определим структуру программы HELP.SAV с помощью программы DUMP. Это очевидно, что имеется некоторая управляющая программа (ее называют — исполняющая система HELP.EXE) и каким-то образом организованный текст. Посмотрев дамп файла HELP.SAV (можно на экране), только по ритму чисел и текстовой (в том или ином виде) информации мы можем определить, что HELP.EXE расположен с 0-го по 6-й блок, с 7-го по 11у-й блок следует явно выраженный каталог, и с 12-го блока мы видим чистый текстовой файл, который можно назвать HELP.TXT. Кстати, эти данные приводятся в файле CUSTOM.TXT.
       — Это, Алеша, ты правильно определил,— уточняю я,— и в RT-11 до версии 5.1 поставлялось три файла — HELP.SAV, готовый к выполнению; HELP.EXE, исполняющая система, и HELP.TXT — тексты справочных статей. Кстати, в операционной системе RSX-11 файлы исполняющей системы и текстов статей разделены всегда, поэтому перевод этих текстов не составляет никакого труда. Почему стали поставлять только один файл, я расскажу, когда мы займемся более сложными видами деятельности — управлением и сопровождением системы. А пока подумай, как отделить файл HELP.TXT, чтобы его потом отредактировать (вставить символы "FF") и распечатать в аккуратном и красивом виде.
       — Один из способов,— вспомнил Алеша,— это воспользоваться руками системы.
       Где хранится файл HELP.SAV на диске, мы знаем из каталога (а лучше сначала сделать его копию), запомнив это место, удалим запись о нем из каталога с помощью программы PIP. А затем с помощью программы DUP создадим две записи о файлах HELP.EXE и HELP.TXT, указав в качестве параметров начальные блоки их расположения на диске и их размеры. Дальше с файлом HELP.TXT мы можем делать, что угодно.
       Второй способ использует побочные свойства редактора K52. Во-первых, мы можем отредактировать файл из входного в выходной, не причиняя вреда оригинальному файлу, например следующим образом.

  +---------------
  !  .K52 SY:HELP.SAV MX1:HELP.TXT<ВК>
  !  -

       А во-вторых, редактор K52 позволяет редактировать любые файлы, в том числе и двоичные. И если не испугаться той неразберихи, которая возникнет на экране, и аккуратно строчка за строчкой удалить все двоичные коды, не имеющие отношения к тексту, то оставшуюся (текстовую) часть можно сразу приводить в порядок, делая красивые заголовки и разбивая на сраницы нужного размера.
       А печатать этот текстовый файл можно обычной командой PRINT, указав необходимое количество копий.
       — Я могу тебя поздравить,— радостно сказал я Алеше,— что пройденный нами материал ты усвоил превосходно. А главное, сумел применить его в типичной, но не ординарной ситуации. И все-таки на досуге подумай, как можно одним махом отделить текстовую часть программы HELP без риска испортить остальное.
       Однако, прежде чем мы перейдем к более сложным проблемам в жизни системы, сделаем небольшие каникулы.
       — Это чтобы Александр Геннадьевич немного отдохнул от нас,— засмеялся Алеша.
       — И для этого тоже,— отвечаю я,— но главное, и тебе, и нашим читателям необходимо просто поработать с системой в роли писателей или в крайнем случае машинисток, чтобы пройденный материал закрепился в голове.
       — Или, как говорят музыканты,— добавил Алеша,— чтобы музыка была в пальцах.
       — Вот именно. Это нужно для того, чтобы освободить мозг для более серьезной работы. А пока пойдем к Александру Геннадьевичу в комнату пить чай с тортом, который ты принес по поводу завершения первого этапа обучения.
       — Только я сначала выключу машину и позову всех, кто помогал нам в работе над этой книгой.

 

 

 

 

  *  *  ***   *   *  *****  *   *
  * *  *   *  *   *  *      *   *
  **   *   *  *****  ****   *   *
  * *  *   *  *   *  *      *   *
  *  *  ***   *   *  *****  ******
                                 *
 
               *****  *****  ****   ****     ***   * * *
               *   *  *      *   *  *   *   *   *  *   *
               *   *  ****   ****   ****    *   *  *  **
               *   *  *      *      *   *   *   *  * * *
               *   *  *****  *      ****     ***   **  *
 
                                    *   *    *     ***   *****  *   *
                                    *   *   * *   *   *    *    *  **
                                    *****  *   *  *        *    * * *
                                        *  *****  *   *    *    **  *
                                        *  *   *   ***     *    *   *
 
 
               К О Н Е Ц     П Е Р В О Й     Ч А С Т И

(c) 1992г Архангельский Андрей Германович




Поддержите культуру
ЯндексЯндекс. ДеньгиХочу такую же кнопку

Google
 
Web azdesign.ru az-libr.ru


Дата последнего изменения:
Wednesday, 23-Oct-2013 09:02:54 UTC