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

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

Как разбить строку


Страницы:   1 2 3

andrewtitoff ©   (2009-11-07 21:33:00) 

Имеется строка с адресом, разделяемая " д. "," к. "," п. ", соответственно дом, корпус парадная, в строке соответственно идет подряд улица, дом, корп, парадная, но обязательно должна быть только улица, а всего остального может не быть, или быть в любых комбинациях, соответственно вопрос: как правильно разбить на подстроки соответствующие названию улицы, номера дома, корпуса и парадной?


Smile   (2009-11-09 18:11:00) [1]

Что-то я сегодня не "наблюдал" andrewtitoff , а совет на вопрос "Как разбить строку?" дал бы один, и, на мой взгляд, исчерпывающий и универсльный.
Разбивай так, как тебе нравится, или устраивает по условию задачи.
Успеха!


Dennis I. Komarov   (2009-11-09 17:14:00) [2]


> я пришел с одной проблемой - а мне тут предложили кучу других,
>  а теперь еще и говорите что я это не умею....

Есть только одна проблема - база сделанная кривыми руками, а ты хочешь из нее сделать еще кучу проблем... Лекарство смотри в предыдующей ветке.


> для того чтобы 60-ти летние бабушки которым тоже приходится
> с ней работать не переучивались

Блин, а я то думаю, почему наш автопром до сих пор такое производит. Оказывается чтоб привычнее было

P.S.
Для нормальной работы с адресами есть такая штука - КЛАДР завется.


Наиль   (2009-11-09 11:45:00) [3]


