Форум: "Базы";
Текущий архив: 2003.09.22;
Скачать: [xml.tar.bz2];
ВнизРасширенный поиск по базе Найти похожие ветки
← →
Anton_2003 (2003-08-30 00:17) [0]У меня есть поле "Примечание", в этом поле имеется N многострочных записей.
Вопрос:
Как мне найти (по нажатию Button) например слово "шоссе" или любое другое слово в строке "Шла Маша по шоссе и сосала сушку". Пробовал искать в цикле While not Eof с помощью Pos, но с Pos у меня не выходит(руки не туда заточены), помогите советом, как это возможно осуществить с Pos или другим методом.
← →
Anatoly Podgoretsky (2003-08-30 00:22) [1]Пробовал ты правильный метод, только наверно неправильно, алтернативным вариантом является использование запросов SQL
← →
Anton_2003 (2003-08-30 00:32) [2]Запросом я пробовал но мне он не подходит, конечно он решает проблему, но.....
← →
KDS (2003-08-30 11:30) [3]А конструкция
select * from MashaStory
where Story Like "%шоссе%"
будет работать?
Попробуй, я только предположил
← →
Anatoly Podgoretsky (2003-08-30 11:35) [4]Anton_2003 (30.08.03 00:32) [2]
Насчет запросов я ошибся, у тебя же мемо поле, так что первый метод.
← →
KDS (2003-08-30 11:38) [5]А конструкция
select * from MashaStory
where Story Like "%шоссе%"
будет работать?
Попробуй, я только предположил
← →
Anton_2003 (2003-08-30 14:40) [6]select * from MashaStory
where Story Like "%шоссе%"
Именно это и пробовал, но он показывает записи где встречается "шоссе", а мне нужно что бы, таблица оставалась не измененной.
У меня не МЕМО поле, оно "Аlpha". Может кто подскажет как использовать Pos.
← →
Anatoly Podgoretsky (2003-08-30 15:11) [7]Аlpha, тогда причем тут многострочные записи?
select не изменяет таблицу, ищи у себя ошибку, где то есть команда изменения.
← →
MsGuns (2003-08-31 18:19) [8]Можно, конечно, искать перебором всех записей, но это совершенно по-ламерски.
Если шаблон всегда начинается с 1-го символа, то locate, иначе - SQL запрос с конструкцией LIKE с последующим позиционированием на запись по ннайденному ID (тот же Locate)
Принцип Pos : выражения
pos("помощ","Это вообще-то есть в помощи"); вернет 22, а
pos("помощь","Это вообще-то есть в помощи"); вернет 0
pos("Помощ","Это вообще-то есть в помощи"); вернет 0
← →
grusty (2003-08-31 18:38) [9]Попробуй так:
procedure TForm1.Button1Click(Sender: TObject);
var
s,l: String;
begin
l:=AnsiLowerCase("Шла Маша по шоссе и сосала сушку");
s:=AnsiLowerCase("шоссе");
if Pos(s,l)<>0 then ...;
end;
Если регистр необходимо учитывать, то использовать AnsiLowerCase не нужно.
← →
MsGuns (2003-08-31 18:45) [10]>grusty © (31.08.03 18:38) [9]
procedure TForm1.Button1Click(Sender: TObject);
begin
if Pos(AnsiLowerCase("шоссе"),AnsiLowerCase("Шла Маша по шоссе и сосала сушку") then ...
end;
ИМХО, незачем громоздить в прогу лишние переменные.
← →
grusty (2003-08-31 19:11) [11]-->MsGuns
Это так принципиально? Мне кажется, что главное показать суть...
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.09.22;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.012 c