![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
поиск по тексту [WinXP]
Aleks © (2004-10-24 14:15:00)Как в сроке найти нужное слово, пожалуйсто с примером. Я только начинаю.
Aleks (2004-10-25 01:18:00) [1]Большое Спасибо всем кто откликнулся Вы мне очень помогли.
Вопрос закрыт. :)
ЮрийК (2004-10-24 17:31:00) [2]POS будет находить слова в зависимости от регистра. Поэтому и слово и текст нужно привести к одному регистру.
len := Length(word);
text1 := UpperCase(text);
word1 := UpperCase(word);
nPos := Pos(word1, text1);
if (text1[i-1] in [DELIMITERS]) and (text1[i+len] in [DELIMITERS]) then ShowMessage('OK');
// чтобы найти следующее вхождение
text1 := Copy(text1, i+1, MaxInt);
nPos := Pos(word1, text1);
Anatoly Podgoretsky (2004-10-24 15:26:00) [3]Нет ему нужно найти нужное слово
Kolan (2004-10-24 15:15:00) [4]
> Конечно можно проще, функция POS
Может ему нодо как раз алгоритм.
> Я только начинаю.
!
Anatoly Podgoretsky (2004-10-24 14:42:00) [5]Конечно можно проще, функция POS
Anatoly Podgoretsky (2004-10-24 14:42:00) [6]Удалено модератором
Kolan (2004-10-24 14:33:00) [7]
procedure TForm1.BitBtn1Click(Sender: TObject);
var s,temp_s, what_to_find:string;
i:integer;
flag:boolean;
begin
flag:=false;
temp_s:='';
what_to_find:='22';
s:=edit1.Text;
for i:=1 to length(s) do
if (s[i]<>'')and(s[i]<>' ') then {Разделители}
temp_s:=temp_s+s[i]
else
begin
if temp_s=what_to_find then flag:=true;
temp_s:='';
end;
if temp_s=what_to_find then flag:=true;
if flag then label1.Caption:='Найдено'
else label1.Caption:='Не Найдено'
end;
Навернека можно упростить но лень только сейчас сделаал.
Там где{Разделители}добавь все что у тебя разделитель слов. (Точки запятые ...)