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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.09.2012, 22:49   #1
Volkogriz
Форумчанин
 
Аватар для Volkogriz
 
Регистрация: 11.10.2007
Сообщений: 384
По умолчанию Загрузка изображения

Доброе время суток!
Помогите пожалуйста.
На форме 15 Image в корне папки программы файл Image.List с путями к джипег файлом на форме кнопка загрузить и далее
При нажатие на кнопку заполняются 15 Image при нажатие кнопки далие загружаются новые рисунки в 15 Image
все пути к файлом для загрузки находятся в файле Image.List
Зарание благодарен!
С уважением,
Volkogriz!
Не количеством плюсов измеряется репутация человека...!
Volkogriz вне форума Ответить с цитированием
Старый 28.09.2012, 01:05   #2
Delphi_ProGer
Форумчанин
 
Регистрация: 30.10.2010
Сообщений: 524
По умолчанию

1. Загрузите в TStringList файл Image.List
2. Пройдитесь цыклом по компонентах, проверяйте, не TImage ли это
3. Если да, загружаем картинку в имейдж из соотвественого рядка в TStringList, тоесть путь картинки.
Delphi_ProGer вне форума Ответить с цитированием
Старый 28.09.2012, 01:32   #3
Volkogriz
Форумчанин
 
Аватар для Volkogriz
 
Регистрация: 11.10.2007
Сообщений: 384
По умолчанию

Не выходит почему то.
Можно примерчик?
Код:

procedure TForm1.Button1Click(Sender: TObject);
begin
  Load15Images;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  FCurrentImage := 0;
  FSL:= TStringList.Create;
  FSL.LoadFromFile('\Image.List');
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  FSL.Free;
end;

procedure TForm1.Load15Images;
var
  I, Pos: Integer;
begin
  Pos := Max(0, FCurrentImage);
  for I := Pos to Min(Pos + 15, FSL.Count - 1) do
    TImage(FindComponent('Image' + IntToStr(I - Pos +  1))).Picture.LoadFromFile(FSL[I]);
  Inc(FCurrentImage, 15);
end;
Что не так подскажите.
Не количеством плюсов измеряется репутация человека...!
Volkogriz вне форума Ответить с цитированием
Старый 28.09.2012, 01:36   #4
Delphi_ProGer
Форумчанин
 
Регистрация: 30.10.2010
Сообщений: 524
По умолчанию

А что именно не получаеться? Ошибка? Не компилиться? Изображение не загружаеться?
Delphi_ProGer вне форума Ответить с цитированием
Старый 28.09.2012, 01:41   #5
Volkogriz
Форумчанин
 
Аватар для Volkogriz
 
Регистрация: 11.10.2007
Сообщений: 384
По умолчанию

Не компилиться!
Ошибка:
[Error] Unit1.pas(55): Undeclared identifier: 'Max'
Код:
Pos:=Max(0, FCurrentImage);
ню и здесь естественно:
Код:
Min(Pos + 15, FSL.Count - 1) do
вроде должно быть вё ок(
Не количеством плюсов измеряется репутация человека...!
Volkogriz вне форума Ответить с цитированием
Старый 28.09.2012, 01:57   #6
Delphi_ProGer
Форумчанин
 
Регистрация: 30.10.2010
Сообщений: 524
По умолчанию

Попробуйте:
Код:
if Fsl.Count>0 then
for i:=0 to Fsl.count-1 do
TImage(FindComponent('Image' + IntToStr(I))).Picture.LoadFromFile(FSL[I]);
Delphi_ProGer вне форума Ответить с цитированием
Старый 28.09.2012, 02:08   #7
Volkogriz
Форумчанин
 
Аватар для Volkogriz
 
Регистрация: 11.10.2007
Сообщений: 384
По умолчанию

Спасибо!
Разобрался.

Код:
uses  
jpeg, Math,

 procedure Load15Images;


var
  Form1: TForm1;
   Image:TImage;
    FSL: TStringList;
    FCurrentImage: Integer;
implementation

{$R *.dfm}


procedure TForm1.Load15Images;
var
I,Pos:Integer;
begin
  Pos:=Max(0, FCurrentImage);
  for I := Pos to Min(Pos + 15, FSL.Count - 1) do
    TImage(FindComponent('Image' + IntToStr(I - Pos + 1))).Picture.LoadFromFile(FSL[I]);
    Inc(FCurrentImage, 15)
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
Load15Images;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 FCurrentImage := 0;
  FSL:= TStringList.Create;
  FSL.LoadFromFile('Image.List');
//TImage(FindComponent('Image' + IntToStr(I - Pos + 1))).Picture.LoadFromFile(FSL[I]);
  end;

procedure TForm1.Button2Click(Sender: TObject);
begin
FSL.Free;
 FCurrentImage := 0;
  FSL:= TStringList.Create;
  FSL.LoadFromFile('Image.List');
   Load15Images;
  end;

end.
Может кому то понадобится !)
Не количеством плюсов измеряется репутация человека...!
Volkogriz вне форума Ответить с цитированием
Старый 28.09.2012, 05:17   #8
Volkogriz
Форумчанин
 
Аватар для Volkogriz
 
Регистрация: 11.10.2007
Сообщений: 384
По умолчанию

возможно ли вот это заставить работать?
Код:
procedure TForm1.LoadImages;
var
I,Pos:Integer;
JPG: TJPEGImage;
Imag: THandle;
begin
Imag:= LoadLibrary(PChar(extractfilepath(Application.ExeName)+ 'SystemFacility.dll'));
TListStream:=TResourceStream.Create(Imag,'ListIm','LoadIm');
FSL:= TStringList.Create;
FSL.LoadFromStream(TListStream);
begin
   JPG := TJPEGImage.Create;
  Pos:=Max(0, FCurrentImage);
  for I := Pos to Min(Pos + 14, FSL.Count - 1) do
imageStream:=TResourceStream.Create(Imag,FSL[I],RT_RCDATA);
JPG.LoadFromStream(imageStream);
  TImage(FindComponent('Image' + IntToStr(I - Pos + 1))).Picture.Assign(JPG);
  Inc(FCurrentImage, 14)
  end;
end;
если нет, то как это осуществить?
всю ночь копался не чего не придумал((
За ранее благодарен!
С уважением,
Volkogriz!
Не количеством плюсов измеряется репутация человека...!

Последний раз редактировалось Volkogriz; 28.09.2012 в 05:20.
Volkogriz вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Загрузка изображения из БД {Shadowevil} БД в Delphi 12 21.08.2012 09:30
Загрузка изображения iiunbreakableii Общие вопросы Delphi 1 13.02.2011 20:30
загрузка изображения wlords Помощь студентам 3 24.11.2010 20:52
Загрузка изображения _-Re@l-_ Общие вопросы Delphi 7 31.05.2010 14:54
Загрузка изображения JRcoker Мультимедиа в Delphi 15 04.11.2008 18:32