![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
анализ строки [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, это очень прикольно (за чем это?) :)))