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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.04.2008, 17:27   #1
[Smarik]
Веб-разработчик
Форумчанин
 
Аватар для [Smarik]
 
Регистрация: 16.01.2008
Сообщений: 451
По умолчанию ComboBox

Нужно динамически изменять содержимое item в combobox
combobox1.items[0]:='текст';
использую такой метод появляется проблема, что если количество елементов больше чем было, то программа выдаст ошибку, как ето исправить?
Я ваш новый друг, смиритесь!
[Smarik] вне форума Ответить с цитированием
Старый 14.04.2008, 17:37   #2
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

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

Вобщем ты столкнулся с частным случаем динамического массива, со всеми вытекающими отсюда проблемами. Следи чтобы не было обращения к несуществующим элементам.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог

Последний раз редактировалось mutabor; 14.04.2008 в 17:40.
mutabor вне форума Ответить с цитированием
Старый 14.04.2008, 18:35   #3
[Smarik]
Веб-разработчик
Форумчанин
 
Аватар для [Smarik]
 
Регистрация: 16.01.2008
Сообщений: 451
По умолчанию

оператор выбора case или условия if
Я ваш новый друг, смиритесь!
[Smarik] вне форума Ответить с цитированием
Старый 14.04.2008, 18:41   #4
[Smarik]
Веб-разработчик
Форумчанин
 
Аватар для [Smarik]
 
Регистрация: 16.01.2008
Сообщений: 451
По умолчанию

можно сделать легче, но будет не очень рационально, создать 2 комбобьокса, сделать их невидемыми и прописать условие
Код:
if radiobutton1.checked=true then combobox1.Visible:=true else combobox2.visible:=true;
Я ваш новый друг, смиритесь!
[Smarik] вне форума Ответить с цитированием
Старый 14.04.2008, 18:44   #5
[Smarik]
Веб-разработчик
Форумчанин
 
Аватар для [Smarik]
 
Регистрация: 16.01.2008
Сообщений: 451
По умолчанию

Цитата:
Сообщение от mutabor Посмотреть сообщение
Нужно это дело отслеживать, их же не просто так больше стало, стало быть ты как создатель программы в курсе об этом. Создай глобальную переменную и в ней храни и изменяй индекс той строки к-рую нужно менять.

Вобщем ты столкнулся с частным случаем динамического массива, со всеми вытекающими отсюда проблемами. Следи чтобы не было обращения к несуществующим элементам.
Честно говоря не понимаю как с помощью переменной можно повлиять на процесс, напришите пример.
Я ваш новый друг, смиритесь!
[Smarik] вне форума Ответить с цитированием
Старый 14.04.2008, 18:54   #6
[Smarik]
Веб-разработчик
Форумчанин
 
Аватар для [Smarik]
 
Регистрация: 16.01.2008
Сообщений: 451
По умолчанию

способов масса, но етот самый простой, не хочу думать =)
Я ваш новый друг, смиритесь!
[Smarik] вне форума Ответить с цитированием
Старый 14.04.2008, 21:06   #7
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Цитата:
Честно говоря не понимаю как с помощью переменной можно повлиять на процесс, напришите пример.
А я не совсем понимаю что вам нужно сделать. Опишите подробнее. Из-за чего их больше становится, какой именно менять, когда менять? На что менять, в смысле альтернативный текст айтема(ов) один или несколько разных?
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 14.04.2008, 21:28   #8
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Какую-то кашу устроили благодаря влезшему в чужую тему Технологу...
Сложно даже разобраться.
Технологу - создавайте свою тему и задавайте свой вопрос. Правила форума читали?

Теперь по вопросу Шмарика.
Используйте просто вот такую проверку и будет вам счастье:
ComboBox1.Items[i], где
0 <= i <= ComboBox1.Items.Count-1
И никаких глобальных переменных не понадобится...
Ишь, что выдумали! На какой-то комбобокс заводить глобальную переменную! Он сам все знает про себя...
mihali4 вне форума Ответить с цитированием
Старый 14.04.2008, 22:07   #9
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

mihali4, собака порылась глубже )
Раз есть такая ошибка, значит была попытка поменять несуществующий айтем, от проверки только ошибка пропадет, но проблема не решится, текст не поменяется, именно для этого и нужна переменная, в зависимости от изменения размеров менять индекс к к-рому обращаться, а к-рый нужно менять это только автор темы знает.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 15.04.2008, 01:09   #10
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
была попытка поменять несуществующий айтем
Если эта попытка будет пропущена после проверки, тогда будем ловить собаку.
А пока я наблюдаю по всему форуму очень много вопросов, граничащих если не с издевательством, то... не буду говорить грубее.
Впечатление такое, что в выходные был Новый год и народ весь с бодуна...
mihali4 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ComboBox Есет Помощь студентам 1 27.03.2008 09:10
ComboBox )Игнат( Компоненты Delphi 3 19.02.2008 16:59
Combobox Yana Помощь студентам 5 23.12.2007 02:16
Combobox и иже с ним Shawn Компоненты Delphi 7 13.12.2007 18:15
Не могу внести строку из combobox в combobox!? tacer Помощь студентам 1 30.11.2007 19:45