Оператор $

Возвращает значение "истина" (.T.), если данное символьное выражение содержится в другом символьном выражении, в противном случае возвращает "ложь" (.F.).

Синтаксис

cSearchFor $ cSearchIn

Результат
Логический

Параметры
cSearchFor
Задает выражение, поиск которого будут вестись в выражении cSearchIn.
cSearchIn
Задает выражение, которое просматривается в поиске cSearchFor.
Если выражение cSearchFor найдено внутри cSearchIn, функция $ возвращает значение "истина" (.T.); в противном случае возвращается "ложь" (.F.). В качестве cSearchFor и cSearchIn можно использовать символьные переменные памяти или элементы массива, поля символьного типа, символьные строковые литералы или memo-поля любой длины.
Memo-полями можно манипулировать точно так же, как полями таблицы, переменными памяти или элементами массива. Например, если MEMO_FLD определяет memo-поле, то допустимым будет следующее выражение:

LIST FOR 'FOX' $ UPPER(memo_fld)

Комментарии
Если искомое символьное выражение не найдено, возвращается значение "ложь" (.F.). Функция $ ведет поиск с учетом регистра (прописные и строчные символы различаются) и не допускает оптимизацию по технологии Rushmore.

Пример

* В следующем примере создается таблица с именем memotest,
* содержащая одно memo-поле. К таблице присоединяются три записи,
* после чего открывается окно просмотра, в котором показаны эти записи.
* Знак доллара ($) используется для получения списка записей,
* содержащих символьную строку "FOX". Файлы, созданные в процессе
* работы данной программы, после ее завершения удаляются.
CLOSE DATABASES
CLEAR
CREATE TABLE memotest (Text C(3), Memo M)
INSERT INTO  memotest (Text, Memo) VALUES ('Fox', 'Fox')
INSERT INTO  memotest (Text, Memo) VALUES ('Cat', 'Cat')
INSERT INTO  memotest (Text, Memo) VALUES ('FOX', 'FOX')
LIST FIELDS  Memo, Text FOR 'FOX' $ UPPER(Memo)
USE
DELETE FILE memotest.dbf
DELETE FILE memotest.fpt

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем.