Oberon #01
31 марта 1996
  Софт  

Свиток - обзор текстового редактора: ZX IBM Editor v1.0

<b>Свиток</b> - обзор текстового редактора: ZX IBM Editor v1.0
        ZX/IBM EDITOR v1.0 (1.5D)         
══════════════════════════════════════════
 Вам когда-нибудь приходилось использовать
компьютер в качестве пищущей машинки ? НЕТ
?! Немедленно выключите компьютер !!!  Все
ниже  написанное  не  для  вас !          
.......!!!! ......!!! .......!! .......!  
  Ну вот. Теперь нас читают только те, кто
сталкивался  с  проблемой  ввода  текста в
компьютер. Если вы еще новичок в нашем де-
ле, то вам будет наверное, не безынтересно
узнать,  что для ЭТОЙ цели создано великое
множество  программ  - редакторов. До пос-
леднего   времени  у  нас  (авторов  этого
текста) был популярен редактор, входящий в
базовый  пакет  Is-DOS.  У него есть масса
достоинств, но один серьезный недостаток -
он  работает  только  в  среде Is-DOS т.е.
чтобы начать с ним работать, нужно сначала
запустить  саму Is-DOS. Но сейчас разговор
не о нем.                                 
                                          
  Мы  предлагаем вашему вниманию новый (он
написан  в конце 1993 года, но появился на
рынке ПО совсем недавно) редактор, облада-
ющий почти всеми достоинствами  Is-DOS-ов-
ского,кроме одного -он не может форматиро-
вать  текст. Но если вы не занимаетесь из-
данием  газет,  журналов, ..., ну в общем,
если  вам  не надо очень красиво оформлять
текст, то вам нет необходимости его форма-
тировать,  а  значит для вас этот редактор
вообще не имеет недостатков.              
  Хотя,  владельцы  нескольких  дисководов
будут слегка разочарованы - редактор рабо-
тает  только с ТЕКУЩИМ диском. Спасибо ав-
тору и за это - некоторые "железно" привя-
зывают  свои  программы к диску "A", забыв
что  количество  дисководов у пользователя
его  личное дело, а не автора.            
  Да,  забыли,  он  запускается  прямо  из
TRDOS, имеет полную ASCII кодировку (как у
IBM  и у Is-DOS), оформлен по лучшим стан-
                                          
дартам редакторов-оболочек СИ, ПАСКАЛь для
IBM.                                      
                                          
  Кто он ? Его зовут "ZX/IBM Text Editor".
Написан он Хохловым Олегом.               
  А  мы - группа "STARS OF KELADAN" сейчас
поведаем вам о том, как с ним работать.   
  Итак.                                   
  Весь  экран можно разделить по вертикали
на  три  зоны: строка меню, информационная
строка, зона редактируемого текста.       
  C  чего  начнем  ? Хорошо, хорошо, пусть
первым будет меню.                        
                                          
              Работа с меню.              
  Работать с меню (даже если вы никогда не
делали  этого раньше) очень просто: клави-
шами "вверх", "вниз", "влево", "вправо" вы
передвигаете   курсор  (прямоугольник  ин-
версного  цвета), а клавишей "ENTER" выби-
раете  понравившийся вам пункт. Можно пос-
тупить   еще  проще:  в  названии  каждого
пункта есть хотя бы одна заглавная буква -
это  буква-ключ, если вы нажмете клавишу с
такой   буквой,  то  сразу  выберете  этот
пункт.  Например,  пункт  "File" - если вы
нажмете клавишу "F", то это будет все рав-
но  что  подвести  к  нему курсор и нажать
"ENTER".  Ну, а теперь о самом меню. В нем
вы найдете пять пунктов:                  
                                          
- File   - работа с файлами:              
                                          
- Edit   - переход в режим редактора:     
                                          
- Pribt  - работа с принтером:            
                                          
- SetUp  - настройки:                     
                                          
- Ibfo   - информация.                    
                                          
  Теперь по порядку:                      
                                          
                                          
1. File  - работа с файлами.              
  Это,  по  сути,  ворота в "иной мир" для
