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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.06.2012, 19:19   #1
fezilk25
Форумчанин
 
Регистрация: 01.08.2010
Сообщений: 124
Радость Массив строк в одну строку и обратно

Есть такие данные:
1-15
16-30
31-45
и т.д.

Всего таких строчек может быть <= 20.
чтобы избежать создания 20 полей в MySQL, решил объединить эти строки в одну..

Как лучше сделать? С json связываться не хочется, примеров понятных нет..
Подскажите, пожалуйста, удобный вариант.
fezilk25 вне форума Ответить с цитированием
Старый 04.06.2012, 19:48   #2
3D Hunter
Сумрачная тень
Форумчанин
 
Аватар для 3D Hunter
 
Регистрация: 05.03.2009
Сообщений: 689
По умолчанию

Причем тут строки и поля таблицы? Что сделать лучше? непонятна постановка задачи. Опишите конкретнее.
"ковыряю изнутри" (с)
3D Hunter вне форума Ответить с цитированием
Старый 04.06.2012, 23:40   #3
fezilk25
Форумчанин
 
Регистрация: 01.08.2010
Сообщений: 124
По умолчанию

в доме есть некоторое кол-во подъездов. в каждом подъезде может быть свой диапазон квартир.
эту информацию нужно загрузить в БД.
Но чтобы не создавать 20 полей, я хочу объединить эту информацию в одну строку и загрузить в одно поле. ну удобнее так.
необходимо кодирование и декодирование..
fezilk25 вне форума Ответить с цитированием
Старый 05.06.2012, 07:55   #4
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Правильно ли я понял, что Вам нужно поместить сведения о распределении квартир по всему дому в одну строку? (чтобы хранить в базе единственное поле на дом)
Если "да", то напишите, где есть данные, которые Вы приводите в 1-м сообщении, и в каком виде хотите получить результат.
s-andriano вне форума Ответить с цитированием
Старый 05.06.2012, 08:39   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

s-andriano, +1

я бы лично завёл ДОПОЛНИТЕЛЬНУЮ таблицу, где и хранил нужные диапазоны (это реально и проще и быстрее и удобнее).

но технически нет никаких проблем сделать и так, как Вы хотите. Только нужно КАЖДЫЙ раз, когда строка вводится парсить её на отдельные элементы и проверять, чтобы строка была корректной (некорректную не давать вводить, с уведомлением пользователя, конечно). А ещё, если с этими диапазонами предполагается какая-то работа, то эту строку прийдётся парсить и во время обработки диапазонов.

Впрочем, s-andriano прав, это всё зависит от того, для чего это вам всё нужно... Если это только для хранения и обрабатывать эти диапазоны никто не собирается - то хранить диапазоны в виде строки - вполне себе нормальное решение...


p.s. а ещё в практике была задача, когда вносятся в таблицу некие сущности - каждая запись об объекте с номером отдельной записью, а функция БД (PL/SQL) из этих номеров собирает уже диапазоны, вида "1-4, 7,11, 15-32, 57" - это исключительно для удобства восприятия оператором, для печати выходных форм. внутри это всё множесто отдельных объектов со своими характеристиками...


p.p.s.
формально ответ на ваш вопрос:
Код:
собрать в одну строку (внутри массива строк не должно быть запятой. если есть - нужно её заменять!): 
s:= ''; 
for i:=Low(Massive) to High(Massive) do s:= s + Massive[i]+','; 

разобрать
 TS1:=TStringList.Create;
 TS1.Delimiter:=',';
 TS1.DelimitedText:= s ;

Последний раз редактировалось Serge_Bliznykov; 05.06.2012 в 08:45.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 05.06.2012, 09:28   #6
fezilk25
Форумчанин
 
Регистрация: 01.08.2010
Сообщений: 124
По умолчанию

Да, верно.
Эти данные будут забиваться в таблицу, где для каждого подъезда своя колонка.
После нажатия на кнопку, они должны объединиться и поместиться в поле БД.

спасибо всем
fezilk25 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разбить строку на массив строк с помо*щью символа-разделителя PotatoCaptain Общие вопросы C/C++ 14 14.12.2011 17:59
FASM. Считать содержимое файла в строку и затем записать обратно в файл Zart Помощь студентам 0 19.04.2011 17:02
Пребразовать string-строку в число и обратно. - Как? Avaj C++ Builder 16 03.02.2011 19:03
все в одну строку Yokka Общие вопросы C/C++ 4 15.05.2010 00:27