доброго времени суток!
вобщем такой вопрос, как объединить объекты в одно чтонибудь, чтоб можно было к ним всем обращатся как к одному объекту по индексу? уже не первый день бъюсь, ничо не помогает, пытался и в массив, и в список.. все либо компилятор ругаетсо, либо прога падает
(так все работает, но и новичку видно что код топорный, ибо видно что одна процедура по 10 раз повторяется с различием в номер объекта)
Код:
procedure TForm1.DrawIconFile;
var
x: string;
o, i, b: integer;
begin
//присвоение иконки файла к комбобоксуЕх по его расширению
ComboBoxEx1.ItemIndex := 0;
b:=0;
o:=0;
for I := 0 to ComboBoxEx1.ItemsEx.Count - 1 do begin
x:=copy(ComboBoxEx1.Items[ComboBoxEx1.ItemIndex+ b],length(ComboBoxEx1.Items[ComboBoxEx1.ItemIndex+ b])-3,
length(ComboBoxEx1.Items[ComboBoxEx1.ItemIndex+ b]));
if x = '.doc' then o := 3;
if x = 'docx' then o := 0;
if x = '.xls' then o := 2;
if x = 'xlsx' then o := 1;
ComboBoxEx1.ItemsEx[ComboBoxEx1.ItemIndex+ b].ImageIndex := o;
b:= b + 1;
end;
//и вот тут по новой для второго...
ComboBoxEx2.ItemIndex := 0;
b:=0;
o:=0;
for I := 0 to ComboBoxEx2.ItemsEx.Count - 1 do begin
x:=copy(ComboBoxEx2.Items[ComboBoxEx2.ItemIndex+ b],length(ComboBoxEx2.Items[ComboBoxEx2.ItemIndex+ b])-3,
length(ComboBoxEx2.Items[ComboBoxEx2.ItemIndex+ b]));
if x = '.doc' then o := 3;
if x = 'docx' then o := 0;
if x = '.xls' then o := 2;
if x = 'xlsx' then o := 1;
ComboBoxEx2.ItemsEx[ComboBoxEx2.ItemIndex+ b].ImageIndex := o;
b:= b + 1;
end;
//и для 3го...
ComboBoxEx3.ItemInd....
//как избежать этих глупых повторений и грамотно объединить их во чтото одно и обращатся по индексу?