текстов.  C его помощью вы можете проделы-
вать  головокружительные  трюки  с  вашими
текстами.                                 
Всего таких трюков восемь:                
- Save       - запись  текущего текста в  
             файл с  нужным именем, если  
             такой файл уже существовал,  
             то он автоматически переза-  
             писывается:                  
- Load       - чтение текста с диска,те-  
             кущий текст УНИЧТОЖАЕТСЯ:    
- Catalogue  - просмотр  каталога диска:  
- New        - создание  нового  текста,  
             с УНИЧТОЖЕНИЕМ текущего:     
- save Block - запись  отмеченного блока  
             в файл с нужным именем:      
- Merge      - слияние  текущего  текста  
             с текстом из файла:          
- Erase file - удаление нужного вам фай-  
             ла на диске:                 
- Quit       - выход из редактора,у нас,  
             правда,этот пункт "глючит",  
             так  что  лучше пользуйтесь  
             кнопкой "RESET".             
                                          
2. Edit  -  режим редактирования.         
  Если  вы  выберете этот пункт или просто
нажмете  "SPACE" (для знатоков IBM - здесь
эта  чудесная  клавиша  играет роль "ESC",
т.е.  это клавиша "ВЫХОД, ОТМЕНА"), то пе-
рейдете  в  режим редактирования текста. О
нем  мы  вам расскажем  немного позже.    
                                          
3. Pribt  -  работа  с принтером.         
- Pribt text  - печать всего текста:      
- pribt Block - печать выделенного блока: 
- page Size   - задание размера страницы, 
              т.е. сколько  строк помеща- 
              ется на странице.           
                                          
4. SetUp - настройки.                     
  Сей  пункт  предлагает вам выбрать режим
работы редактора:                         
 - EOLN code - выбор разделителя строк:   
 - Compress  - включение (ON)  и  выключе-
             ние (OFF) компрессии  текста:
 - Driver    - выбор типа драйвера печати,
             внутренний (Ibside) или поль-
             зовательский (User's).       
                                          
  А   вы  знаете,  что  такое  разделитель
строк, и какой он бывает ? Обьясняем. Раз-
делитель  строки - это один или два байта,
которые  показывают,  что  текущая  строка
кончилась  и  следующий за ним символ при-
надлежит  другой.  Разделитель  в  "ZX/IBM
Editore" бывает двух типов: "CR" - возврат
каретки,  один  байт  #D  (также  как  и в
Is-DOS): "CR/LF" - возврат каретки + пере-
вод  строки,  два байта #D,#A (а это как в
IBM,  именно поэтому он "ZX/IBM"). Если вы
пишете  свой текст ислючительно на (и для)
ZX-SPECTRUM,  то  лучше  ставьте "CR" - он
займет меньше места. А если же ориентируе-
тесь  на  IBM,  то "CR/LF". Хотя, если вам
надо  поменять  разделитель  в уже готовом
тексте,  то поменяйте его в "SetUp", а за-
тем  "пробегите"  курсором по всем строкам
текста (снизу-вверх или сверху-вниз, но не
по длине строки) - разделитель будет заме-
нен.                                      
  Если вы включите (ON) компрессию текста,
