logo
ZX-Review-1992-01-12

34. LIST FORMAT число.

Эта команда использует сразу два ключевых слова БЕЙСИКа и предназначена для того, чтобы управлять форматом листинга Вашей программы, т.е. с ее помощью можно получить распечатку программы в удобном для восприятия виде.

Команда имеет несколько режимов, которые задаются параметром. Начальное состояние после загрузки Бета Бейсика LIST FORMAT 0.

LIST FORMAT 0.

Эта команда дает распечатку, похожую на ту, которую мы получаем в стандартном БЕЙСИКе, но есть незначительное отличие, заключающееся в том, что если строка программы длиннее, чем строка экрана, то перенос ее на вторую экранную строку выполняется со сдвигом. Таким образом, левые пять столбцов экрана содержат только номера программных строк и текст становится более разборчивым и удобочитаемым.

LIST FORMAT 1.

Распечатка по этой команде делается таким образом, что каждый оператор печатается с новой строки. Более того, некоторые из операторов (см. ниже) печатаются со смещением вправо на одну позицию, что позволяет распечатывать программу "лесенкой", так как это принято в языках, поддерживающих структурное программирование, например "ПАСКАЛЬ", "СИ" и др.

LIST FORMAT 2.

Действие то же, что и для LIST FORMAT 1, но автоматическое смешение для некоторых операторов выполняется не на одну, а на две позиции вправо.

LIST FORMAT 3.

Действие то же, что и для LIST FORMAT 0, но печать программы выполняется без номеров строк.

LIST FORMAT 4.

Действие то же, что и для LIST FORMAT 1, но печать программы выполняется без номеров строк.

LIST FORMAT 5.

Действие то же, что и для LIST FORMAT 2, но без номеров строк.

Для глаза приятнее воспринимать смещение "лесенкой" на две позиции, но поскольку у нас невелика ширина экранной строки всего 32 символа, то ее может оказаться недостаточным и поэтому введены режимы 1 и 4.

Появление в тексте программы следующих операторов вызывают автоматический сдвиг листинга:

DEF PROC, DO, FOR сдвигают все последующие операторы вправо на один или на два символа до тех пор, пока не встретятся соответствующие им END PROC, LOOP или NEXT.

Операторы IF, ON ERROR и ON сдвигают все прочие операторы своей программной строки вправо.

Операторы ELSE и EXIT IF отменяют сдвиг текущего оператора на одну или две позиции.

Если Вам захочется, чтобы оператор после ELSE или THEN печатался с новой строки, то Вы можете после них поставить двоеточие.

Пример действия команд LIST FORMAT 0 и LIST FORMAT 2 показан ниже.