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

Вниз

Поиск по Memo   Найти похожие ветки 

 
Sound ©   (2002-03-25 22:29) [0]

Как (поподробней) произвести поиск слово по Memo? С проверкой того нашли его или нет, а если да то в какой позиции.


 
KaPaT ©   (2002-03-25 22:34) [1]

Я думаю что надо использовать ф-цию POS.
У нее два параметра - строка и подстрока. Так вот она ищет подстроку в строке и возвращает номер символа с какого начинается совпадение. Но она ищет только первое совпадение.


 
Sound ©   (2002-03-25 22:47) [2]

Первое и надо, а как это будет выглядеть?


 
Atrem   (2002-03-25 23:39) [3]

var i:integer;
i:=pos("SearchWord",Memo1.text);
if i>0 then showmessage("Найдено на позиции №"+inttostr(i))
else showmessage("Не найдено)"


 
KaPaT ©   (2002-03-26 01:16) [4]

Вот полный код как бы я делал:
var
i,n : Integer;
begin
For i:=0 to Memo1.Lines.Count-1 do
begin
n:=Pos("Word",Memo1.Lines[i]);
If n<>0 then ShowMessage("Строка:"+IntTosTr(i+1)+"Позиция"+IntToStr(n))
end;
end;



 
KaPaT ©   (2002-03-26 01:18) [5]

Забыл! Код выше будет искать по всем строкам на первое совпадение в строке!


 
Sound ©   (2002-03-26 11:44) [6]

А если ищется слова без знания регистра его букв? к примеру Word, word, WORD, woRD.. и т.д.?


 
Andrey007   (2002-03-26 11:55) [7]

pos(AnsiUpperCase("Word"),AnsiUpperCase(Memo1.Lines[i])).
Но я не уверен относительно того, преобразовывает ли AnsiUpperCase русские буквы - Вам надо будет проверить.


 
Anatoly Podgoretsky ©   (2002-03-26 21:44) [8]

Andrey007 (26.03.02 11:55)
Нет, он поддерживает Ansi


 
MBo ©   (2002-03-26 22:04) [9]

i:=pos(AnsiUpperCase("123"),AnsiUpperCase(Memo1.Text));
if i>0 then
i:=memo1.perform(EM_LINEFROMCHAR,i-1,0);



Страницы: 1 вся ветка

Текущий архив: 2002.04.08;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.028 c
1-22767
DikobraZ
2002-03-27 10:29
2002.04.08
Как узнать имя компьютера и логин пользователя??


1-22610
Bboy
2002-03-25 22:55
2002.04.08
Хочу чтоб форма была во весь экран


7-22861
dima_yn
2002-01-16 13:58
2002.04.08
Как узнать код возврата DOS-программы...


14-22841
vajo
2002-03-01 16:51
2002.04.08
Win XP


14-22828
VID
2002-02-27 23:42
2002.04.08
Interbase.Часть 2.