Вычислительная техника и её применение 1991-3 1970 г.

Д.Ю.Усенков - текстовый редактор.


Д.Ю.Усенков (г.Москва)

ТЕКСТОВЫЙ РЕДАКТОР

Существует много программ, позволяющих записывать в память ЭВМ и на
дискету текстовые файлы, при необходимости их корректировать, хранить на
каком-нибудь внешнем носителе, а когда понадобится — вывести текст на
экран и даже распечатать его на принтере. У БК-0010 возможности, конечно,
гораздо скромнее: нет принтера, меньше объем памяти, вместо дискеты-маг-
нитная лента, а значит, нельзя, исправив текст, записать его на старое место
(хотя иногда, когда программы на ленте записаны не очень плотно, это все-та-
ки удается, но такой случай скорее исключение, чем правило). Однако и для
БК существуют программы, позволяющие хотя бы записать текст, хранить его
на магнитофоне и потом вывести его на экран. Так, кооперативная служба ти-
ражирования программ СБИС (для интересующихся адрес: 167024, г.Сыктыв-
кар, а/я 430, кооператив СБИС, СТП; телефон в Сыктывкаре: 7-20-69) высыла-
ет наложенным платежом среди прочих программы EDASP (экранный редак-
тор текстов), BASE (база данных: справочники, каталоги и т.п.), MBD (микро-
база для создания словарей) и т.д. Однако эти программы в кооперативе,
мягко говоря, недешевы, да и не очень это просто — по почте переслать
кассету в Сыктывкар и обратно. Кроме того, судя по описанию, эти програм-
мы создают файл только в "своем" формате, т.е. для того, чтобы прочитать
(вывести на экран) записанный текстовый файл, нужно сначала записать в па-
мять программу-редактор, а затем записать в память БК еще и сам текст.

Текстовый редактор для БК хотя и не имеет возможности редактирования
текста, записанного на магнитофон ранее и считанного после этого в память
(можно редактировать текст только в процессе записи и в пределах одного
окна, об этом см.далее), зато созданный с ее помощью текст становится абсо-
лютно самостоятельной программной единицей. И теперь, чтобы вывести
текст на экран, достаточно считать его в память БК и запустить как обычную
программу в машинных кодах с адреса 1000.

А теперь немного о том, как пользоваться текстовым редактором. Сразу
же после запуска Редактора (запускать его можно только из ФОКАЛа, с под-
ключенным блоком МСТД, в режимах ТС или монитора) на экран выводится
краткий текст-подсказка о том, как работать с программой, и приглашение:
PRESS ANY KEY (НАЖМИТЕ ЛЮБУЮ КЛАВИШУ). После нажатия какой-ни-
будь клавиши экран очищается и устанавливается режим "64 символа в стро-
ке". После этого можно вводить текст и команды управления экраном. В слу-
чае ошибки можно тут же ее исправить, пользуясь клавишами редактирования
(см.прилагаемое к БК-0010 "БЕЙСИК". Руководство оператора. § 5.2. Клави-
ши редактирования.). При этом можно перемежать текст рисунками (операто-
ры ГРАФ, ЗАП, СТИР). Однако нужно помнить, что, во-первых, режимы
"32/64 символа в строке", "Инв.экрана", "Курсор" нужно задавать не теми
командами, которые указаны в руководстве пользователя БК-0010, а коман-
дами: "АР2 + "СУ + АР2 + Щ", "АР2 + ^ " соответственно, а во-вторых, все
включенные в данном окне режимы ("Инв.символы", "Подчерк." и т.д.) дол-
жны быть выключены до смены окна, иначе полученный в результате работы
текстового редактора текст не будет соответствовать введенному вами. Когда
экран заполнен текстом (следите, чтобы он не сместился вверх, — это быва-
ет, когда вы попытаетесь перевести курсор ниже нижнего края экрана),
подайте команду смены окна АР2 + ВВОД. При этом экран очистится и устано-
вится в первоначальный режим — БК готов к вводу новой порции текста. Ко-
манда смены окна нужна затем, чтобы потом при чтении записанного текста
БК остановил вывод текста на экран и дал возможность его прочитать. (После
прочтения для продолжения вывода текста достаточно будет нажать любую
клавишу.) Когда текст будет введен полностью, нажмите клавишу КТ. Про-
грамма-Редактор окончит свою работу, сообщит адреса начала и конца запи-
санного текста и выйдет в монитор. После этого вы должны перейти в режим
ТС и записать программу-текст на магнитофон. Переход к ТС из монитора де-
лается так (ответы на запрос БК подчеркнуты):
? <РУС> Т

