Инструменты пользователя

Инструменты сайта


msx:basic_dialogue_programming_language:007

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
msx:basic_dialogue_programming_language:007 [2022-09-09 21:09]
GreyWolf создано
msx:basic_dialogue_programming_language:007 [2023-02-19 16:20] (текущий)
GreyWolf
Строка 56: Строка 56:
 С помощью функции ''​INKEY$''​ можно "​прочитать"​ нажатие только тех клавиш,​ которым соответствует код какого–либо символа. Это делается так: С помощью функции ''​INKEY$''​ можно "​прочитать"​ нажатие только тех клавиш,​ которым соответствует код какого–либо символа. Это делается так:
   IF INKEY$="​с и м в о л" THEN …   IF INKEY$="​с и м в о л" THEN …
-Далее, для обнаружения нажатия какой–либо из клавиш:​ <​key>​ESC</​key>,​ <​key>​TAB</​key>,​ <​key>'​Ввод '​⏎</​key>,​ <​key>​SELECT</​key>,​ <​key>​CLS/​HOME</​key>,​ <​key>​INS</​key>,​ <​key>​DEL</​key>,​ <​key>​←</​key>,​ <​key>​↑</​key>,​ <​key>​→</​key>,​ <​key>​↓</​key>,​ <​key>​CTRL+буква</​key>​ используйте оператор:​+Для обнаружения нажатия какой–либо из клавиш:​ <​key>​ESC</​key>,​ <​key>​TAB</​key>,​ <​key>'​Ввод '​⏎</​key>,​ <​key>​SELECT</​key>,​ <​key>​CLS/​HOME</​key>,​ <​key>​INS</​key>,​ <​key>​DEL</​key>,​ <​key>​←</​key>,​ <​key>​↑</​key>,​ <​key>​→</​key>,​ <​key>​↓</​key>,​ <​key>​CTRL+буква</​key>​ используйте оператор:​
   IF INKEY$=CHR$(K) THEN …   IF INKEY$=CHR$(K) THEN …
 где К — код клавиши,​ нажатия которой ожидается. где К — код клавиши,​ нажатия которой ожидается.
  
