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