+ Ш

X

Появление на экране символа-приглашения )Х означает, что режим ТС
включен. После этого с помощью команды МЗ запишите текст на магнитофон
(адрес-адресу начала; длина = адресу конца-1000). Имя можно дать любое
(длина не более 16 символов), но я советую в конце имени писать ".ТХТ", как
это делается, например, в MS DOS. Это позволит потом отличить программу-
текст от других программ в кодах. После того как текст записан на магнито-
фон, вы можете проконтролировать результат работы: режим ТС, команда
1000G. И еще: полученную программу-текст можно запускать как из режима
ТС (1000G), так и из обоих мониторов (команда С1 ООО).

Текст программы "Текстовый редактор" в восьмеричных машинных кодах

(по блокам длиной 200 байт, с контрольными суммами):

1000: 104014

012701

001052

012702

37120

021127

000222

001402

012122

000773

005012

012701

001734

012702

105000

104020

104006

012702

001000

000137

037120

004737

037746

004737

037456

005004

010201

005201

005201

010113

104006

020027

000212

001416

020027

000003

001425

020027

000201

001452

110021

005204

010005

104016

020127

037102

103076

000756

110021

005204

000241

006204

103001

005201

010112

010102

000734

000765

112721

000212

005204

000241

006204

103001

Контрольная сумма: 144617

1200: 005201

010112

005021

010104

012701

037574

012702

000152

104020

162704

000000

032704

100000

001405

012700

000061

104016

000404

000445

012700

000060

104016

012705

000004

012700

000031

104016

077502

012705

000005

010400

042700

177770

062700

000060

104016

012700

000010

104016

104016

006204

006204

006204

077516

000000

010146

010246

012701

037524

012702

000050

104020

104006

012602

012601

000702

032737

000100

177716

001275

010500

104016

011021

005204

Контрольная сумма: 012374

1400: 012700

075000

077001

000764

012705

037504

012704

000010

012522

021527

177777

001001

010203

077406

000207

104014

012701

177777

012702

105000

104020

104006

000137

025012

025052

000000

170000

166741

172361

020370

160772

167760

167354

167345

020341

167760

167354

171757

174364

000340

000000

025052

005052

015414

014431

171360

163757

160762

166755

020341

160772

167753

177356

166351

020341

160762

167742

172764

005056

014412

160767

020373

160746

166352

Контрольная сумма: 044025

1600: 167040

164341

162357

172351

170763

173440

170040

166741

172361

005351

170031

020357

162341

162762

160763

035355

030440

030060

026460

005012

175031

170341

171765

035353

030061

030060

027107

015012

015032

030625

032065

112431

010046

104034

030027

000001

001403

012700

000233

1С4016

012700

000014

104016

012600

000207

000222

020341

006233

116623

015621

014431

014431

014431

172031

165745

172363

173757

165371

020040

162762

160744

172353

171357

015412

Контрольная сумма: 151611

2000: 014622

164031

140722

142716

144716

020305

140767

144733

020310

151320

143717

140722

153440

014412

014431

152431

147704

147302

145317

145454

146717

140720

152313

147716

020312

147706

146722

027305

015412

170031

147722

151307

146701

140715

155040

150301

151711

153731

142701

020324

140767

020333

142724

151713

005324

020327

140706

146312

145454

152317

151317

145331

173440

020331

147715

142726

142724

155040

150301

026711

151412

152301

020330

Контрольная сумма: 101211

2200: 140716

146440

143057

144054

140722

144716

154324

147040

020301

140715

147307

152311

147716

146312

147305

142724

144440

153440

153731

142317

152311

020330

140716

156040

151313

147301

155054

150301

151725

145455

150701

143040

145301

026314

140713

020313

027720

151320

153440

145440

142317

144301

151440

140440

026704

151012

151705

020301

030621

030060

111060

005056

014433

151360

020311

153727

142317

020305

151711

147720

154314

152732

152312

020305

Контрольная сумма: 000174

2400: 147713

140715

142316

035331

005012

014431

031063

033057

020064

014323

026430

160621

031362

126453

020040

111040

147311

027327

027334

110455

172763

160453

031362

176453

111012

014431

152713

151720

014030

151722

026456

160621

031362

131453

020040

111040

147720

152327

151317

110455

170074

173757

037364

111012

014431

142720

142722

147710

020304

020313

146323

142305

147456

147313

026725

160621

031362

036053

173767

162357

111076

014431

145717

147317

Контрольная сумма: 166147

%

2600: 140736

144716

020305

140722

147702

154724

110455

165474

037364

005222

014433

151757

140724

154314

154716

020305

144723

153715

146317

026731

142702

020332

155311

142715

142716

144716

015712

014431

014431

110431

162766

160754

020340

172440

170363

164345

020341

003441

003407

003407

003407

003407

015407

111010

071120

071545

020163

062553

027171

Контрольная суь

115432

ма: 150:

000212
137

000000

000000

000000

000000

000000

Последний блок неполный и имеет длину 160 байт. Все остальные блоки
имеют длины по 200 байт.

Данные для контроля ввода по всей программе:
Адрес: 1000 Длина: 1760 Контрольная сумма: 035170

Программу вводите аккуратно, по блокам, с проверкой по контрольным
суммам каждого блока. (Напомню как это делать: команда
<А1>А<Дл>ДХ — машина продолжит введенную строку: = хххххх, где
<А1> — адрес начала блока программы, <Дл> — длина блока, а
хххххх — выданное машиной значение контрольной суммы.) После ввода по-
следнего блока проверьте контрольную сумму этого блока, а затем конт-
рольную сумму всей программы (команда 1000А1760ДХ). Если ввод произве-
ден верно, запишите программу на магнитофон командой МЗ.

Комментарий автора к программе

Возможно, кто-то будет несколько удивлен, что и сама программа-редак-
тор, и создаваемый ею текст должны запускаться с адреса 1000. Адрес 1000
считается при программировании БК-0010 как бы стандартным — это наи-
меньший адрес памяти, отводимой под пользовательские программы. Поэто-
му было желательно запускать и саму программу, и порождаемый ею текст с
адреса 1000. Достигается это следующим образом: программа-редактор за-
пускается с адреса 1000, при этом начинает работать первая часть программы,
перемещающая загрузчик. Программа, во-первых, выводит на экран текст-
подсказку, а во-вторых, перемещает активную часть программы в самый
"дальний" конец памяти, освобождая, таким образом место для генерируе-
мого программой текста. Закончив свою работу, загрузчик передает управле-
ние основной активной части программы, а потом, при работе редактора, текст
загрузчика, старая активная часть и текст подсказки замещаются вводимым в
редактор текстом. Поэтому после создания и записи на магнитофон текстово-
го файла, если вы захотите записать еще один новый текст, нужно будет счи-
тать с ленты магнитофона программу текстовый редактор заново. И еще: по-
сле того как созданный текст записан на магнитофон, вы можете сразу же, не
выключая компьютер, просмотреть его на экране. Для этого нужно ввести ко-
манду 1000G (в режиме ТС) или С1000 (для монитора).

Заключение рецензента

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

К достоинствам программы Д.Ю.Усенкова относятся простота создания текста с рисунка-
ми и удобство просмотра готовой информации. Для просмотра требуются загрузка и запуск
только одного файла, а не двух, как это нужно при использовании, например, редакторов
EDASP.

Объем записываемого в память БК материала существенно зависит от количества сделан-
ных пользователем исправлений при создании файла.

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

К недостаткам следует отнести:

- невозможность повторного редактирования текста, записанного на магнитную ленту;

- необходимость выхода из редактора для записи созданного текста на МЛ и повторной
загрузки редактора после записи на магнитную ленту текста;

- невозможность возврата к предыдущей странице редактируемого материала;

- сохранение на МЛ редактирующих кодов.

Несмотря на недостатки, программа может найти свою "экологическую нишу" в широком
спектре программ — редакторов текстов.

Л.Н.Жариков




СОДЕРЖАНИЕ:


  Оставте Ваш отзыв:

  НИК/ИМЯ
  ПОЧТА (шифруется)
  КОД



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

Похожие статьи:
Форум - Interner на Спектруме: терминальную программу для компьютера Scorpion, позволяющую работать в текстовом режиме со станциями BBS.
Проходилка - прохождение игры New Dizzy.
Письмо - Творческому коллективу газеты MOVE.
Pokes - бессмертие к играми.
TOP ZX - Лучшие игры, журналы, системки...

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