Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
127 / 107 / 21
Регистрация: 23.05.2015
Сообщений: 706
RAD XE3+

Выделить улицу из адресной структуры

06.03.2024, 11:16. Показов 1965. Ответов 29

Студворк — интернет-сервис помощи студентам
Добрый день народ.
Имеется адресная структура в виде строки в базе данных
Таблица HOUSES
в ней поля
cod_h - Индекс (первичный ключ)
haddr - текстовое поле содержащее адрес следующей структуры:

Пример:
424019, Респ Марий Эл, г Йошкар-Ола, ул Анникова, д. 7

Запятые делят структуру на блоки:
1. Индекс
2. Республика
3. Город
4. Улица или территория например(сквер Некрасова)
5. Номер дома

Возможен вариант:
Пример
142050, обл Московская, г Домодедово, д Артемьево, ул Кедровая, д. 1Б

1. Индекс
2. Область
3. Город
4. Деревня (или ПГТ)
4. Улица или территория например(сквер Некрасова)
5. Номер дома

Моя задача выделить из структуры запросом Название улицы и сделать выборку типа:
cod_h
Street - (вычисляемое поле вида 'Анникова ул' без повторений улиц. Возможны пер переулки и пр.)
Улицу нужно выводить не зависимо где она находится в селе или в город.

Вот и подумываю, как лучше решать эту задачу...
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.03.2024, 11:16
Ответы с готовыми решениями:

Как в адресной строке браузера выделить нужный кусок текста красным шрифтом?
Здравствуйте, уважаемые форумчане! Подскажите, пожалуйста, возможно ли такое вообще реализовать на javascript, чтоб в адресной строке...

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

Как выделить память на структуры
у меня есть несколько типов и структура, некоторые поля которой могут иметь эти типы. Я реализовал это, например, так: typedef struct {...

29
Модератор
 Аватар для D1973
9935 / 6472 / 2458
Регистрация: 21.01.2014
Сообщений: 27,442
Записей в блоге: 3
11.03.2024, 11:00
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от SeGun Посмотреть сообщение
отчего нельзя запрос Q1 использовать
Да почему нельзя - можно. Вот только у меня компоненты TFDQuery - они бесплатные, я не плачу дополнительных денег за размещение на форме нескольких компонентов, поэтому я могу себе позволить один Query держать для вывода одного запроса, другой - для другого, для выполнения операций вставки и изменения у меня будут третий и четвертый компоненты. И все это богатство, заметьте, совершенно бесплатно. Так зачем я буду себя ограничивать?
0
 Аватар для krapotkin
6851 / 4677 / 1465
Регистрация: 14.04.2014
Сообщений: 20,674
Записей в блоге: 21
11.03.2024, 11:04
экономные авторы могут один компонент вообще на несколько программ делить))
0
127 / 107 / 21
Регистрация: 23.05.2015
Сообщений: 706
11.03.2024, 11:16  [ТС]
Слегка модифицировал:
Delphi
1
2
3
4
5
6
7
procedure TUMain.ListBox1Click(Sender: TObject);
begin
 DM1.QHouses.Close;
 DM1.QHouses.SQL.Text := ('SELECT * FROM houses WHERE haddr LIKE :param1');
 DM1.QHouses.ParamByName('param1').AsString := '%%'+L.ValueFromIndex[ListBox1.ItemIndex]+'%%';
 DM1.QHouses.Open();
end;
Первый смайлик не мой.

Добавлено через 1 минуту
Цитата Сообщение от krapotkin Посмотреть сообщение
экономные авторы могут один компонент вообще на несколько программ делить))
При выборке - легко
0
Модератор
 Аватар для D1973
9935 / 6472 / 2458
Регистрация: 21.01.2014
Сообщений: 27,442
Записей в блоге: 3
11.03.2024, 11:23
Цитата Сообщение от SeGun Посмотреть сообщение
Первый смайлик не мой
Тэги ЯП используйте для выделения кода - не будет таких "первых смайликов"
0
127 / 107 / 21
Регистрация: 23.05.2015
Сообщений: 706
11.03.2024, 11:26  [ТС]
Цитата Сообщение от D1973 Посмотреть сообщение
Тэги ЯП программирования используйте для выделения кода - не будет таких "первых смайликов"
Таки да.
0
127 / 107 / 21
Регистрация: 23.05.2015
Сообщений: 706
12.03.2024, 10:15  [ТС]
Цитата Сообщение от D1973 Посмотреть сообщение
Так зачем я буду себя ограничивать?
Цитата Сообщение от D1973 Посмотреть сообщение
у меня компоненты TFDQuery - они бесплатные, я не плачу дополнительных денег за размещение на форме нескольких компонентов, поэтому я могу себе позволить один Query держать для вывода одного запроса, другой - для другого, для выполнения операций вставки и изменения у меня будут третий и четвертый компоненты. И все это богатство, заметьте, совершенно бесплатно. Так зачем я буду себя ограничивать?
Да, вроде бы и ограничивать не нужно.
Хотя если задуматься, то трансакции одни читают, другие пишут и не разумнее ли использовать два компонента один для выборки другой для записи на одну таблицу.
А пространство DataModule - оно ведь не безграничное хотя и бесплатное.
Или я не прав?
0
Модератор
 Аватар для D1973
