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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.06.2007, 09:23   #1
Ensoph
Пользователь
 
Аватар для Ensoph
 
Регистрация: 29.06.2007
Сообщений: 47
По умолчанию ..TComboBox..

дано два окна, как сделать так, чтобы список второго формировался взависимости от выбранного элемента в первом?
все когда-то начинали с элементарного...
Ensoph вне форума Ответить с цитированием
Старый 29.06.2007, 09:37   #2
ЧИЖ
Форумчанин
 
Аватар для ЧИЖ
 
Регистрация: 24.02.2007
Сообщений: 104
По умолчанию

если я тебя правильно понял то попробуй так

Код:
 
procedure TForm1.ComboBox1Select(Sender: TObject);
begin
combobox2.Items.Add(combobox1.Text);
end;
Разберемся.......
ЧИЖ вне форума Ответить с цитированием
Старый 29.06.2007, 09:51   #3
Ensoph
Пользователь
 
Аватар для Ensoph
 
Регистрация: 29.06.2007
Сообщений: 47
По умолчанию

нее... допустим в первом списке A, B и С. если мы выбираем A, то во втором списке получаем D и E, если выбираем В, то второй список состоит из F и G... и так далее
все когда-то начинали с элементарного...
Ensoph вне форума Ответить с цитированием
Старый 29.06.2007, 14:59   #4
Romanbl4
Форумчанин
 
Аватар для Romanbl4
 
Регистрация: 20.06.2007
Сообщений: 144
По умолчанию

procedure TForm1.ComboBox1Select(Sender: TObject);
begin
combobox2.Items.Clear;
if combobox1.Text='A' then
begin
combobox2.Items.Append('D');
combobox2.Items.Append('E');
end
else
if combobox1.Text='B' then
begin
combobox2.Items.Append('F');
combobox2.Items.Append('G');
end;
end;
Romanbl4 вне форума Ответить с цитированием
Старый 29.06.2007, 15:21   #5
Alex21
With best regards
Участник клуба
 
Регистрация: 20.04.2007
Сообщений: 1,448
По умолчанию

А еще лучше иметь заготовленные ТХТ файлы, названия которых состоят:
'c:\data\file_'+строка_из_1-го_комбобокса+'.txt';
содержащие нужные строки, код значительно уменьшается.
Код:
procedure TForm1.ComboBox1Select(Sender: TObject);
begin
   ComboBox2.Items.LoadFromFile('с:\file_'+ComboBox1.Text+'.txt');
end;
А если еще иметь список ComboBox1 в ТХТ, тогда можно менять все списки, без компиляции проекта, простой заменой ТХТ файлов.
Alex21 вне форума Ответить с цитированием
Старый 29.06.2007, 16:36   #6
ЧИЖ
Форумчанин
 
Аватар для ЧИЖ
 
Регистрация: 24.02.2007
Сообщений: 104
Хорошо

а можт еще проще

попробуй задать массив из TStringList ов заполнить их зарание просто или из файла
Код:
var lists:array[0..10] of tstringlist;
i:byte;
 
for i:=0 to 10 do 
lists[i]:=tstringlist.create;
lists[0].add('asd');
lists[0].add('qwe');
...........................
lists[1].add............
............................
lists[10].add...........
...........................
или
Код:
var lists:array[0..10] of tstringlist;
i:byte;
f:textfile;
s:string;
 
for i:=0 to 10 do begin
lists[i]:=tstringlist.create;
assignfile(f,inttostr(i)+'.txt');
reset(f);
while not eof(f) do begin
readln(f,s);
lists[i].add(s);
end;
closefile(f);
end;
а далее обращаешься к стринглистам по индексу итема в 1 комбобоксе

Код:
procedure TForm1.ComboBox1Select(Sender: TObject);
var i:byte;
begin
combobox2.clear;
for i:=0 to lists[combobox1.itemindex].count-1 do
combobox2.add(lists[combobox1.itemindex].items[i]);
end;
ну и конечно гдето около закрытия проги незабудь освободить память

Код:
for i:=0 to 10 do
lists[i].free;
Разберемся.......
ЧИЖ вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TComboBox (ввод чисел в верхнюю позицию) Petrucci Общие вопросы Delphi 7 08.07.2008 14:26
TComboBox! samlay Общие вопросы Delphi 8 03.07.2008 22:11
TCombobox kalyan_ne_@ Компоненты Delphi 10 13.05.2008 09:44
Глючит TComboBox в Delphi7.0 And1 Компоненты Delphi 17 03.03.2007 01:00