| 
| 
 | Вопрос # 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 (статус: Посетитель)Вопрос отправлен: 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
 |  
 Мини-форум вопросаМини-форум пуст. Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |