Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.05.2014, 21:00   #1
rob7777
Пользователь
 
Регистрация: 07.11.2011
Сообщений: 52
По умолчанию Поиск слова

Добрый день! Для поиска использую функцию Ansipos, но у нее есть один недостаток. Мне нужно чтобы поиск ввелся только по первым буквам, а она начинает искать совпадения во всем слове. например: арбуз. введу "уз", он мне выведет это слово, а должен только "узник" и все остальные слова начинающиеся на "уз". Может функцию другую взять?

Последний раз редактировалось rob7777; 19.05.2014 в 21:04.
rob7777 вне форума Ответить с цитированием
Старый 19.05.2014, 22:47   #2
ZuBy
Участник клуба
 
Аватар для ZuBy
 
Регистрация: 29.09.2008
Сообщений: 1,234
По умолчанию

Поставь пробел
Код:
if Pos(' уз', str) >0 then
ZuBy вне форума Ответить с цитированием
Старый 19.05.2014, 23:15   #3
rob7777
Пользователь
 
Регистрация: 07.11.2011
Сообщений: 52
По умолчанию

Так вообще не работает...
rob7777 вне форума Ответить с цитированием
Старый 19.05.2014, 23:25   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Слова где? В строке? - разбивай строку:
Код:
with TStringList.Create do begin
 DelimitedText:=Текст;
 if IndexOf('уз')<>-1 then Узник найден;
 free;
end;
Т.е. используй класс TStringList. Только не обязательно так как я показал, это просто пример. Создай один раз переменку этого типа и юзай.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.05.2014, 23:42   #5
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,877
По умолчанию

IndexOf не ищет частичное совпадение.
northener вне форума Ответить с цитированием
Старый 20.05.2014, 00:12   #6
doktor255
Заблокирован
 
Регистрация: 31.03.2011
Сообщений: 976
По умолчанию

Цитата:
for i := 0 to TS.count -1 do if Copy(TS[i], 1, 2) = 'уз'
then ...
и т.д. и т.п.
doktor255 вне форума Ответить с цитированием
Старый 20.05.2014, 02:25   #7
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,877
По умолчанию

Цитата:
Сообщение от doktor255 Посмотреть сообщение
и т.д. и т.п.
Согласен, только зачем тогда стринглист? Достаточно PosEx+Copy.
northener вне форума Ответить с цитированием
Старый 20.05.2014, 16:29   #8
rob7777
Пользователь
 
Регистрация: 07.11.2011
Сообщений: 52
По умолчанию

всем благодарен, особенно doktor255, спасибо за идею, доделал что хотел)
rob7777 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск слова в строке и редактирование этого слова Wasili4 Microsoft Office Excel 3 22.06.2011 21:06
Поиск слова в БД kpachbiu PHP 3 01.01.2011 21:35
Разбить текст на слова и произвести поиск каждого слова по текстовому массиву Burning_brook Microsoft Office Excel 2 22.05.2010 01:56
Поиск слова. Gon Паскаль, Turbo Pascal, PascalABC.NET 3 05.10.2008 17:14
Поиск 'Слова' JakSon Работа с сетью в Delphi 1 20.04.2008 00:13