НАРОД, поможите как сделать массив из объектов в Дельфях!!!! Допустим, у меня на форме 10 Эдитов.. надо что бы они принадлежали массиву A ... первый едит - А[1]... и так далее.. и чтобы я мог обращатся к ним так - допустимм A[4].text:='ага гаа' !!!!!!!!
Это кусок кода моей программы учета кабелей с генерацией динамических компонентов которые изображ муфты -=-=-=-=-=-= перед их генерацией программа находит их в базе данных -=-=-=-=--= муфты(компоненты) находяться в массиве -=-=-=-=-=-=
Код
{ генерируем найденные данные в виде панелек муфт } c:=Form7.Query1.FieldByName('Number').asInteger; c1:=Form7.Query1.FieldByName('Number').asString; // значение из активного поля колонки Number
For i:=1 to Form7.Query1.RecordCount do begin MyPan[c] := TPanel.Create(Image1); MyPan[c].Name:='Pan' + c1; // генерируем имя компонента
MyPan[c].height := 10; MyPan[c].width := 10; MyPan[c].BevelInner:=bvLowered; MyPan[c].caption :=Form7.Query1.FieldByName('Number').asString; MyPan[c].Cursor:=crHandPoint; MyPan[c].Color:=clWhite; // button1.Hint:='Hello Word'; // button1.ShowHint:=true; // Application.HintColor:=clAqua; Application.HintHidePause:=7500; MyPan[c].Hint:='Муфта '+Form7.Query1.FieldByName('NameMuf').asString+#13+#10+'расстояние от ТП '+Form7.Query1.FieldByName('LonFroTP').asString+#13+#10+'растояние до ТП '+Form7.Query1.FieldByName('LonGoTP').asString; MyPan[c].ShowHint:=True; MyPan[c].PopupMenu:=PopupMenu1; MyPan[c].left:=Form7.Query1.FieldByName('Mous_X').asInteger; MyPan[c].top:=Form7.Query1.FieldByName('Mous_Y').asInteger; MyPan[c].Parent :=ScrollBox1; MyPan[c].OnMouseMove:=MyPanMouseMov; MyPan[c].OnClick:=MyPanOnCl; Form7.Image1.Left:=0; Form7.Image1.Top:=0; Form7.Query1.Next; // следующая запись c:=Form7.Query1.FieldByName('Number').asInteger; c1:=Form7.Query1.FieldByName('Number').asString; end; end else exit; Block:=False; end; { Обработка события Движен Мыши над динамич панельками } Procedure TForm7.MyPanMouseMov(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin Form7.Add1.Enabled:=False; Form7.Del1.Enabled:=True; // Label1.Caption:=((Sender as TPanel).Name); StatusBar1.Panels[4].Text:=((Sender as TPanel).Caption); { Вот тут самое интересное если бы не наткнулся на эту строку то долго бы еще парился как определить из какого динамичексго компонента пришло событие Sender --- отправитель } (Sender as TPanel).Color:=clRed; end;
{ Выборка динамического компонента из массива и его изничтожение как компонента, а так же из базы данных }
Сообщение отредактировано: volvo -
--------------------
Программа делает то что вы ей приказали а не то что бы ВАМ хотелось бы. МЕРФИ --------------------- RTFM - Read the fucking manual --------------------- http://www.livejournal.com/users/lonley_raven/