Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.09.05;
Скачать: [xml.tar.bz2];

Вниз

Массивы объектов   Найти похожие ветки 

 
Бегинер   (2002-08-25 21:13) [0]

Доброго времени суток, МАСТЕРА!!!
Такая вот ситуация....создаю несколько MaskEdit"тов таким способом:

SetLength(a, n);
for i:=0 to n-1 do
begin
a[i]:=TMaskEdit.Create(Form1);
a[i].name:="MEdit"+inttostr(i);
a[i].parent:=Form1;
......
end;


Сразу же после этого цикла хочу запустить такой же, создающий столько же UpDown"ов,связанных с MaskEdit"тами, делаю так:


SetLength(b, n);
for i:=0 to n-1 do
begin
b[i]:=TUpDown.Create(Form1);
b[i].parent:=Form1;
b[i].associate:="class"+inttostr(i); //Тут ошибка...говорит, что нужен тип TWinControl вмест String
end;


Как правильно прикрепить UpDown"ы и MaskEdit"ы с одинаковыпи индексами друг к другу?


 
TTCustomDelphiMaster   (2002-08-25 21:44) [1]

b[i].associate := a[i];


 
Юрий Зотов   (2002-08-25 21:45) [2]

SetLength(a, n);
SetLength(b, n);
for i:= 0 to n-1 do
begin
a[i] := TMaskEdit.Create(Form1);
// a[i].name := "MEdit" + inttostr(i); // Это лишнее.
a[i].parent := Form1;
b[i] := TUpDown.Create(Form1);
b[i].parent := Form1;
b[i].associate := a[i]; // Ссылка, а не имя!!!
......
end;



 
Бегинер   (2002-08-25 21:54) [3]

Большое Вам СПАСИБО!!!!


 
Anatoly Podgoretsky   (2002-08-25 22:01) [4]

Попробуй b[i].associate:=a[i]


 
Бегинер   (2002-08-25 22:49) [5]

Вставил я ВАШ код, создались эти АпДауны, но не ассоциированные.....у меня пременные длинные, но может поверите:
gr: array of TMaskEdit;
ud: array of TUpDown;

SetLength(gr, ng);
SetLength(ud, ng);
for i:=0 to ng-1 do
begin
gr[i]:=TMaskEdit.Create(m4);
gr[i].name:="class"+inttostr(i);
gr[i].parent:=m4.Panel1;
gr[i].text:="1";
gr[i].left:=8;
gr[i].color:=clSkyBlue;
gr[i].height:=24;
gr[i].width:=17;
gr[i].top:=i*24+40;
gr[i].EditMask:="0;1;";
ud[i]:=TUpDown.Create(m4);
ud[i].parent := m4;
ud[i].associate:=gr[i];
end;


 
Ученик   (2002-08-25 22:55) [6]

ud[i].parent := m4.Panel1;


 
Бегинер   (2002-08-25 23:05) [7]


> Ученик © (25.08.02 22:55)

Спасибочки.....надо завязывать на сегодня....


 
Бегинер   (2002-08-25 23:12) [8]

В предыдуших формах проекта я делал такую фишку для удобства: при наведении на Edit т.е. в обработчике OnMouseMove писал xxxxx.setfocus;.Как в моем массиве сделать так же для каждого объекта?


 
Юрий Зотов   (2002-08-25 23:22) [9]

1. А еще лучше ud[i].parent := gr[i].parent. Чтобы не править код, если завтра надумате перетащить контролы куда-то еще.

2. Сделать один общий OnMouseMove для всех нужных контролов:
if Sender is TWinControl then TWinControl(Sender).SetFocus


 
Бегинер   (2002-08-25 23:38) [10]

Да вы прямо АССЫ!!!!



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.09.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.007 c
1-14007
Still Swamp
2002-08-23 18:07
2002.09.05
Информация о DLL и EXE


4-14329
cult
2002-07-04 17:07
2002.09.05
WM_CancelMode - с чем его едят?


1-14012
Eugene
2002-08-25 23:24
2002.09.05
Как проверить создана ли моя форма, метод assigned не работает


1-14045
SelfDestructor
2002-08-26 20:18
2002.09.05
Валидация в XMLDocument


1-14149
antoniz
2002-08-22 09:00
2002.09.05
Подскажите как из обычного приложения подключить ActiveX форму





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский