Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 3 939

/ вопрос открыт /

Здравствуйте, эксперты!

Доброго времени суток, уважаемые эксперты!

Значит так. Есть много картинок "Image1 ......ImageN". Как сделать так чтобы в цикле всем картинкам в поле Picture присвоить одну картинку ?
Как в цикле поменять те самые 1...N b и чтобы присваивать?
Если я сделаю например так:(упрощенно)

var d:string;
for i:=1 to n do begin
d:= 'Image+IntToStr(i)+.Picture;

//то потом этому d надо присвоить
d:=X.Picture; // но тут несовпадение типов.
end;
КАК ?

hatecows Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: hatecows (статус: Посетитель)
Вопрос отправлен: 26 марта 2010, 18:21
Состояние вопроса: открыт, ответов: 1.

Ответ #1. Отвечает эксперт: Вадим К

Здравствуйте, hatecows!
наверно где то так

var t:TPicture;
    im:TObject;
    s:string;
begin
  for i=1 to n do begin
  s:= 'Image'+IntToStr(i);
  im := FindComponent(s);
  if not(im is TImage) then continue;//нашли компонент, но он не картинка...
  t := TImage(im).Picture;
  //делаем с t что хотим....
  end;
end;
если Image лежат не на форме, а на панели, то надо писать
panel1.FindComponent(s)

P.S. есть и более красивые способы решения такой задачи, но надо знать больше - что же хочется сделать.

Ответ отправил: Вадим К (статус: Академик)
Время отправки: 26 марта 2010, 18:32
Оценка за ответ: 5


Мини-форум вопроса

Мини-форум пуст.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 31 мая 2023, 23:11
Выполнено за 0.03 сек.
Рейтинг@Mail.ru