Связь двух комбобоксов на одной форме

AXS

Подскажите пожалуйста как сделать, чтобы при выборе в первом комбобоксе допустим "5", во втором отображались только "М57" и "М58"?
5 ответов

AXS

Тема популярна, поиск сразу же даст ответ. Можно подгружать во-второй ComboBox из ini-файла, можно из массива.


AXS

эм, типизированный массив подойдет


AXS

Вот что-то похожее, но думаю массив для моего случая будет огромным...видимо там будет Array[0..9]?
var
    // Первый индекс - индекс выбранного элемента в первом списке,
    //   второй - индекс имени. Если записано true, то соответствующее имя должно попасть в список.
    whatShow: Array [0..3, 0..3] of Boolean;
    names: Array[0..3]  of String;
    i: integer;
Begin
    whatShow[0, 0] := false; whatShow[0, 1] := false; whatShow[0, 2] := true; whatShow[0, 3] := true;
    whatShow[1, 0] := true; whatShow[1, 1] := true; whatShow[1, 2] := false; whatShow[1, 3] := false;
    whatShow[2, 0] := false; whatShow[2, 1] := true; whatShow[2, 2] := false; whatShow[2, 3] := true;
    whatShow[3, 0] := true; whatShow[3, 1] := false; whatShow[3, 2] := true; whatShow[3, 3] := false;
 
    names[0] := 'Коля'; names[1] := 'Петя'; names[2] := 'Маша'; names[3] := 'Саша';
 
    ComboBox2.Clear; //  Чистим список с именами
    For i = 0 To 3 Do
        If whatShow[ComboBox1.SelectedItemIndex, i] Then
            ComboBox2.Items.Add(names[i]); // Добавляем имя в список, если в массиве в соответствующем месте true
End;
Однако тут есть ошибки, которые я не могу исправить...[Error] UChoiceKursAndGroup.pas(80): For loop control variable must be simple local variable [Error] UChoiceKursAndGroup.pas(81): Undeclared identifier: 'SelectedItemIndex' [Error] UChoiceKursAndGroup.pas(82): Incompatible types: 'Boolean' and 'procedure, untyped pointer or untyped parameter' [Fatal Error] Praktikum.dpr(13): Could not compile used unit 'UChoiceKursAndGroup.pas'


AXS

  ComboBox1.SelectedItemIndex
Здесь слеплены два свойства
  ComboBox1.Selected;
  ComboBox1.ItemIndex;
Ошибки приводи к строкам кода который выложен здесь.


AXS

попробуйте через if then