Иллюстрированный самоучитель по Basic, вводный курс

Функция определения вхождения подстроки. Функция INKEY$.

Допустим, мы хотим найти в тексте какое-либо слово. Нам на помощь приходит функция instr, имеющая следующий синтаксис:

INSTR(N, F$, R$)

Где n – позиция, с которой вы хотите начинать поиск (необязательный параметр), f$ – строковая переменная, в которой будет производиться поиск, r$ – подстрока, поиск которой осуществляется. В случае отсутствия этой позиции поиск начнется с первого символа строковой переменной.

Функция instr укажет нам номер позиции, с которой начинается вхождение искомой подстроки, или 0 в следующих случаях:

? подстрока не найдена;

? значение N больше длины исходной строковой переменной;

? длина строковой переменной нулевая.

Если подстрока пустая, то результатом будет n, а при его отсутствии – 1. Поиск прекращается с первым нахождением подстроки. Например:

CLS
Р$="Свиноводство, овцеводство, пчеловодство"
Р$="чело"
N=INSTR (F$, R$)
IF N о О THEN? "Слово 'чело' в исходной строке есть и начинается с"; N; "позиции"

Результатом выполнения программы будет фраза:

Слово 'чело' в исходной строке есть и начинается с 29 позиции

235. Заменить в исходном тексте "photo, graph, philophon, cophe" все сочетания "ph" на символ "Г.

Функция INKEY$

Вернемся еще раз к организации пауз и задержек в вашей программе. Мы уже делали это с помощью пустого оператора цикла, с помощью оператора sleep. Есть еще одна полезная функция inkey$, которая ожидает нажатия определенной клавиши, анализирует поступающую информацию об уже нажатых клавишах, и, в зависимости от результатов анализа, программа следует по тому или иному пути. Например:

CLS
? "Нажмите любую клавишу для продолжения…"
WHILE INKEY$=""
WEND
? "Продолжение…"

Можно задать и определенную клавишу для продолжения выполнения программы:

CLS
? "Нажмите клавишу ESC для продолжения…"
WHILE INKEY$OCHR$ (27)
WEND

Замечание
Функция inkey$ работает только вместе с условным оператором
.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.