Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Работа с массивами компонентов [D7, WinXP]


aleccc ©   (2006-01-04 22:28:00) 

Здравствуйте. Подскажите пожалуйста как мне решить следующую задачу:Создаю компоненты create(self), присваеваю их массиву (к примеру ...of TShape), но мне нужно
чтобы любой такой mas[i] передвигаясь по форме совпадая и топом и лефтом другого mas[i] останавливался, а с которым
совпало двигался далее(переберая циклом что то не то получается)


Virgo_Style   (2006-01-05 13:17:00) [1]

aleccc   (05.01.06 13:06) [7]

это не могут быть разные элементы, пока одинаковы выражения в квадратных скобках. Никогда.


aleccc   (2006-01-05 13:06:00) [2]

Хотел короче при совпадении координат какого угодно sha[I] с другим sha[i]
(это в каждом случае могут быть разные sha[i], в зависимости как я их размещу на форме) выполнялось определённое
действие, но ничего не выходит


Virgo_Style   (2006-01-05 09:26:00) [3]

aleccc   (04.01.06 23:21) [4]
if sha[i].left=sha[i].left then.......


И чего ты хотел этим добиться, если не секрет?


Гаврила   (2006-01-05 00:26:00) [4]


>sha[n]:=TShape.Create(Self);
> with sha[n].Create(self)do begin


А вот это зачем (для начала):
with sha[n] .Create(self)do begin
Зачем конструктор еще раз вызываешь (уже как метод)?
Не нужно


> procedure TForm3.Timer2Timer(Sender: TObject);


Ничего не понял, что ты тут хочешь, чтобы было?


aleccc   (2006-01-04 23:21:00) [5]

sha:array[1..100]of TShape;
       n:integer;

.............................................
procedure TForm3.FormClick(Sender: TObject);
..............................................
sha[n]:=TShape.Create(Self);
with sha[n].Create(self)do begin
 parent:=form3;
 Width:=7;
 Height:=7;
 Shape:=stCircle;
 Left:=strtoint(Form1.Edit3.text)-20;
 Top:=strtoint(Form1.Edit4.text)-3;
end;
.....................................
procedure TForm3.Timer2Timer(Sender: TObject);
begin
for i:=1 to 3 do
 sha[i].Left:=sha[i].Left+1;
ниже неправильно
if sha[i].left=sha[i].left then.......
end;


YurikGL   (2006-01-04 23:07:00) [6]


> Создаю компоненты create(self), присваеваю их массиву

Код, пожалуйста...


> Таймером передвигается какой то TShape

Код, пожалуйста...


aleccc   (2006-01-04 23:04:00) [7]

Таймером передвигается какой то TShape


Virgo_Style   (2006-01-04 23:02:00) [8]

как делаешь?


Наверх

Титульная страница Поиск, карта сайта Написать письмо