Главная страница
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.035 c
14-71825
jack128
2003-09-02 10:38
2003.09.22
Именинники 2 сентября


9-71453
hgfdsa
2003-03-23 08:42
2003.09.22
Положение спрайтов.


8-71767
landy
2003-05-22 13:59
2003.09.22
text-to-speech engine


4-72001
off
2003-06-11 12:45
2003.09.22
Передача кусора другому окну.


8-71763
som
2003-05-19 12:14
2003.09.22
работа с мр3