Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

анализ строки [D5, NT4]


kalinka ©   (2002-03-25 12:03:00) 

Может у кого есть уже готовое:

Надо анализировать строку и если в ней встречается цвет ("черный", "чёрный", "белая" и т.д.), то выхватывать его. Вся проблема в том, что их (цветов) очень много, вот я и понадеялась, что кто-нибудь это уже делал... :)


kalinka   (2002-03-26 09:57:00) [1]

Фэ, Спасибо за дельный совет :)))


Фэ   (2002-03-25 23:22:00) [2]

Согласен с Сенченко.
Не вздумай им показывать все услышанные и увиденные возможности.
Только то, в чем уже разобралась и можешь сделать или сделала.
Да еще поторгуйся. Вот тогда оценят.
Если не уволят.


Anatoly Podgoretsky   (2002-03-25 21:02:00) [3]

Андрей Сенченко © (25.03.02 13:25)
Зеленщик?


deleon   (2002-03-25 14:03:00) [4]

Мочить их надо прямо на складе :)))


kalinka   (2002-03-25 13:36:00) [5]

Мы подумали, и я решила :) что будем добавлять поле.
А кладовцы - они именно такие. Не пройдет и первое впечатление от поля "цвет", как что-нить да придумают. Эх...


Андрей Сенченко   (2002-03-25 13:25:00) [6]

А чего тут путаться ?
1. Таки добавляешь поле "цвет" в базу.
// Поверь мне - потом проще будет.
2. Составляешь табличку ( хоть в файле, хоть прямо в PAS-е) корней слов, означающих цвета ( "зелен", "красн", "черн", "фиолетов" ) - вариантов не так и много.
3. В цикле ищешь вхождение этих корней по POS()
// Здесь еще можно поставить проверочку - если поле "цвет заполнено - не обрабатываем.
4. Цепляешь слово начиная с этого POS до следующего пробела.
5. Пишешь результат в новое поле "цвет"
6. Запускаешь на ночь и на следующее утро склад имеет полное удовлетворение.

// Вообще-то кладовцы - это такие хитрые гады ... Как только сделаешь это - сразу захотят разделять еще "для пластиковой доски" "для деревянной доски" "для писания на стульях" "для рисования на морде" ...
Проходили ... - им только покажи, что можно. :)


kalinka   (2002-03-25 13:14:00) [7]

Andrey007: в принципе, можно, конечно, попробовать, типа, если Pos("зеленый", "маркер зеленый для пластиковой доски")<>0 , то все круто... и т.д. Короче, я запуталась, буду думать дальше. Всем огромное спасибо за помощь.


Andrey007   (2002-03-25 13:05:00) [8]

А функция Pos(Substr: string; S: string): Integer не подойдёт?


kalinka   (2002-03-25 12:35:00) [9]

для deleon: большое спасибо, поищу :)


deleon   (2002-03-25 12:34:00) [10]

Kalinka - лучший и самый быстрый модуль для работы со строками QStrings.pas!!! Но как назло сейчас мой http-сервер не работает, поэтому попробуй поискать в нете. Через некоторое время его можно будет найти здесь(например завтра):
http://www.dbwork.kuban.ru/download/qstrings.zip


kalinka   (2002-03-25 12:18:00) [11]

для deleon: ну, есть длинное название чего-либо, в котором есть что-нибудь вроде "маркер зеленый для пластиковой доски", а склад хочет, чтобы было написано по отдельности. "маркер для пластиковой доски" и "ЗЕЛЕНЫЙ". База данных большая, добавлять поле и перебивать информацию не хочется. Вот и мучают :(

для CrazyFish: именно это и нужно (анализировать присутствие в строке определенных слов). Сейчас посмотрю, спасибо


-=CrazyFish=-   (2002-03-25 12:11:00) [12]

выхватывать это как? Если нужно анализировать присутствие в строке определенных слов, то могу посоветовать воспользоваться функциями из модуля strutils.pas из из RX Library.


deleon   (2002-03-25 12:10:00) [13]

Kalinka, это очень прикольно (за чем это?) :)))


Наверх

Титульная страница Поиск, карта сайта Написать письмо