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

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

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.11.2011, 00:50   #1
Алекссс
Пользователь
 
Аватар для Алекссс
 
Регистрация: 25.06.2011
Сообщений: 55
По умолчанию Массив Timage

скажите как сделать что бы при отображении массива был не только в подряд один и тот же рисунок а все которые находятся в этой папке пишу код

Код:
var i:integer;
    img: array [0..10] of TImage;
begin
  for i:=0 to 10 do
  begin
   img[i]:=TImage.Create(Self);
   img[i].Parent:=ScrollBox1;
   img[i].Name:=('Foto')+inttostr(i);
   img[i].Width:=200;
   img[i].Height:=200;
   img[i].Center:=true;
   img[i].Picture.LoadFromFile(DirectoryListBox1.FileList.FileName);
   img[i].Left:=i*250+10;
   img[i].Top:=10;
   img[i].Cursor:=crHandPoint;
   img[i].Visible:=true;
  end;
а он выдает только 1 и тот же рисунок в подряд, что можно сделать и как быть с ограничением [0..10] а если у меня их там 1500 фотографий будеит как быть....
ICQ 566505973 e-mail first_al@mail.ru
Алекссс вне форума Ответить с цитированием
Старый 07.11.2011, 02:14   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
img[i].Picture.LoadFromFile(DirectoryList Box1.FileList.FileName);
Грузится во все имэджи одно и то же.
Цитата:
у меня их там 1500 фотографий будеит
Что у вас за монитор, что будет показывать одновременно 1500 картинок с размерами
Цитата:
img[i].Width:=200;
img[i].Height:=200;
да еще и с зазором 60 ???
Цитата:
img[i].Left:=i*250+10;
Да еще и в один ряд...
Цитата:
img[i].Top:=10;

Последний раз редактировалось mihali4; 07.11.2011 в 02:17.
mihali4 вне форума Ответить с цитированием
Старый 07.11.2011, 09:52   #3
Aliens_wolfs
Форумчанин
 
Регистрация: 16.12.2009
Сообщений: 902
По умолчанию

попробуй измени строку в своем коде
будут грузиться файлы в директории и сделай проверку на количество файлов и твоих TImage
Код:
img[i].Picture.LoadFromFile(DirectoryListBox1.FileList.Items[i]);
либо так:
Сделай изменения в своем коде. Будут создаваться TImage по количеству файлов в директории
Код:
var i:integer;
    img: array [0..2000] of TImage;
begin
  for i:=0 to DirectoryListBox1.FileList.count-1 do
  begin
   img[i]:=TImage.Create(Self);
   img[i].Parent:=ScrollBox1;
   img[i].Name:=('Foto')+inttostr(i);
   img[i].Width:=200;
   img[i].Height:=200;
   img[i].Center:=true;
   img[i].Picture.LoadFromFile(DirectoryListBox1.FileList.items[i]);
   img[i].Left:=i*250+10;
   img[i].Top:=10;
   img[i].Cursor:=crHandPoint;
   img[i].Visible:=true;
  end;
Если много файлов то делай частичную загрузку иначе память загрузишь и ошибка появиться о нехватки ресурсов. Можно подгружать например в событиях ScrollBox1 у тебя же на нем появляются картинки.

Последний раз редактировалось Aliens_wolfs; 07.11.2011 в 12:32.
Aliens_wolfs вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Массив изображений TImage BigDa Помощь студентам 6 26.11.2011 08:46
Delphi. Массив TImage Sna1L Помощь студентам 3 23.06.2011 16:10
2хм. массив из TImage Viteef Общие вопросы Delphi 10 08.02.2010 21:14
Массив из объектов TImage (delphi) Alt Помощь студентам 4 07.02.2010 22:20
Как создать и отобразить на форме массив типа TImage YaFakir Мультимедиа в Delphi 3 26.03.2009 13:09