то   редактор  "схлопывает"  повторяющиеся
пробелы, в результате чего текст становит-
ся  меньше в обьеме, при этом текст внешне
выглядит  вполне нормально (редактор выво-
дит вам компрессированные строки в "удобо-
варимом" виде).                           
  Но,  горе  вам,  если вы потом отключите
(OFF)  компрессию - обратно декомпрессиро-
вать  ранее  скомпрессированный тескт этот
редактор  пока не может, а внутреннее пре-
образование  "компрессия-декомпрессия"  вы
только  что отключили, в результате на эк-
ране  окажется  смесь вашего текста и слу-
жебных  байтов.  И вообще, зачем нужна эта
компрессия  ? Мы ею никогда не пользуемся,
и вам не советуем.                        
                                          
  Немного  о драйвере принтера. 3а не име-
нием последнего (принтера) мы не можем га-
рантировать, что все ниже следующее чистая
ИСТИНА.  Но как хаккеры, мы можем дать вам
несколько наших соображений по этому пово-
ду  (мы  досконально исследовали процедуру
печати).                                  
  Во-первых.   Пользовательский   (User's)
драйвер  должен  находиться с адреса #5B03
(23299)  и занимать не более 252 байт (что
вполне достаточно). Если его там не будет,
то при печати: вас ждет сюрприз - или пол-
ные  "висячки" компьютера, или всякая "бя-
ка".                                      
  Во-вторых.  Внутренний (Ibside) драйвер.
Он  зачем-то  сначала  вызывает  процедуру
#5B01 (23297),последствия те же (сюрприз),
и только после этого начинает саму печать.
Еще  раз  просим извинения за нашу неосве-
домленность, но все же кто-то может и пой-
мет, с каким принтером работает внутренний
драйвер, а мы сообщим лишь то, что поняли:
- информация для печати (очередной сим-   
  вол) "кидается" в порт #3F (63):        
- порт #5F (95) является двунаправленным  
  портом управления/контроля. При чтении  
  4-й бит - 1-занято, идет печать,        
            0-принтер готов,              
  5-й бит - 0-ошибка печати (нет бумаги)  
            или принтер не подключен,     
            1-соответственно - "порядок". 
  Запись. Совершенно не понятно - сразу же
  после печати символа в этот порт "заки- 
  дывается" ноль, затем единица.          
[ Во время подготовки номера мы наконец-то
узнали, что это за интерфейс принтера. Это
интерфейс  CENTRONICS (параллельный порт),
построенный  на базе микросхемы KPS8OBB55.
При этом поочередная запись нуля и единицы
в порт #5F генерирут импульс строба печати
Порт #7F - активизация принтера. ]        
5.  Ibfo  -  информация. Здесь вам покажут
название  программы  - "ZX/IBM Editor", ее
версию  (у  нас  1.0), автора, и ... "Text
Lebgth"  -  текущую  длину текста (включая
байты-разделители), и "Free Space" - коли-
чество свободного места для текста.       
  Ну вот, с меню вроде бы разобрались.    
                                          
          Информационная строка.          
  Здесь  совсем  все просто. Если смотреть
слева на право, то вы увидите:            
- текущий алфавит,  "Rus"-русский, "Lat" -
  латинский  (и  английский в том числе): 
- размер символов,"Lock" -строчные,"Caps"-
  заглавные.                              
  Если вы включили режим псевдо-графики,то
  вместо  двух  предыдущих  надписей будет
  просто "Graphics".                      
- режим редактирования,  "Ibsert" - встав-
  ка нового  символа с  раздвижкой строки,
  "<пустота>"  -  наложение нового символа
  на старый, с уничтожением последнего:   
- десятичный код символа, на котором "сто-
  ит" курсор (для владельцев  цветных  мо-
  ниторов: код - красные цифры):          
- "Libe xxx" - номер текущей строки:      
- "Col xx" - номер позиции курсора в стро-
  ке.                                     
  Ну вот, и с этим все.                   
                                          
        Зона редактируемого текста.       
  К сожалению, не зная всего выше изложен-
ного, вам было бы очень трудно (если вооб-
ще   возможно)   нормально   редактировать
текст,   именно  поэтому  описание  самого
процесса редактирования мы начинаем только
сейчас.                                   
  Итак.  Если вы загрузили текст, или выб-
рали  "New"  и попали в режим редактирова-
ния,  то  первое, что вы увидите на экране
какую-то мигающую "сикильду" - это курсор,
ваш  незаменимый  помощник  и  партнер. Он
указывает,  в  какое  место будет вставлен
нужный  вам символ. Двигать его можно кла-
вишами "влево", "вправо", "вверх", "вниз".
  И  раз  уж  речь  зашла о клавишах, поз-
вольте рассказать вам о них:              
- "EDIT" - переключает алафавиты:русский/ 
  латинский:                              
- "CAPS LOCK" - переключает строчные/заг- 
  лавные буквы:                           
- "DELETE" - уничтожает один символ СЛЕВА 
  от курсора:                             
- "GRAPH" - уничтожает один символ СПРАВА 
  от курсора, с помощью этой клавиши вы   
  можете также сдвигать строки (попракти- 
  куйтесь в этом, пригодится):            
- "TRUE VIDEO" - страница вперед, к концу 
  текста:                                 
- "INV.VIDEO" - страница назад, к началу  
  текста:                                 
- "EXT.MODE" - вход в режим команд, в ин- 
  формационной строке появляется надпись  
  "Commabd:", о клавишах в этом режиме мы 
  скажем чуть ниже:                       
- "ENTER" - раздвижка  строк  (появляется 
  новая строка  под  текущей)  и  перенос 
  всех символов правее курсора (если  та- 
  кие есть) на новую строку,если выключен 
  режим Ibsert, то раздвижки не будет:    
- "SS/Q" - в начало строки:               
- "SS/W" - включение/отключение    режима 
  вставки (Ibsert):                       
- "SS/E" - в конец строки:                
- "SS/Space" - выход в меню,чтобы попасть 
  обратно в редактор, нужно выбрать соот- 
  ветствующий пункт (см. выше) или нажать 
  клавишу "Space":                        
- "CS/Space" - к началу следующего слова, 
  находящегося строчкой выше (!),довольно 
  запутанное  действие,  означающее,  что 
  курсор в текущей строке устанавливается 
  в позицию, с которой начинается следую- 
  щее слово на  предыдущей строке: теперь 
  понятно ?  Если нет, то поэксперименти- 
  руйте - поймете. Похоже, это ошибка ав- 
  тора, все действия должны производиться 
  в текущей строке.                       
  Теперь клавиши режима команд:           
- цифры 0..9 - ввод кода символа,т.е. это 
  ввод символа не через нажатие  соответ- 
  ствующей ему клавиши, а  через ввод его 
  кода:                                   
- стрелка "вверх" -переход к началу всего 
  текста:                                 
- стрелка "вниз" -переход к концу текста: 
- "L" - УДАЛЕНИЕ текущей строки:          
- "J" - перейти к строке с нужным вам но- 
  мером, "Libe Number" - номер строки:    
- "G" - включение/выключение режима псев- 
  до-графики, к слову,псевдо-графика IBM, 
  а не SPECTRUM (помните: рожицы,рамочки, 
  уголки, ....: а не помните, так узнаете 
  сами):                                  
- "S" - поиск (Search) последовательности 
  символов, "Not Foubd" -  такой фрагмент 
  не найден:                              
- "R" - замена (Replace) одного фрагмента 
  другим:                                 
- "B" - отметить начало блока:            
- "E" - отметить конец блока:             
- "Q" - разотметить блок, снять отметку:  
- "C" - скопировать блок в  позицию  кур- 
  сора:                                   
- "M" - перенести блок в позицию курсора, 
   т.е. скопировать и уничтожить старое:  
- "D" - удалить блок:                     
- любая  другая  клавиша -  вывод  помощи 
  (HELP)  по  вышеописанным  клавишам  на 
  английском языке.                       
                                          
  Теперь  немного  о русском алфавите. Так
как в русском языке букв несколько больше,
чем в английском, то некоторые буквы можно
получить  нажав  "SYMB.SHIFT"  +  какая-то
клавиша. А в общем, русские буквы располо-
жены  по стандарту "QWERTY", ох, простите,
"ЯВЕРТЫ",  и если вы работали в Is-DOS, то
без  труда освоите их, кроме того вас ждет
сюрприз - цифры можно вводить, не переклю-
чаясь  на латинский алфавит. Для остальных
приведем  соответствие  клавиш  и  русских
букв (строчных, заглавные - тоже самое, но
в    режиме    "CAPS"   или   с   клавишей
"CAPS.SHIFT") :                           
                                          
  а - A     и - I     р - R     ш - SS/F  
  б - B     й - J     с - S     щ - SS/G  
  в - W     к - K     т - T     ъ - SS/D  
  г - G     л - L     у - U     ы - Y     
  д - D     м - M     ф - F     ь - X     
  е - E     н - N     х - H     э - SS/S  
  ж - V     о - O     ц - C     ю - SS/X  
  з - Z     п - P     ч - SS/A  я - Q     
                                          
  [SS - клавиша "SYMBOL SHIFT"]           
                                          
  Если  вы  вводите текст с далеко идущими
планами (использовать его в своей програм-
ме, или что то в этом роде), то вам полез-
но  будет знать, что русские символы зани-
мают область национальных шрифтов в табли-
це ASCII (ACKUU, а не АCЦ-2 !!) т.е. имеют
код больший, чем десятичное 127.          
                                          
   Вот в общем-то и все. Приятной работы и
хороших   и  грамотных  (очень  актуально)
текстов.                                  
                                          
P.S.  Во время подготовки номера, нас все-
таки  "пробрал" (мы же тоже люди !) много-
дисководный шовинизм - мы начали адаптацию
редактора  к  нескольким  дисководам.  Ре-
зультат трудов наших мы вам и представляем
(уважаемые владельцы N дисководов, не "за-
рывайтесь") как версию 1.5D.              
  А  теперь немного "чернухи". Оказывается
v1.0 (та, которую мы хотели включить в наш
номер,  и  которую мы описали выше) совсем
не  версия  программы,  это одна из СТАДИЙ
РАЗРАБОТКИ первой версии !!! Мы нашли, что
оказывается  в  программе  есть  процедура
собственной печати каталога диска (!!), но
из-за поставленной автором отладочной заг-
лушки   вывод  каталога  происходит  стан-
дартной  процедурой  TR-DOS.  Кроме  того,
"безалаберно" выполняется обработка "Quit"
(помните,  чуть  выше мы писали, что выход
не  срабатывает),  вернее обработка вообще
не  выполняется  никак.  И самое главное -
редактор рассчитан  также  на работу с MS-
DOS-дисками, но сделано это настолько при-
митивно (нет возможности работы с поддире-
кториями), что совершенно  непонятно,  как
работать с этими дисками. По нашему мнению
с MS-DOS-дисками лучше работать  через IS-
DOS.                                      
  Немного подумав, мы сделали версию 1.5D,
которую  и представляем вам. Теперь вместо
пункта  "Quit"  (в  подменю  "File") стоит
пункт  "mOre" (буква "O" - буква-ключ), он
позволит  вам попасть во вторую часть под-
меню "File". Там вы сможете выйти в Бейсик
(опция  "Basic", "починенный" нами "Quit")
или выбрать другой дисковод (опция "Chabge
disk",  чисто  наш  прибамбас), где в свою
очередь можно будет выбрать диск.         
  Кроме того, мы убрали несколько заглушек
и  теперь вывод каталога диска будет прак-
тически  таким, каким он был  для MS-DOS  
(хотя,каемся,мы его немного изменили, нап-
ример,  добавили  выход по клавише "Space"
между   страницами   каталога):  поставили
"заглушки"  драйвера  принтера на тот слу-
чай,  если драйвер принтера не загружен (а
загружать  его  следует  выйдя в Бейсик из
редактора).                               
  Теперь  у владельцев 128К-машин не будет
практически никаких проблем с редактором -
он  автоматически  переводит  компьютер  в
псевдо  48К-режим ("натуральный" 48К, но с
сохранением  128К-памяти). И теперь вы мо-
жете спокойно выходить в Бейсик и заходить
обратно  в  редактор,текст  сохраняется, и
компьютер не "глючит".                    
P.P.S. Чур, по ушам не бить. По голове то-
же. Счастливой охоты за меткими словами.  
══════════════════════════════════════════
                 * * * * *                
                                          



Другие статьи номера:

Вступление - Это не шутка, вы действительно читаете Cамарский Электронный Журнал!

Свиток - обзор новых программ: Space Crusade, Rebel Star 1-3.

Свиток - обзор текстового редактора: ZX IBM Editor v1.0

Обзор - обзор новых программ: Animation 2.0, Страна Мифов, Insult Megademo.

Обзор - анализ авторских программ распростронямых фирмой "Инфорком": STS v2.6, TASM 128 v3.0, FWORD FOR GENS v1.0, VIRUS 1-2, The Regeners.

Обо всём - плоды "мозгового штурма хаккера" на некоторые игры: Sea Action, НЛО Враг Неизвестен, Звёздное Наследие. Отрывок письма к группе STEP.

Ликбез - о правилах хорошего тона в программировании.

Железо - порт #FF в русских клонах Спектрума.


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Программирование - Вывод 64 символов в строке.
Юмор - школьные истории.
Реклама - реклама и объявления.
От автора - еще один номер перед отъездом...
Тусовка - О празднике газеты "Московский комсомолец".

В этот день...   19 апреля