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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.11.2013, 17:24   #1
xbron
Пользователь
 
Регистрация: 27.04.2012
Сообщений: 27
По умолчанию stringGrid и listbox

Имеется Listbox и StringGrid, в Listbox'е в столбик записаны числа,нужно перенести их в StringGrid


for i:=1 to listbox1.Items.Count-1 do
for j:=1 to 11 do
stringgrid1.Cells[i,j]:=listbox1.Items.Strings[i-1];

Этот код почему-то не работает, он полностью записывает и заполняет всю таблицу в StringGrid из Listbox первые 11 чисел
xbron вне форума Ответить с цитированием
Старый 24.11.2013, 17:32   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

12-е вы же сами не заполняете, тогда уж цикл до listbox1.Items.Count
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 24.11.2013, 17:38   #3
xbron
Пользователь
 
Регистрация: 27.04.2012
Сообщений: 27
По умолчанию

Не суть, я про то , что вся таблица, которая в stringgrid 11х11 заполняется первыми 11 числами из Listbox, а в Listbox 121 чисел
xbron вне форума Ответить с цитированием
Старый 24.11.2013, 17:45   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

А в колонку какую тогда присвоение идет в stringgrid1.Cells[i,j]:=listbox1.Items.Strings[i-1]; если i до 121? Грид просто молча проглатывает эту бяку. Тогда в таком духе
Код:
for i:=0 to listbox1.Items.Count-1 do
  for j:=0 to 10 do
    stringgrid1.Cells[i mod 11,j]:=listbox1.Items.Strings[i];
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 24.11.2013, 17:57   #5
xbron
Пользователь
 
Регистрация: 27.04.2012
Сообщений: 27
По умолчанию

Не получилось всё равно, вот что получается
xbron вне форума Ответить с цитированием
Старый 24.11.2013, 18:12   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

У грида то 12 колонок, а говоришь 11. Да и мой предыдущий вариант не в дугу
Код:
for i:=1 to 11 do
  for j:=1 to 11 do
    stringgrid1.Cells[i,j]:=listbox1.Items.Strings[(i-1)*11+j-1];
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 24.11.2013, 18:14   #7
xbron
Пользователь
 
Регистрация: 27.04.2012
Сообщений: 27
По умолчанию

Заработало! ) А можете прокомментировать последний код, где Strings[(i-1)*11+j-1] ?
Спасибо за помощь!
xbron вне форума Ответить с цитированием
Старый 24.11.2013, 18:16   #8
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

А что там комментировать - вычисляю индекс в списке в зависимости от номера колонки и столбца. Вроде все прозрачно

PS

Можно вообще одним циклом, и будет правильней, как минимум в случае, если вдруг в списке меньше, чем 121 строка
Код:
for i:=0 to listbox1.Items.Count-1 do
  stringgrid1.Cells[(i mod 11)+1,(i div 11)+1]:=listbox1.Items.Strings[i];
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 24.11.2013 в 19:02.
Аватар вне форума Ответить с цитированием
Старый 07.02.2014, 14:21   #9
meshkale
Пользователь
 
Регистрация: 22.01.2014
Сообщений: 32
По умолчанию

А как сделать чтобы из ListBox с мульти выбором в одну ячейку засовывалось несколько пунктов каждый на новой строке?
meshkale вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
загрузка из ListBox в StringGrid waka2ebawer Общие вопросы Delphi 2 21.08.2012 22:07
из ListBox в StringGrid Aleksandr69 Общие вопросы Delphi 4 10.03.2011 13:53
Заполнение StringGrid из ListBox c извлечением имени artemavd Общие вопросы Delphi 1 22.10.2010 08:19
Listbox и StringGrid alexeybest Компоненты Delphi 3 20.02.2010 14:22
Delphi:Работа с Listbox и StringGrid Shaitan Помощь студентам 2 11.11.2008 21:04