logo
ZX-Review-1992-01-12

21. SHIFT$ (число, строка)

FN Z$(число, строка)

SHIFT$ многоцелевая функция для преобразования строковых переменных. Она имеет много разных режимов работы. Режим задается параметром "число" при вызове функции. Вот краткий обзор ее режимов.

1.Все символы строки преобразуются в верхний регистр (в прописные буквы).

2.Все символы преобразуются в нижний регистр (в строчные буквы).

3.Регистр всех символов меняется на противоположный.

4.Подавление управляющих кодов. Все символы, являющиеся управляющими кодами, за исключением символа CHR$ 13 (код ENTER) заменяются символом "точка" (".").

5.Подавление токенов ключевых слов. Символы CHR$ 128...255 заменяются символами 0...127. При этом управляющие коды, за исключением ENTER (CHR$ 13) заменяются символом ".".

6.Подавление токенов ключевых слов. Символы CHR$ 128...255 заменяются символами 0...127, при этой все управляющие коды заменяются символом ".".

7.Все ключевые слова преобразуются из токенизированной (однобайтной) формы в многобайтную (по байту на каждый символ).

8.Все ключевые слова преобразуются из формы с полным написанием в однобайтные токены. Регистр символов роли не играет. После каждого ключевого слова должен стоять небуквеный символ.

9.То же, что и предыдущий режим, но после ключевого слова может стоять любой символ.

10.То же, что и предыдущий режим, но не все ключевые слова должны быть набраны прописными литерами.

11. То же, что и режим 8, но все ключевые слова должны быть набраны прописными буквами.

SHIFT$1...SHIFT$3

Преобразования регистров. Рассмотрим примеры: SHIFT$ (1,"Basic") = "BASIC" SHIFT$ (2,"Basic") = "basic" SHIFT$ (3,"Basic") = "bASIC"

Обычное применение этих режимов преобразование символьных строк, вводимых пользователем, перед сравнением с контрольной строкой в диалоговых программах.

100 INPUT i$: IF SHIFT$(1,1$) ="Y" THEN GO TO 200

Это поможет вам уйти от целой последовательности сравнений, таких, как

IF i$ = "Y" OR i$ = "y"

При работе с базами данных, эта функция может использоваться для того, чтобы предварительно конвертировать массив записей пользователя в верхний регистр, прежде чем давать команду SORT.

SHIFT$4...SHIFT$6

Подавление управляющих кодов и токенов ключевых слов.

Эти режимы, по видимому, найдут широкое применение у тех пользователей, которые программируют в машинных кодах. Так, при просмотре содержимого памяти компьютера, Вам может быть захочется распечатать содержимое ячеек командой

PRINT CHR$(PEEK address)

Очень скоро по этой команде Вы получите сообщение об ошибке "Invalid colour". Это произойдет как только вы попытаетесь распечатать непечатный символ.

Например, последовательность 17, 200 будет интерпретироваться, как CHR$17; CHR$200, а это в переводе c машинного языка на БЕЙСИК означает PAPER 200. Компьютер отреагирует сообщением об ошибке.