> Нучнем с того что больше половины написанного мне тут просто
> лишнее т.к. неподходит, во вторых при чем тут фильтры типа
> 'STREET = '''+copy(ComboBox82.Text,1,pos(' д. ',ComboBox82.
> Text))+''' AND HOUSE = '''+copy(ComboBox82.Text,pos(' д.
>  ',ComboBox82.Text)+4,length(ComboBox82.Text)-pos(' д. ',
> ComboBox82.Text)+4)+'''';

Тебе не это придлагали, это такое предлагаешь.
Тебе предлагают приблизительно следующее:
Ind:=ComboBox82.ItemIndex;
With AllData[Ind] do
 Filter:=format('STREET = "%s" AND HOUSE = "%s"',[Street, House])

Соответствено вместо массива записей AllData можешь использоватьTDataSet, тогда тебе понадобятся ссылки (закладки), которые можешь хранить в Items.Objects[Ind]
Весь смысл в том, чтобы использовать те данные, котое у тебя и так уже разделены.


Leonid Troyanovsky   (2009-11-08 21:45:00) [4]


> andrewtitoff ©   (08.11.09 20:22) [48]

ФеМиДо.

- Читал?
- Да. "Преступление и наказание".

--
Regards, LVT.


andrewtitoff   (2009-11-08 20:22:00) [5]


> Leonid Troyanovsky ©   (08.11.09 19:14) [47]
> > andrewtitoff ©   (08.11.09 14:55) [46] > то что это решение
> мне не очень нравится - оно избавит от > многих проблем.
> ...Нарубил десять бабок - вот он и рубль.--Regards, LVT.
>

Эт вы про что? =)))


Leonid Troyanovsky   (2009-11-08 19:14:00) [6]


> andrewtitoff ©   (08.11.09 14:55) [46]

> то что это решение мне не очень нравится - оно избавит от
> многих проблем....

Нарубил десять бабок - вот он и рубль.

--
Regards, LVT.


andrewtitoff   (2009-11-08 14:55:00) [7]

2 All
А может действительно 4 комбобокса сделать?, несмотря на то что это решение мне не очень нравится - оно избавит от многих проблем....


andrewtitoff   (2009-11-08 14:45:00) [8]


> Anatoly Podgoretsky ©   (08.11.09 14:28) [44]
> > andrewtitoff  (08.11.2009 14:11:43)  [43]> мы говорим
> про поиск по адресу - который должен отобразить все лифты
> по заданному адресу.....И что тебе останавливает?Не умеешь
> фильтры строить или запросы с WHERE делать?Так это же основы.
>

Только из уважения к возрасту промолчу...
Вы простите заголовок то читали?, я пришел с одной проблемой - а мне тут предложили кучу других, а теперь еще и говорите что я это не умею....
Нучнем с того что больше половины написанного мне тут просто лишнее т.к. неподходит, во вторых при чем тут фильтры типа
'STREET = '''+copy(ComboBox82.Text,1,pos(' д. ',ComboBox82.Text))+''' AND HOUSE = '''+copy(ComboBox82.Text,pos(' д. ',ComboBox82.Text)+4,length(ComboBox82.Text)-pos(' д. ',ComboBox82.Text)+4)+'''';

только проблема в том - что я изначально спросил как это сделать в цикле?, т.к. этого я действительно на данный момент незнаю....


Anatoly Podgoretsky   (2009-11-08 14:28:00) [9]

> andrewtitoff  (08.11.2009 14:11:43)  [43]

> мы говорим про поиск по адресу - который должен отобразить все лифты по заданному адресу.....

И что тебе останавливает?
Не умеешь фильтры строить или запросы с WHERE делать?
Так это же основы.


andrewtitoff   (2009-11-08 14:11:00) [10]


> Anatoly Podgoretsky ©   (08.11.09 14:04) [41]
> > andrewtitoff  (08.11.2009 12:38:37)  [37]С одинаковым
> именем нет не видел.
>
>
> Anatoly Podgoretsky ©   (08.11.09 14:06) [42]
> > andrewtitoff  (08.11.2009 13:13:40)  [40]Вот все свои
> проблемы на бабушек свернул, крайними они оказались.

А кто говорит про одинаковое имя?, естественно у каждого лифта есть свой регистрационный номер и они уникальные, для этого есть поиск по рег. номеру, только сейчас то мы говорим про поиск по адресу - который должен отобразить все лифты по заданному адресу.....

Я ни на кого не сваливал проблемы просто  сказал что это нужно учитывать и от этого ни куда не деться, я же не для себя и не для вас программу пишу - а в перую очередь именно для бабушек....


Anatoly Podgoretsky   (2009-11-08 14:06:00) [11]

> andrewtitoff  (08.11.2009 13:13:40)  [40]

Вот все свои проблемы на бабушек свернул, крайними они оказались.


Anatoly Podgoretsky   (2009-11-08 14:04:00) [12]

> andrewtitoff  (08.11.2009 12:38:37)  [37]

С одинаковым именем нет не видел.


andrewtitoff   (2009-11-08 13:13:00) [13]

2 sniknik ©
Кстати есть еще одна причина делать именно в одном комбобоксе, я правда извиняюсь что забыл упомянуть о данном условии, но по возможности программа должна по своим основным функциям работать как старая для того чтобы 60-ти летние бабушки которым тоже приходится с ней работать не переучивались в течении длительного времени, а в старой этот поиск именно так и реализован....


andrewtitoff   (2009-11-08 13:07:00) [14]


> sniknik ©   (08.11.09 12:50) [38]
> > к вашему статусу - Вы говорите полный бред....во первых
> при чем тут статус?а во вторых этот "бред"  многим очень
> помог, тем кто к нему прислушался... но видимо не каждому
> дано.

Потому что я привык уже на этом форуме почтенно относиться к мастерам т.к. большинство действительно этого заслуживают....
А во вторых вот именно от того бреда который вы мне написали - толку 0...
Что бы не быть голословным:
>это вариант, который "вы" не сумели сделать...
Кто это вам сказал?, какая от этого польна?, помоему это просто попытка оскорбить...
>но вообще комбобоксы не очень удобны при зависимом друг от друга выборе, информация должна быть открытой, длч примера вот так
http://support.amd.com/us/gpudownload/Pages/index.aspx
Ну а кто вам сказал что этот вариант очень удобен?, много адресов все равно не отразите т.к. в базе 7тыс записей.., а вот неопытные пользоматели в этих ваших полях тосно запутаются, да и громоздко это все, это на веб-странице сносно выглядит, в в программе такая огромная форма поиска никчему...., да и не факт что она уместна т.к. форма поиска на отдельном окошке - еще не окончательнвй вариант..., а что если мне в итоге придется где нибудь рядом с основной таблицей в уголке форму поиска делать - мне что такую "дуру" на пол экрана пихать что бы таблици невидно было?....

> sniknik ©   (08.11.09 12:25) [36]
> > Тогда у вас большой бардак в базене верю я в это, ведь
> родная прога с этой базой работает, как-то эти "одинаковые"
> записи различает... скорее верится в то, что автор отличий
> не нашел... типа, ну что там за цифирьки (ключь)  вот же
> по русски одинаковые записи... (подтверждается тем что он
> и у себя пытается фильтры реализовать именно по названию,
>  игнорируя ключи, которые должны быть т.к. оригинальная
> прога "одинаковые" записи как то различает... зациклились
> :о))

Ну а кто Вас сказал что родная прога различает ""Одинаковые" записи"?, кстати кто сказал что записи одинаковые?, покажите?, я сказал только что адреса одинаковые..., и при поиске по адресу родная прога не различает их да и новая не должна различать.....
Вы бы по внимательнее читали, например пост [19]....


sniknik   (2009-11-08 12:50:00) [15]

> к вашему статусу - Вы говорите полный бред....
во первых при чем тут статус?

а во вторых этот "бред"  многим очень помог, тем кто к нему прислушался... но видимо не каждому дано.


andrewtitoff   (2009-11-08 12:38:00) [16]


> Anatoly Podgoretsky ©   (08.11.09 11:03) [34]
> > andrewtitoff  (08.11.2009 00:11:21)  [21]Тогда у вас большой
> бардак в базе

Никакого бардака, так и должно быть, а вы что никогда в одной парадной два лифта не видели?....


> Германн ©   (08.11.09 02:37) [33]

Так я вот и пытался спросить как это лучше сдетать, только никто так и не смог предложить удовлетворяющее всем условиям решение.....


> sniknik ©   (08.11.09 02:16) [32]
sniknik ©   (08.11.09 12:25) [36]

Извините конечно, но при всем моем уважении к вашему статусу - Вы говорите полный бред....


sniknik   (2009-11-08 12:25:00) [17]

> Тогда у вас большой бардак в базе
не верю я в это, ведь родная прога с этой базой работает, как-то эти "одинаковые" записи различает... скорее верится в то, что автор отличий не нашел... типа, ну что там за цифирьки (ключь)  вот же по русски одинаковые записи...
(подтверждается тем что он и у себя пытается фильтры реализовать именно по названию, игнорируя ключи, которые должны быть т.к. оригинальная прога "одинаковые" записи как то различает... зациклились :о))


Anatoly Podgoretsky   (2009-11-08 11:06:00) [18]

> Германн  (08.11.2009 02:37:33)  [33]

Еще одна длинная ветка в никуда.


Anatoly Podgoretsky   (2009-11-08 11:03:00) [19]

> andrewtitoff  (08.11.2009 00:11:21)  [21]

Тогда у вас большой бардак в базе


Германн   (2009-11-08 02:37:00) [20]


> -Должен быть ниспадающий список
> -возможность ввода начальных букв
> -адрес должен быть в виде одной строки
> примерно так, в общем это отдельная форма поиска в базе
> по адресу состоящая из одного комбобокса(условно)
>

Ключевые слова я выделил.
Так где в представленном варианте решения поиск в базе?
Зачем нужно для поиска в базевытаскивать на клиента все записи, записывать их в "закодированном" виде, искать на клиенте в комбобоксе строки удовлетворяющие некоторому критерию и раскодировать потом ранее закодированные записи?


Страницы:   1 2 3

Наверх

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