Функция определения вхождения подстроки. Функция 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$ работает только вместе с условным оператором.