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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.04.2009, 22:58   #1
Kib
Пользователь
 
Регистрация: 19.04.2009
Сообщений: 70
По умолчанию Автоматический выбор ItemIndex в ComboBox

В общем есть ComboBox. У него параметр Style стоит на csOwnerDrawFixed(чтоб в него текст нельзя было вводить) и items - "Домашний" - с индексом 0, "Мобильный" с индексом 1. Так же есть переменная Vid: string. Скажем нужно чтоб принажатии кнопки брался текст из Vid, например "мобильный" и у ComboBox'а ставилось ComboBox1.ItemIndex:=1 или 0 если "Домашний".
"Домашний" и "Мобильный" в данном случае как пример, item'ов много и они могут пополнятся, поэтому делать обычными условиями не пойдет...

Заранее благодарю за содействие.
Kib вне форума Ответить с цитированием
Старый 19.04.2009, 23:16   #2
Juggernaut
Пользователь
 
Регистрация: 18.04.2009
Сообщений: 55
По умолчанию

Помоему и обычными условиями вполне возможно. Изложите пояснее, а то я например не до конца все понял.
Весы слева, не забыли?

Абсурдопедия
Juggernaut вне форума Ответить с цитированием
Старый 19.04.2009, 23:20   #3
spamer
Software Developer
Старожил
 
Аватар для spamer
 
Регистрация: 19.12.2008
Сообщений: 2,070
По умолчанию

Можете конкретней сказать, что надо сделать?

Если правильно понял, то

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  Vid : String;
begin
Vid:='Мобильный';
if Vid='Мобильный' then
  ComboBox1.Text:= ComboBox1.Items[1];
end;
Будь проще и люди к тебе потянутся

Последний раз редактировалось spamer; 19.04.2009 в 23:24.
spamer вне форума Ответить с цитированием
Старый 19.04.2009, 23:24   #4
Juggernaut
Пользователь
 
Регистрация: 18.04.2009
Сообщений: 55
По умолчанию

Вам нужно чтоб при нажатии на кнопку обработчик переносил из выбранного пункта в ComboBox текст в переменную?
Весы слева, не забыли?

Абсурдопедия
Juggernaut вне форума Ответить с цитированием
Старый 20.04.2009, 00:46   #5
Kib
Пользователь
 
Регистрация: 19.04.2009
Сообщений: 70
По умолчанию

Как бы это лучше объяснить?.. Попробую переформулировать вопрос проще:
Например в списке ComboBox есть слово "Мобильный", как узнать его индекс?
Kib вне форума Ответить с цитированием
Старый 20.04.2009, 02:55   #6
Ntlegend
Форумчанин
 
Аватар для Ntlegend
 
Регистрация: 12.05.2007
Сообщений: 373
По умолчанию

простым перебором строк:

Код:
var i:integer;
begin
for i:=0 to Combobox1.Items.Count-1 do
 if ComboBox1.Items.Strings[i]='Мобильный'
 then break;
if i>=Combobox1.Items.Count
 then exit;
ShowMessage(IntToStr(i));
Перемен! - требуют наши сердца. Перемен! - требуют наши глаза.
В нашем смехе и в наших слезах, И в пульсации вен:
"Перемен!Мы ждем перемен!"
Ntlegend вне форума Ответить с цитированием
Старый 20.04.2009, 10:43   #7
Kib
Пользователь
 
Регистрация: 19.04.2009
Сообщений: 70
По умолчанию

И в правду все гениальное - просто... Согласен, в начале я немного загнул с вопросом . Просто не сразу сообразил как это объяснить попроще. Ну вот то что я хотел получить в итоге:
Код:
var
    vid: string; 
    i:integer;

begin

vid:='Мобильный';

for i:=0 to Combobox1.Items.Count-1 do
 if ComboBox1.Items.Strings[i]=vid
 then break;
if i>=Combobox1.Items.Count
 then exit;

Combobox1.ItemIndex:=i;
и получил ))
Всем спасибо за помощь.
Kib вне форума Ответить с цитированием
Старый 01.06.2011, 18:31   #8
Tiger_351
Пользователь
 
Регистрация: 02.11.2010
Сообщений: 10
По умолчанию

Прошу помощи!!!!!! У меня такой вопрос! Как можно при выборе значение в ComboBox выводить результат в StringGrid? Например: при выборе слова "один" выводилась 1 колонка, при "много"-3 колонки?
Tiger_351 вне форума Ответить с цитированием
Старый 01.06.2011, 19:06   #9
ReportCube
Форумчанин
 
Аватар для ReportCube
 
Регистрация: 11.03.2011
Сообщений: 426
По умолчанию

А почему нельзя сделать так:
Цитата:
Combobox1.ItemIndex := Combobox1.Items.IndexOF(Vid)
ReportCube вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как последовательно изменить ItemIndex в ComboBox'е Oleg Romanchuk Общие вопросы Delphi 7 03.03.2009 09:23
Itemindex в Popupmenu Lich Общие вопросы Delphi 4 09.01.2009 21:37
Запрет на выбор IITEMS в ComboBox NeiL Общие вопросы Delphi 5 10.04.2008 00:52
Проблема с ComboBox.ItemIndex Селезин Общие вопросы Delphi 3 27.10.2007 16:42