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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.10.2014, 15:23   #1
bilibian
Форумчанин
 
Регистрация: 21.01.2014
Сообщений: 389
По умолчанию Checklistbox в строку

Привет.

В компоненте CheckListBox есть список строк, эти сроки мне нужно объединить в одну. Необходимо чтобы строка в итоге получилась такой:

["option1", "option2"]

Как это сделать?

Думал сделать с помощью цикла вот так:

Код:
for I := 0 to CheckListBox1.Items.Count-1 do
  if I<>CheckListBox1.Items.Count-1 then
    str:=str+'"'+CheckListBox1.Items[i]+'",'
  else str:=str+'"'+CheckListBox1.Items[i]+'"' 

str:='['+str+']';
Но по моему это дикий бред и должен быть простой способ.
bilibian вне форума Ответить с цитированием
Старый 23.10.2014, 16:02   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

CheckListBox1.Items.DelimitedText не подходит?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 23.10.2014, 16:30   #3
bilibian
Форумчанин
 
Регистрация: 21.01.2014
Сообщений: 389
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
CheckListBox1.Items.DelimitedText не подходит?
К сожалению не подходит, необходим именно такой формат, который я указал в первом посте.
bilibian вне форума Ответить с цитированием
Старый 23.10.2014, 16:50   #4
Vapaamies
Ваш К. О.
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,777
По умолчанию

Цитата:
Сообщение от bilibian Посмотреть сообщение
К сожалению не подходит, необходим именно такой формат, который я указал в первом посте.
Жалко, что свойство Delimiter может содержать только один символ. Тогда можно было бы включить StrictDelimiter, и DelimitedText осталось бы только скобками обрамить...

Для плохого форума код в стиле FastCode писать не хочу.
Vapaamies вне форума Ответить с цитированием
Старый 23.10.2014, 17:09   #5
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

если очень надо можно попробовать нечто вроде
Код:
Listbox.DelemiterText:='|';
r:=Listbox.Items.DelemiterText;
r:=ReplaceStr(r, '|', '", "', [ftRepalceAll]);
r:='["+r+'"]';
чем это лучше цикла не знаю.
P.S. кроме DelemiterText есть еще и CommaText
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 23.10.2014, 19:36   #6
Vapaamies
Ваш К. О.
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,777
По умолчанию

Цитата:
Сообщение от evg_m Посмотреть сообщение
P.S. кроме DelemiterText есть еще и CommaText
CommaText -- это DelimitedText с фиксированными разделителями.
Vapaamies вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
checklistbox King_Of_Arthur БД в Delphi 5 24.07.2013 11:27
checklistbox Ackii Компоненты Delphi 3 17.07.2012 09:47
Двунаправленный линейный список строк. Вставить строку, удалить строку и заменить строку tarasman11 Паскаль, Turbo Pascal, PascalABC.NET 4 05.07.2012 20:27
CheckListBox вывод в строку LaraKroft Компоненты Delphi 1 28.05.2012 13:10
Checklistbox RealSHELS Общие вопросы Delphi 3 30.07.2008 22:40