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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.06.2007, 02:41   #1
krem
Пользователь
 
Регистрация: 31.03.2007
Сообщений: 22
По умолчанию ComboBox - убийца нервных клеток

Для тех кто не очень ленивый.
Вторую ночь ломаю свою кучерявую головушку..
Суть вопроса.

Имеем: комбобокс унд метка.
Кого имеем в комбобоксе: 10 строк "Один", "Два", ... , "Десять".
Еще есть текстовые переменные (тоже 10), путь будут s1,s2,..,s10 со значением каждая.
Хотим: Чтобы при выборе в списке какой-то строки (напр. "Два") в метке отображалась переменная s2. И так для всех.
Пишу для себя (т.е. это очень важно). Ответ обязателен.
krem вне форума Ответить с цитированием
Старый 12.06.2007, 10:25   #2
2face
Пользователь
 
Регистрация: 23.05.2007
Сообщений: 24
По умолчанию

Попробуй сделать массив s[i] string'ов где связь между элементами комбо и массива будет через индексы. Соответвенно в событии onchange будет выбор s[combobox1.itemindex].
2face вне форума Ответить с цитированием
Старый 12.06.2007, 11:04   #3
mrandrey
Форумчанин
 
Регистрация: 30.03.2007
Сообщений: 124
По умолчанию

текстовку засунь в масив: s:array[0..9]of string;
а затем так: label 1. caption:=s[combobox1.itemindex];
Тут без 100г не розберешся.....
Спасибо не нужно, а на весы слева кликнуть не помешает!!!
mrandrey вне форума Ответить с цитированием
Старый 12.06.2007, 14:14   #4
Jeni
Форумчанин
 
Регистрация: 31.05.2007
Сообщений: 486
По умолчанию

Цитата:
Сообщение от krem Посмотреть сообщение
Хотим: Чтобы при выборе в списке какой-то строки (напр. "Два") в метке отображалась переменная s2. И так для всех.
Если переменных мало и фиксированное количество, то можно, в принципе, обойтись и без дополнительных массивов:
Код:
case ComboBox.ItemIndex of
  0: Label.Caption := S1;
  1: Label.Caption := S2;
  ...
  9: Label.Caption := S10;
end;
Хотя конечно такой код не является универсальным.
Jeni вне форума Ответить с цитированием
Старый 12.06.2007, 14:30   #5
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,520
По умолчанию

заполняешь так:
Код:
ComboBox1.AddItem('Один',@s1);
 ComboBox1.AddItem('Два',@s2);
где s1,s2 - переменные типа string (глобальные или прописанные в форме, т.к. мы записываем указатели на них)
и на выборку делаем например так:
Код:
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
  Caption := pstring(ComboBox1.Items.Objects[ComboBox1.ItemIndex])^;
end;
pu4koff вне форума Ответить с цитированием
Старый 13.06.2007, 02:02   #6
krem
Пользователь
 
Регистрация: 31.03.2007
Сообщений: 22
По умолчанию

Спасибо. Я разобрался.

Очень сложный вопрос в тему:
посему Panel не закласывается?

стланно, когда делаис зёльтый цвет в свойстве color, компились а там фига.. осень бесит, плисем цвет показивает толька если винда с классисеским стилем.

Плавда, это не плиятно.

PS А че смайлы такие страшные?
krem вне форума Ответить с цитированием
Старый 13.06.2007, 09:36   #7
OrdJONY
.NET-чик
Форумчанин
 
Аватар для OrdJONY
 
Регистрация: 24.03.2007
Сообщений: 569
По умолчанию

В главной форме или любой другой подключи модуль XPMan и должно все быть норм
"Разработка под веб - как работа с пылесосом: нихрена не прикольно, но засасывает"
Мо маленький городок
OrdJONY вне форума Ответить с цитированием
Старый 13.06.2007, 15:09   #8
krem
Пользователь
 
Регистрация: 31.03.2007
Сообщений: 22
По умолчанию

я всегда так делаю, но не работает.
Просто хочется черного цвета с зелеными буковками, а получается серая блевота.
krem вне форума Ответить с цитированием
Старый 13.06.2007, 15:47   #9
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,520
По умолчанию

это особенности XPMa'а этого... вапще как-то исправляеца, но придеца с бубном поплясать...
pu4koff вне форума Ответить с цитированием
Старый 13.06.2007, 15:47   #10
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

У панели измени св-во ParentBackGround на true потом на false и должно быть нормально
SERG1980 вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ComboBox )Игнат( Компоненты Delphi 3 19.02.2008 16:59
ComboBox tat-besidovska Microsoft Office Excel 8 04.02.2008 08:52
Combobox Yana Помощь студентам 5 23.12.2007 02:16
Не могу внести строку из combobox в combobox!? tacer Помощь студентам 1 30.11.2007 19:45
Подсчёт непустых клеток mik Microsoft Office Excel 7 27.10.2007 13:40