Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.22;
Скачать: CL | DM;

Вниз

Расширенный поиск по базе   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.017 c
14-71938
Johnny Smith
2003-08-29 11:12
2003.09.22
Стимул.


3-71509
Eagle Owl
2003-08-30 00:28
2003.09.22
Добавление поля к таблице


14-71886
Local Administrator
2003-09-03 23:36
2003.09.22
Люди тестирую новый сервер по Windows API


1-71690
Viking
2003-09-11 17:04
2003.09.22
Сохранение параметров формы в INI-файле/реестре/БД


3-71556
Russko
2003-08-29 13:15
2003.09.22
Работа с TTable