Hola te dejo este ejemplo usando arreglos uno simple para las marcas y uno de dos dimensiones para los modelos
si tienes dudas me avisas
Código Delphi
[-]
var
Form1: TForm1;
marcas:array[0..2] of string=('Toyota','Chevrolet','Ford');
modelos:array[0..2,0..2]of string=(('Alphard','Altezza','Auris'),
('Bel Air','Beretta','Bison'),
('Capri','C-Max','Corcel'));
implementation
uses Math;
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var
i:integer;
begin
For i:=low(marcas) to High(marcas) do
begin
ComboBox1.Items.Add(marcas[i]);
end;
end;
procedure TForm1.ComboBox1Change(Sender: TObject);
var
i:integer;
begin
ComboBox2.Clear;
If ((ComboBox1.Items.Count=0) or (ComboBox1.ItemIndex=-1)) then Exit;
For i:=low(modelos[0]) to High(modelos[0]) do
begin
ComboBox2.Items.Add(modelos[ComboBox1.itemIndex,i]);
end;
ComboBox2.Text:=modelos[ComboBox1.itemIndex,0];
end;
end.
Saludos...