Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.05.2010, 11:20   #1
one1991
Пользователь
 
Регистрация: 13.05.2010
Сообщений: 24
По умолчанию цикл for in timer

люди добрые долгое время не писал на дельфе много забыл, напомните как в таймере сделать цикл фор с использованием динамического создания компонентов на форме, мне нужно сделать так чтобы объекты появлялись с каждым обновлением таймера в разных местах, вот мой код:

Код:
var
i:integer;
begin
    for i:=1 to 10 do
    begin
  img:=TRxGIFAnimator.Create(nil);
  img.Name:='straw'+inttostr(i);
  img.Image.LoadFromFile('imgs/strawberry.gif');
  img.AutoSize:=true;
  img.Top:=i*30;
  img.Left:=i*40;
  img.Parent:=Form1;
    end;
end;
что не так? как сделать чтобы каждый раз в новом месте они не все сразу появлялись, а по очереди???

Последний раз редактировалось one1991; 29.05.2010 в 11:26. Причина: забыл дописать
one1991 вне форума Ответить с цитированием
Старый 29.05.2010, 11:43   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

заведите внешний счетчик.(и без цикла в таймере)
и по одному за одно срабатывание добавляйте, а то вы по 10 за раз добавляете.
соответственно когда счетчик дойдет до нужного значения отключаем таймер.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 29.05.2010, 12:00   #3
one1991
Пользователь
 
Регистрация: 13.05.2010
Сообщений: 24
По умолчанию

спс попробую -)
one1991 вне форума Ответить с цитированием
Старый 29.05.2010, 12:19   #4
one1991
Пользователь
 
Регистрация: 13.05.2010
Сообщений: 24
По умолчанию

вообще красота огромное спасибо Пепел Феникса -)
Код:
type
mas=array[0..20] of integer;
var
a: mas;
i, b:integer;
begin
strawtimer.Tag:=strawtimer.Tag+1;
i:=strawtimer.Tag;
  img:=TRxGIFAnimator.Create(nil);
  img.Name:='straw'+inttostr(i);
  Randomize;
  for b:=1 to 100 do
    begin
      img.Left:=random(550);
      img.Top:=random(280);
    end;
  form1.caption:=IntToStr(b);
  img.Image.LoadFromFile('imgs/strawberry.gif');
  img.AutoSize:=true;
  img.Parent:=Form1;
end;
one1991 вне форума Ответить с цитированием
Старый 29.05.2010, 12:24   #5
one1991
Пользователь
 
Регистрация: 13.05.2010
Сообщений: 24
По умолчанию

а подскажите ещё пожалуйста как найти компонент самый маленький по номеру, чтобы когда мой объект доходит до динамического объекта этот динамический объект изчезал, нужно знать его имя а как его найти???

ошибка в условии при поиске компонента:

Код:
var
i:integer;
begin
i:=strawtimer.Tag;
  img:=TRxGIFAnimator(FindComponent('straw'+inttostr(i)));
  if img.Width=medved.Left then
    begin
      showmessage('клубничка');
    end;
end;

Последний раз редактировалось one1991; 29.05.2010 в 12:39.
one1991 вне форума Ответить с цитированием
Старый 29.05.2010, 12:34   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

FindComponent используй. примеры на форуме в массе.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 29.05.2010, 12:58   #7
one1991
Пользователь
 
Регистрация: 13.05.2010
Сообщений: 24
По умолчанию

так я использую, у меня вылазиит ошибка сразу -( есть аська? напиши 416007193 тут где-то с кодом косяк -(
one1991 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
timer Erick Cartman Помощь студентам 4 12.03.2010 19:57
Цикл по времени - Как сделать так чтобы цикл выполнялся к примеру 10 секунд ? Anarki Общие вопросы C/C++ 3 13.11.2009 19:23
Цикл с предусловием. ( цикл while) Цикл с постусловием. (цикл repeat ... until) Mr.User Помощь студентам 9 23.11.2007 01:34
Timer... Roof Общие вопросы Delphi 11 11.10.2007 12:57