-К сожалению,​ клавиши <​key>​CAPS</​key>,​ <​key>​SHIFT</​key>,​ <​key>​GRAPH</​key>,​ <​key>​CTRL</​key>,​ <​key>​РУС</​key>,​ <​key>​STOP</​key>​ "​нечитаемы"​ операторами ''​[[#​input1|INPUT$]]''​ или ''​[[#​inkey|INKEY$]]''​. Тем не менеедля чтения этих клавиш достаточно прочесть буфер NEWKEY (11 байтов) по адресу &HFBE5 (см. [[10#​n1091|раздел X.9.1.]]).+К сожалению,​ клавиши <​key>​CAPS</​key>,​ <​key>​SHIFT</​key>,​ <​key>​GRAPH</​key>,​ <​key>​CTRL</​key>,​ <​key>​РУС</​key>,​ <​key>​STOP</​key>​ "​нечитаемы"​ операторами ''​[[#​input1|INPUT$]]''​ или ''​[[#​inkey|INKEY$]]''​. Тем не менее для чтения этих клавиш достаточно прочесть буфер NEWKEY (11 байтов) по адресу &HFBE5 (см. [[010#​n1091|раздел X.9.1.]]).
  
 {{anchor:​e0711-02}} __//​Пример 2//__. Пример программы,​ останавливаемой нажатием клавиши <​key>​SHIFT</​key>:​ {{anchor:​e0711-02}} __//​Пример 2//__. Пример программы,​ останавливаемой нажатием клавиши <​key>​SHIFT</​key>:​
Строка 217: Строка 217:
 "​сбрасывает"​ значение функциональной клавиши с номером n. "​сбрасывает"​ значение функциональной клавиши с номером n.
  
 +{{anchor:​key_list}}
 Оператор Оператор
 <​code>​ <​code>​
Строка 247: Строка 248:
 KEY 2,"​LIST"​+CHR$(13) '​При нажатии клавиши F2 выполняется команда LIST. KEY 2,"​LIST"​+CHR$(13) '​При нажатии клавиши F2 выполняется команда LIST.
 </​code>​ </​code>​
-Заметим,​ что символ ''​CHR$(13)''​ вызывает ввод команды (оператора) так жекак и нажатие клавиши <​key>'​Ввод '​⏎</​key>​!+Заметим,​ что символ ''​CHR$(13)''​ вызывает ввод команды (оператора) так же как и нажатие клавиши <​key>'​Ввод '​⏎</​key>​!
  
 Отметим,​ что при включении компьютера серии [[msx:​msx_1]] значения функциональных клавиш устанавливаются по умолчанию следующим образом:​ Отметим,​ что при включении компьютера серии [[msx:​msx_1]] значения функциональных клавиш устанавливаются по умолчанию следующим образом:​
Строка 275: Строка 276:
 {{anchor:​fk-bas}} __//​Пример.//​__ ​ {{anchor:​fk-bas}} __//​Пример.//​__ ​
 \\ Установка новых значений функциональных клавиш((Примечание редактора:​ добавлено 2019-10-20)) \\ Установка новых значений функциональных клавиш((Примечание редактора:​ добавлено 2019-10-20))
-\\ {{:​msx:​basic_programming_guide:​.examples:​fk.bas|}} \\ [[+tab|wmsxbpge>​fk.bas]]+\\ {{.examples:​fk.bas|}} \\ [[+tab|wmsxbpge>​fk.bas]]
  
 === Описание структур хранения значения функциональных клавиш === === Описание структур хранения значения функциональных клавиш ===
Строка 336: Строка 337:
 <WRAP group 99%> <WRAP group 99%>
 <WRAP half column> \\ </​WRAP>​ <WRAP half column> \\ </​WRAP>​
-<WRAP half column><​WRAP ​justify>+<WRAP half column><​WRAP ​right>
 Человеческая изобретательность ни в чем не проявляется так, как в играх. Человеческая изобретательность ни в чем не проявляется так, как в играх.
 <WRAP rightalign>​ <WRAP rightalign>​
-—//Из письма Г.Лейбница Б.Паскалю//​+—//Из письма Г.Лейбница Б.Паскалю//​
 </​WRAP></​WRAP>​ </​WRAP></​WRAP>​
 </​WRAP></​WRAP>​ </​WRAP></​WRAP>​
Строка 345: Строка 346:
 В комплекте MSX–компьютера имеется два периферийных устройства для ввода информации,​ которые называются //​джойстиками//​ ("joy stick" — "​палочка радости"​). В комплекте MSX–компьютера имеется два периферийных устройства для ввода информации,​ которые называются //​джойстиками//​ ("joy stick" — "​палочка радости"​).
  
-Подробнее джойстиках [[msx:​general_purpose_port:​general_purpose_port#​joystick|здесь]]((Примечание редактора)).+Подробнее джойстиках [[msx:​general_purpose_port:#​joystick|здесь]]((Примечание редактора)).
  
 Каждый джойстик состоит из двух блоков:​ //​рукоятки и кнопки//​. Обычно у джойстика имеется одна кнопка. Кроме того, к каждому джойстику можно присоединить дополнительно ещё по одной кнопке (отметим,​ что у некоторых моделей их две изначально!). Каждый джойстик состоит из двух блоков:​ //​рукоятки и кнопки//​. Обычно у джойстика имеется одна кнопка. Кроме того, к каждому джойстику можно присоединить дополнительно ещё по одной кнопке (отметим,​ что у некоторых моделей их две изначально!).
Строка 438: Строка 439:
 Оператор вызывает звуковой сигнал (''​BEEP''​),​ если кнопка джойстика нажата (т.е. ''​STRIG(0)''​ имеет значение -1). Оператор вызывает звуковой сигнал (''​BEEP''​),​ если кнопка джойстика нажата (т.е. ''​STRIG(0)''​ имеет значение -1).
  
-При использовании ​этой ​функции,​ например,​ в процессе компьютерной игрыкогда требуется "​вести ​стрельбу", функция ''​STRIG(0)'' ​ежесекундно задействуется много раз. Для этих частых проверок значений существует специальный термин ​//"​опрос"​//.+При использовании функции ​''​STRIG(0)''​, например,​ в процессе ​ компьютерной игры ​коростная стрельба по цели), она  ​ежесекундно ​ задействуется много раз. Для этих частых проверок значений существует ​ специальный термин "​опрос"​.
  
 Метод опроса иллюстрируется [[#​e0713-02|примером 2]]. Программа начинается с вопроса пользователю о том, располагает ли он джойстиком или работает за клавиатурой. Далее запрашиваются состояния пусковых кнопок,​ и в зависимости от Метод опроса иллюстрируется [[#​e0713-02|примером 2]]. Программа начинается с вопроса пользователю о том, располагает ли он джойстиком или работает за клавиатурой. Далее запрашиваются состояния пусковых кнопок,​ и в зависимости от
Строка 461: Строка 462:
 В ожидании нажатия клавиши "​пробел"​ опрос будет выполняться постоянно,​ что делает возможной //​немедленную//​ реакцию программы. Напомним Вам, что нажатие клавиши "​пробел"​ может также проверяться с помощью функции ''​INKEY$'',​ но в этом случае компьютер будет проверять текущее состояние буфера клавиатуры. В ожидании нажатия клавиши "​пробел"​ опрос будет выполняться постоянно,​ что делает возможной //​немедленную//​ реакцию программы. Напомним Вам, что нажатие клавиши "​пробел"​ может также проверяться с помощью функции ''​INKEY$'',​ но в этом случае компьютер будет проверять текущее состояние буфера клавиатуры.
  
-//​Замечание//​. Функция ''​STRIG(0)''​ возвращает ​(-1только,​ если клавиша "​пробел"​ нажата во время //​вычисления// ​ значения этой функции.+//​Замечание//​. Функция ''​STRIG(0)''​ возвращает -1 только,​ если клавиша "​пробел"​ нажата во время //​вычисления// ​ значения этой функции.
  
 {{anchor:​e0713-03}} __//​Пример 3//__. {{anchor:​e0713-03}} __//​Пример 3//__.
Строка 855: Строка 856:
  
 <WRAP center round important 60%> <WRAP center round important 60%>
-Перед тем, как выполнить программу,​ содержащую переход к подпрограммам по событию,​ не забудьте (если работаете на компьютере [[msx:​msx_2]]) набрать ''​[[msx:​network_basic#​CALL NETEND]]''​.+Перед тем, как выполнить программу,​ содержащую переход к подпрограммам по событию,​ не забудьте (если работаете на компьютере [[msx:​msx_2]]) ​выполнить команду ​''​[[msx:​network_basic#​CALL NETEND]]''​.
 </​WRAP>​ </​WRAP>​
  
Строка 864: Строка 865:
 <WRAP group 99%> <WRAP group 99%>
 <WRAP half column> \\ </​WRAP>​ <WRAP half column> \\ </​WRAP>​
-<WRAP half column><​WRAP ​justify>+<WRAP half column><​WRAP ​right>
 Стоять я не могу… Мои колени слабеют… \\  Стоять я не могу… Мои колени слабеют… \\ 
 душно… Где ключи? Ключи, ключи мои… душно… Где ключи? Ключи, ключи мои…
 <WRAP rightalign>​ <WRAP rightalign>​
-—//А. Пушкин//​+—//​А.Пушкин//​
 </​WRAP></​WRAP>​ </​WRAP></​WRAP>​
 </​WRAP></​WRAP>​ </​WRAP></​WRAP>​
  
-[[msx:​basic:​]] включает в себя средство,​ позволяющее использовать функциональные клавиши не только для ввода некоторого слова, но и для прерывания выполнения программы и вызова определённой подпрограммы.+Интерпретатор ​[[msx:​basic:​]] включает в себя средство,​ позволяющее использовать функциональные клавиши не только для ввода некоторого слова, но и для прерывания выполнения программы и вызова определённой подпрограммы.
  
 Оператор Оператор
Строка 890: Строка 891:
 осуществляет передачи управления подпрограммам,​ расположенным со строк n1, n2, …, nk, причём нажатие функциональной клавиши <​key>​Fk</​key>​ (k=1, 2, …, 10) приводит к передаче управления подпрограмме,​ начинающейся со строки с номером nk (k=1, 2, …, 10). Если Вы хотите использовать только некоторые функциональные клавиши,​ то пропустите ненужные номера строк (оставив запятые!). осуществляет передачи управления подпрограммам,​ расположенным со строк n1, n2, …, nk, причём нажатие функциональной клавиши <​key>​Fk</​key>​ (k=1, 2, …, 10) приводит к передаче управления подпрограмме,​ начинающейся со строки с номером nk (k=1, 2, …, 10). Если Вы хотите использовать только некоторые функциональные клавиши,​ то пропустите ненужные номера строк (оставив запятые!).
  
-{{anchor:key1}}+{{anchor:key_on}}
 Предварительно функциональную клавишу <​key>​Fk</​key>​ необходимо "​активизировать"​ оператором Предварительно функциональную клавишу <​key>​Fk</​key>​ необходимо "​активизировать"​ оператором
 <WRAP group> <WRAP group>
Строка 906: Строка 907:
 Теперь перед выполнением каждого нового оператора программы интерпретатор будет проверять,​ не была ли нажата какая–нибудь "​активизированная"​ функциональная клавиша,​ и если такое нажатие произошло,​ то интерпретатор вызывает соответствующую подпрограмму. Теперь перед выполнением каждого нового оператора программы интерпретатор будет проверять,​ не была ли нажата какая–нибудь "​активизированная"​ функциональная клавиша,​ и если такое нажатие произошло,​ то интерпретатор вызывает соответствующую подпрограмму.
  
 +{{anchor:​key_off}}
 Для блокирования (запрещения) такого вызова необходимо выполнить оператор Для блокирования (запрещения) такого вызова необходимо выполнить оператор
 <WRAP group> <WRAP group>
Строка 919: Строка 921:
 Как и в предыдущих случаях,​ значение в скобках k определяет номер функциональной клавиши,​ для которой выполняется данный оператор. Как и в предыдущих случаях,​ значение в скобках k определяет номер функциональной клавиши,​ для которой выполняется данный оператор.
  
-Иногда возникает необходимость временно оградить программу от прерываний,​ вызываемых функциональными клавишами,​ и в то же время запомнить каждое нажатие такой клавиши с темчтобы впоследствии можно было выполнить все соответствующие вызовы подпрограммы. Это достигается с помощью оператора+{{anchor:​key_stop}} 
 +Иногда возникает необходимость временно оградить программу от прерываний,​ вызываемых функциональными клавишами,​ и в то же время запомнить каждое нажатие такой клавишис тем чтобы впоследствии можно было выполнить все соответствующие вызовы подпрограммы. Это достигается с помощью оператора
 <WRAP group> <WRAP group>
 <WRAP half column> <WRAP half column>
Строка 972: Строка 975:
   - Наберите [[#​e0721-02|пример 2]], вставив строку:​ <​code>​135 IF I=50 THEN KEY(1)STOP</​code>​   - Наберите [[#​e0721-02|пример 2]], вставив строку:​ <​code>​135 IF I=50 THEN KEY(1)STOP</​code>​
  
-Оператор ''​ON KEY GOSUB''​ позволяет легко организовывать "​листание"​ законченных программных фрагментов во время выполнения программынапример,​ страницы справочной информации 1÷3 вызываются нажатием на клавиши+Оператор ''​ON KEY GOSUB''​ позволяет легко организовывать "​листание"​ законченных программных фрагментов во время выполнения программынапример,​ страницы справочной информации 1÷3 вызываются нажатием на клавиши
 <​key>​F1</​key>​÷<​key>​F3</​key>,​ демонстрационный пример выполняется при нажатии клавиши <​key>​F4</​key>,​ <​key>​F1</​key>​÷<​key>​F3</​key>,​ демонстрационный пример выполняется при нажатии клавиши <​key>​F4</​key>,​
 выход из программы — при нажатии клавиши <​key>​F5</​key>​ и т.д. выход из программы — при нажатии клавиши <​key>​F5</​key>​ и т.д.
Строка 1119: Строка 1122:
 90 RETURN 90 RETURN
 </​code>​ </​code>​
-На закуску отметим интересный факт:+"На закуску" ​отметим интересный факт:
 \\ {{.examples:​0723-012.bas|}} \\ [[+tab|wmsxbpge>​0723-012.bas]] \\ {{.examples:​0723-012.bas|}} \\ [[+tab|wmsxbpge>​0723-012.bas]]
 <​code>​ <​code>​
Строка 1178: Строка 1181:
   * n4 — номер первой строки подпрограммы,​ которой передаётся управление при нажатии кнопки 2 джойстика 2.   * n4 — номер первой строки подпрограммы,​ которой передаётся управление при нажатии кнопки 2 джойстика 2.
  
-Для тогочтобы переход к подпрограмме по джойстику был возможен,​ его можно подтвердить,​ отменить или приостановить соответственно операторами+Для того чтобы переход к подпрограмме по джойстику был возможен,​ его можно подтвердить,​ отменить или приостановить соответственно операторами
 <WRAP group> <WRAP group>
 <WRAP half column> <WRAP half column>
Строка 1390: Строка 1393:
 </​WRAP>​ </​WRAP>​
   - <​WRAP>​ Приоритет (в порядке убывания) при одновременном возникновении событий:​   - <​WRAP>​ Приоритет (в порядке убывания) при одновременном возникновении событий:​
-  * обработка ошибок в программе пользователя +  * обработка ошибок в программе пользователя; 
-  * ''​[[07#​onkeygosub|ON KEY GOSUB]]''​ +  * ''​[[007#​onkeygosub|ON KEY GOSUB]]''​; 
-  * ''​[[07#​onstopgosub|ON STOP GOSUB]]''​ +  * ''​[[007#​onstopgosub|ON STOP GOSUB]]''​; 
-  * ''​[[05#​onspritegosub|ON SPRITE GOSUB]]''​ +  * ''​[[005#​onspritegosub|ON SPRITE GOSUB]]''​; 
-  * ''​[[07#​onstickgosub|ON STICK GOSUB]]''​ +  * ''​[[007#​onstickgosub|ON STICK GOSUB]]''​; 
-  * ''​[[07#​onstringgosub|ON STRIG GOSUB]]''​ +  * ''​[[007#​onstringgosub|ON STRIG GOSUB]]''​; 
-  * ''​[[07#​onintervalgosub|ON INTERVAL GOSUB]]''​ +  * ''​[[007#​onintervalgosub|ON INTERVAL GOSUB]]''​; 
-  * [[msx:​network_basic|прерывания в локальной сети]]+  * [[msx:​network_basic|прерывания в локальной сети]];
   * другие прерывания.   * другие прерывания.
 </​WRAP>​ </​WRAP>​
Строка 1636: Строка 1639:
   * ''​SET'',​ ''​PROMPT''​ — служебные слова;   * ''​SET'',​ ''​PROMPT''​ — служебные слова;
   * подсказка — значение строковой константы,​ длина которого не более 6 символов;​   * подсказка — значение строковой константы,​ длина которого не более 6 символов;​
-переопределяет подсказку Ok.+позволяет ​переопределить стандартную системную ​подсказку Ok.
  
 Примечание. Можно сохранить результат действия только одного из операторов ''​[[#​settitle|SET TITLE]]'',​ ''​[[#​setpassword|SET PASSWORD]]''​ или ''​[[#​setprompt|SET PROMPT]]'':​ использованный последним "​замещает"​ предыдущий. Примечание. Можно сохранить результат действия только одного из операторов ''​[[#​settitle|SET TITLE]]'',​ ''​[[#​setpassword|SET PASSWORD]]''​ или ''​[[#​setprompt|SET PROMPT]]'':​ использованный последним "​замещает"​ предыдущий.
Строка 1676: Строка 1679:
 <WRAP group 99%> <WRAP group 99%>
 <WRAP half column> \\ </​WRAP>​ <WRAP half column> \\ </​WRAP>​
-<WRAP half column><​WRAP ​justify>+<WRAP half column><​WRAP ​right>
 Мартобря 86 числа. Мартобря 86 числа.
 <WRAP rightalign>​ <WRAP rightalign>​
-—//Н.Гоголь. Записки сумасшедшего//​+—//​Н.Гоголь. Записки сумасшедшего//​
 </​WRAP></​WRAP>​ </​WRAP></​WRAP>​
 </​WRAP></​WRAP>​ </​WRAP></​WRAP>​
Строка 1762: Строка 1765:
 <WRAP group 99%> <WRAP group 99%>
 <WRAP half column> \\ </​WRAP>​ <WRAP half column> \\ </​WRAP>​
-<WRAP half column><​WRAP ​justify>+<WRAP half column><​WRAP ​right>
 Всё врут календари. Всё врут календари.
 <WRAP rightalign>​ <WRAP rightalign>​
Строка 1808: Строка 1811:
 Команда ''​GET TIME Z$,​A''​ возвращает значение,​ определяющее время подачи подачи сигнала. Команда ''​GET TIME Z$,​A''​ возвращает значение,​ определяющее время подачи подачи сигнала.
 </​WRAP>​ </​WRAP>​
-Отметим,​ что подача сигнала не является автоматической. Для её осуществления необходимо использовать подпрограмму,​ сравнивающую текущие дату и время с заданными параметром Aи в случае совпадения выдающую сигнал ''​BEEP''​ или определённое сообщение.+Отметим,​ что подача сигнала не является автоматической. Для её осуществления необходимо использовать подпрограмму,​ сравнивающую текущие дату и время с заданными параметром A и в случае совпадения выдающую сигнал ''​BEEP''​ или определённое сообщение.
  
 __//​Примеры//​__:​ __//​Примеры//​__:​
Строка 1850: Строка 1853:
 Ok Ok
 </​code>​ </​code>​
-  * <​WRAP>​{{anchor:​e073-06}} 6) Ваш компьютер можно использовать и в бытовых целях. Если не хотите опаздывать на свидание,​ пользуйтесь возможностями компьютеров [[msx:​msx_2]] ​!!!+  * <​WRAP>​{{anchor:​e073-06}} 6) Ваш компьютер можно использовать и в бытовых целях. Если не хотите опаздывать на свидание,​ пользуйтесь возможностями компьютеров [[msx:​msx_2]] !
 \\ {{.examples:​073-06.bas|}} \\ [[+tab|wmsxbpge>​073-06.bas]] \\ {{.examples:​073-06.bas|}} \\ [[+tab|wmsxbpge>​073-06.bas]]
 <​code>​ <​code>​
Строка 1871: Строка 1874:
 </​WRAP>​ </​WRAP>​
   * <​WRAP>​ {{anchor:​dt-bas}} Настройка [[msx:​rtc|часов реального времени]].((Примечание редактора:​ добавлено 2019-10-18))   * <​WRAP>​ {{anchor:​dt-bas}} Настройка [[msx:​rtc|часов реального времени]].((Примечание редактора:​ добавлено 2019-10-18))
-\\ {{:​msx:​basic_programming_guide:​.examples:​dt.bas|}} \\ [[+tab|wmsxbpge>​dt.bas]]+\\ {{.examples:​dt.bas|}} \\ [[+tab|wmsxbpge>​dt.bas]]
 </​WRAP>​ </​WRAP>​
  
  
-Также средством инициализации является файл [[msx:​basic_programming_guide:​09#​autoexecbas|AUTOEXEC.BAS]].+Также средством инициализации является файл [[009#​autoexecbas|AUTOEXEC.BAS]].
  
 {{anchor:​call}} {{anchor:​call}}
Строка 1900: Строка 1903:
  
 Используется в следующих случаях:​ Используется в следующих случаях:​
-  * [[09#​ramdisk|Использование RAM–диска]]+  * [[009#​ramdisk|Использование RAM–диска]]
   * [[msx:​disk_basic]]   * [[msx:​disk_basic]]
   * [[msx:​network_basic]]   * [[msx:​network_basic]]
Строка 1994: Строка 1997:
   * //​уплотнённая//​.   * //​уплотнённая//​.
  
-Каждая из них может быть изменена с помощью команды расширения режима печати,​ при этом шаг увеличивается в два раза (см. [[07#​n7413|раздел VII.4.1.3.]]).+Каждая из них может быть изменена с помощью команды расширения режима печати,​ при этом шаг увеличивается в два раза (см. [[007#​n7413|раздел VII.4.1.3.]]).
  
 Предлагаем Вашему вниманию таблицу:​ Предлагаем Вашему вниманию таблицу:​
Строка 2058: Строка 2061:
 <WRAP group 99%> <WRAP group 99%>
 <WRAP half column> \\ </​WRAP>​ <WRAP half column> \\ </​WRAP>​
-<WRAP half column><​WRAP ​justify+<WRAP half column><​WRAP ​right
-"​M∗∗∗ сказал молодому человеку,​ который не замечал,​что его любит женщина:"​Вы ещё так юны, что, видно, разбираете ​ только крупный шрифт"​.+"M<sup>∗∗∗</​sup> ​сказал молодому человеку,​ который не замечал,​что его любит женщина:"​Вы ещё так юны, что, видно, разбираете ​ только крупный шрифт"​.
 <WRAP rightalign>​ <WRAP rightalign>​
-—//Себастьян ​Шамфор. Характеры и анекдоты//​+—//С.Шамфор. Характеры и анекдоты//​
 </​WRAP></​WRAP>​ </​WRAP></​WRAP>​
 </​WRAP></​WRAP>​ </​WRAP></​WRAP>​
Строка 2408: Строка 2411:
 |для шага //"​цицеро"//​|136| |для шага //"​цицеро"//​|136|
 |для шага //"​элите"//​|163| |для шага //"​элите"//​|163|
-|для //​уплотняемого// шага|233|+|для //​уплотненного// шага|233|
  
 {{anchor:​e074-17}} __//​Пример 17//__. Установка полей. {{anchor:​e074-17}} __//​Пример 17//__. Установка полей.
Строка 2469: Строка 2472:
 LPRINT CHR$(27);"​(";"​n11n12n13,​n21n22n23,​...nn1nn2nn3."​ LPRINT CHR$(27);"​(";"​n11n12n13,​n21n22n23,​...nn1nn2nn3."​
 </​code>​ </​code>​
-При этом аннулируются все позиции текущей горизонтальной табуляции и устанавливает новые, определённые трёхзначными числами.+При этом аннулируются все позиции текущей горизонтальной табуляции и навливаются новые, определённые трёхзначными числами.
 \\ {{.examples:​074-183.bas|}} <​code>​ \\ {{.examples:​074-183.bas|}} <​code>​
 1 POKE &​HF418,​1 1 POKE &​HF418,​1
Строка 2483: Строка 2486:
 Метки будут установлены в колонках 8, 16 и 24. Запятые в 10–й строке используются для разделения цепочки меток, точка — для окончания определения. Метки будут установлены в колонках 8, 16 и 24. Запятые в 10–й строке используются для разделения цепочки меток, точка — для окончания определения.
 </​WRAP>​ </​WRAP>​
-  * <​WRAP>​ 4) Для тогочтобы стереть часть горизонтальных меток из набора печатающего устройства,​ существует следующая команда:​+  * <​WRAP>​ 4) Для того чтобы стереть часть горизонтальных меток из набора печатающего устройства,​ существует следующая команда:​
 <​code>​ <​code>​
 LPRINT CHR$(27);"​)";"​n11n12n13,​n21n22n23,​...nn1nn2nn3."​ LPRINT CHR$(27);"​)";"​n11n12n13,​n21n22n23,​...nn1nn2nn3."​
Строка 2595: Строка 2598:
 <WRAP group 99%> <WRAP group 99%>
 <WRAP half column> \\ </​WRAP>​ <WRAP half column> \\ </​WRAP>​
-<WRAP half column><​WRAP ​justify>+<WRAP half column><​WRAP ​right>
 — Боюсь, что от объяснений все проигрывает,​— сказал он. \\ — Боюсь, что от объяснений все проигрывает,​— сказал он. \\
 — Одни только результаты впечатляют гораздо больше. — Одни только результаты впечатляют гораздо больше.
 <WRAP rightalign>​ <WRAP rightalign>​
-—//​Конан Дойль. Приключения клерка//​+—//А.Конан Дойль. Приключения клерка//​
 </​WRAP></​WRAP>​ </​WRAP></​WRAP>​
 </​WRAP></​WRAP>​ </​WRAP></​WRAP>​
Строка 2649: Строка 2652:
 <WRAP group 99%> <WRAP group 99%>
 <WRAP half column> \\ </​WRAP>​ <WRAP half column> \\ </​WRAP>​
-<WRAP half column><​WRAP ​justify>+<WRAP half column><​WRAP ​right>
 Сделаешь раз по сто — вот и будет просто.<​WRAP rightalign>​ Сделаешь раз по сто — вот и будет просто.<​WRAP rightalign>​
-—//П. Федотов//​+—//​П.Федотов//​
 </​WRAP></​WRAP>​ </​WRAP></​WRAP>​
 </​WRAP></​WRAP>​ </​WRAP></​WRAP>​
Строка 2717: Строка 2720:
 выполняет макрокоманду,​ которая предварительно была определена при помощи макроопределения. выполняет макрокоманду,​ которая предварительно была определена при помощи макроопределения.
  
-После описания макроопределенияВы можете использовать макрокоманду в любой требуемый момент времени и печатающее устройство будет "​делать"​ все, что Вы включили в макроопределение.+После описания макроопределения Вы можете использовать макрокоманду в любой требуемый момент времени и печатающее устройство будет "​делать"​ все, что Вы включили в макроопределение.
  
 {{anchor:​e074-22}} __//​Пример 22//__. Макроопределение для установки принтера в исходное положение всех стилей печати. {{anchor:​e074-22}} __//​Пример 22//__. Макроопределение для установки принтера в исходное положение всех стилей печати.
Строка 2753: Строка 2756:
 <WRAP group 99%> <WRAP group 99%>
 <WRAP half column> \\ </​WRAP>​ <WRAP half column> \\ </​WRAP>​
-<WRAP half column><​WRAP ​justify>+<WRAP half column><​WRAP ​right>
 Все правила достойного поведения давным–давно известны,​ Все правила достойного поведения давным–давно известны,​
 остановка за малым — за умением ими пользоваться. остановка за малым — за умением ими пользоваться.
 <WRAP rightalign>​ <WRAP rightalign>​
-—//Блез ​Паскаль. Мысли//​+—//Б.Паскаль. Мысли//​
 </​WRAP></​WRAP>​ </​WRAP></​WRAP>​
 </​WRAP></​WRAP>​ </​WRAP></​WRAP>​
msx/basic_dialogue_programming_language/007.1662746955.txt.gz · Последние изменения: 2022-09-09 21:09 — GreyWolf