9935 / 6472 / 2458
Регистрация: 21.01.2014
Сообщений: 27,442
Записей в блоге: 3
12.03.2024, 10:27
Цитата Сообщение от SeGun Посмотреть сообщение
два компонента один для выборки другой для записи на одну таблицу
еще про операцию изменения данных забыли. Ну и, кроме того, выбираться данные могут из нескольких таблиц, с большущей секцией SELECT, громоздкими JOIN-ами. Так неужели не проще забить такой запрос в отдельный компонент, указав место для необходимых параметров, которые легко вставить на нужные места когда придет их время. Или, таки, громоздить эту красоту в коде, рискуя напутать с расстановкой кавычек и скобок?
Цитата Сообщение от SeGun Посмотреть сообщение
А пространство DataModule - оно ведь не безграничное
м-м-м-м... Это Вы о чем сейчас, о каком пространстве? DataModule - не более чем невизуальный контейнер для размещения компонентов для работы с БД, невидимая форма... И пространство его ограничено разве что объемом оперативной памяти... Или Вы что-то иное в виду имели?
0
127 / 107 / 21
Регистрация: 23.05.2015
Сообщений: 706
12.03.2024, 10:55  [ТС]
Цитата Сообщение от D1973 Посмотреть сообщение
DataModule - не более чем невизуальный контейнер для размещения компонентов для работы с БД, невидимая форма... И пространство его ограничено разве что объемом оперативной памяти... Или Вы что-то иное в виду имели?
Ну как сказать не видимая форма...
Миниатюры
Выделить улицу из адресной структуры  
0
Модератор
 Аватар для D1973
9935 / 6472 / 2458
Регистрация: 21.01.2014
Сообщений: 27,442
Записей в блоге: 3
12.03.2024, 10:59
Цитата Сообщение от SeGun Посмотреть сообщение
Ну как сказать не видимая форма
А что не так? В режиме run-time Вы ее не видите, она нужна только во время разработки. Я, вот честное слово, никак не пойму проблему...
0
127 / 107 / 21
Регистрация: 23.05.2015
Сообщений: 706
12.03.2024, 11:18  [ТС]
Цитата Сообщение от D1973 Посмотреть сообщение
А что не так? В режиме run-time Вы ее не видите, она нужна только во время разработки. Я, вот честное слово, никак не пойму проблему...
Да нет проблемы, я просто спросил Ваше мнение по этому вопросу.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.03.2024, 11:18
Помогаю со студенческими работами здесь

Определить, можно ли переходить улицу
Запросить у пользователя ввод одного из символов - G,Y, R соответствующих названиям цветов светофора в английском языке (Green, Yellow,...

Google выгнал «Яндекс» на улицу
Думается, что Яндекс серезно обеспокоен своим положением на рынке http://cnews.ru/news/top/index.shtml?2007/08/31/264529 Как кто...

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

Пример о пешеходе, переходящем улицу
Пример о пешеходе, переходящем улицу. Пусть возможные значения переменных C, Y, P имеют следующий содержательный смысл: С={ 1 - зеленый...

Разбить адрес на улицу, дом, квартиру
Здравствуйте. В регулярках практически 0. Есть список адресов, который вводили несистематизированно, но я вывел 4 типа самых частых...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Новые блоги и статьи
[golang] Угол между стрелками часов
alhaos 12.05.2026
По заданным значениям часа и минуты необходимо определить значение меньшего угла между стрелками аналогового циферблата часов. import "math" func angleClock(hour int, minutes int) float64 { . . .
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html и его же старой инструкции по установке Lazarus с gtk2. . .
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер. Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром. возможно получится прикрутить интерпретатор питон для кастомизации игровой логики. что есть на текущий момент:. . .
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2. Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru