Как работать с защищёнными программами (тайники спектрума) 1990 г.

Глава 5. - "защитные" управляющие символы.


5 "ЗАЩИТНЫЕ" УПРАВЛЯЮЩИЕ СИМВОЛЫ

В этом разделе мы рассмотрим остальные управляющие
символы. Три из них касается изменения места вывода, 6 -
смены атрибутов.

Символ "УПРАВЛЯЮЩАЯ ЗАПЯТАЯ" -CHR$ 6 - "СОММА CONTROL"
Этот символ действует так же как запятая, отделяющая тексты
в инструкции PRINT, т.е. выводит столько пробелов (но не
менее одного) , чтобы оказаться в колонке 0 или 16:

PRINT " 1", "2 "
а также

PRINT "1" + CHR$ 6+"2"
имеют идентичное значение.

Символ "AT -УПРАВЛЯЮЩИЙ" - CHR$ 2 2 -AT CTRL
Этот символ позволяет переносить позиции вывода в любое
место экрана так же. как AT а инструкции PRINT. После этого
знака должны появиться два байта, определяющие номер строки
и номер колонки, в которой должен быть расположен следующий
знак:

PRINT AT 10,7, " ! "
равнозначно

PRINT CHR$ 22;CHR$ 10; CHR$ 7: "!"
Чтобы убедиться,как с помощью этого символа делать програм-
мы невидимыми < точнее листинги программ) , введем, например:

10 RANDOMIZE USR 3 0000: REM НИЧЕГО НЕ ВИДНО !
После инструкции REM введем три пробела, а после восклица-
тельного знака две управляющие запятые. Их можно получить
непосредственно с клавиатуры, нажимая последовательно клави-
ши: EXTENT (или оба SHIFTa вместе) чтобы получить курсор "Е"
а затем клавишу "6" (курсор сменит цвет на желтый) и DELETE
-курсор перескочит к ближайшей половине экрана. После ввода
этой строки заменим три этих пробела на знак AT 0,0 с
помошью РОКЕ 23774,22: РОКЕ 23775,0: РОКЕ 23776,0
Попробуем теперь посмотреть программу. На экране не появит-
ся текст всей строки - начальная часть ее закрыта надписью,
находящейся после инструкции REM и знака AT CHRL. Такие же
трудности возникают, если эту строку перенести в зону редак-
тирования (клавиша EDIT) . Координаты, заданные в символе
AT CHR$ должны находиться в поле экрана, т.е. номер строки
не может быть больше 21, номер колонки - не больше 31.
Задание больших значений в случае FRINT или LIST вызовет
сообщение "OUT OF SCREEN" и отмену дальнейшего вывода.
Если же листинг получен нажатием "ENTER" (автоматический
листинг) - также наступит прекращение дальнейшего вывода,
а кроме того в нижней части экрана появится мигающий знак
вопроса - сигнал ошибки. Следовательно это практический
способ защиты от просмотра текста для каждой программы.

Символ "ГОРИЗОНТАЛЬНАЯ ТАБУЛЯЦИЯ" -CHR$ 23 - "TAB CTRL"
После этого символа следуют два байта, определяющие номер
колонки, в которую переносится позиция вывода. Они трактуют-
ся как одно двухбайтовое число ( первый байт - младший ).
Поскольку колонок только 32, то число берется по модулю 32,
т.е. старший байт и три старших бита младшего байта игнори-
руются. Второй существенной стороной является то, что TAB
переносит позицию вывода с помощью вывода пробелов - также
как и управляющая запятая и, следовательно, может быть
использован для закрывания уже находящихся на экране
текстов.




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

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



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

Похожие статьи:
Вступление - С праздником весны.
Тема - Enlight'97 - глазами очевидца.
Наезд - Speccy VS PC: ответ на наезд одного тупого Юзера.
TRESН'SКАЗКА - CАT ДА KILLER.
Этюды - Графический эффект "плазма".

В этот день...   23 ноября