ComboBox's значения
В ComboBox1 занесены следущие текстовые значения:
Проценты банка "Whatever1"
Проценты банка "Whatever2"
Проценты банка "Whatever3"
Под ними нужно спрятать числовые значения, на которые потом будет умножаться содержимое Edit1.
Занести напрямую числа в ComboBox нельзя.
Задача: Юзер выбирает нужный банк, пишет кол-во лет в Edit1 и выдаеться результат (пока не важно куда именно). Как обойтись без if...else, switch...case ?
Хотелось бы, что бы работало примерно так:
// Тут нужно как то сделать числовую маску для
// текстовых значений ComboBox
result=StrToFloat((Edit1-Text)*ComboBox1
Или так: заведи массив значений, нужное значение выбирай с помощью индекса выбранной в комбобоксе строки, ItemIndex. Смотри справку.
float fValue[] = {2.0, 11.0, 18.0};
Инициализация
ComboBox->Items->AddObject("Waterhouse 1", (TObject *)0);
ComboBox->Items->AddObject("Waterhouse 2", (TObject *)1);
ComboBox->Items->AddObject("Waterhouse 3", (TObject *)2);
Если ComboBox уже заполнен, тогда можно
ComboBox->Items->Objects[0] = (TObject *)0; // Индекс соотв. знач. в fValue
ComboBox->Items->Objects[1] = (TObject *)1;
ComboBox->Items->Objects[2] = (TObject *)2;
Получение значения
float result = StrToFloat(Edit1->Text) * fValue[(int)ComboBox->Items->Objects[ComboBox->ItemIndex]];
Благодарю.......все работает.....:)