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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.02.2011, 16:33   #1
casio23
Форумчанин
 
Аватар для casio23
 
Регистрация: 29.12.2010
Сообщений: 186
По умолчанию *RC

подскажите как в файл ресурса загрузить картинки(60 шт), чтобы был одна exe и rc, и с ресурса грузить эти картинки в программу?
casio23 вне форума Ответить с цитированием
Старый 25.02.2011, 17:15   #2
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Ну допустим так:
Images.rc
Код:
Img0 JPEG "Img0.jpg"
Img1 JPEG "Img1.jpg"
Img2 JPEG "Img2.jpg"
ImgN JPEG "ImgN.jpg"
...
Img60 JPEG "Img60.jpg"
Далее такая штука:
Код:
procedure LoadJPEGFromRes(TheJPEG: string; ThePicture: TPicture);
var
  ResHandle: THandle;
  MemHandle: THandle;
  MemStream: TMemoryStream;
  ResPtr: PByte;
  ResSize: Longint;
  JPEGImage: TJPEGImage;
begin
  MemStream := TMemoryStream.Create;
  JPEGImage := TJPEGImage.Create;
try
  ResHandle := FindResource(hInstance, PChar(TheJPEG), 'JPEG');
  MemHandle := LoadResource(hInstance, ResHandle);
  ResPtr := LockResource(MemHandle);
  ResSize := SizeOfResource(hInstance, ResHandle);
  MemStream.SetSize(ResSize);
  MemStream.Write(ResPtr^, ResSize);
  FreeResource(MemHandle);
  MemStream.Seek(0, 0);
  JPEGImage.LoadFromStream(MemStream);
  ThePicture.Assign(JPEGImage);
finally
  JPEGImage.Free;
  MemStream.Free;
 end;
end;
Собираем ресурс, втыкаем его в прогу, далее это:
Код:
var
i:integer;
begin
For i:=0 to 59 do //60 интераций(повторений) цикла
LoadJPEGFromRes('Img'+IntToStr(i),Image1.Picture); 
end;
Надеюсь смысл ясен?
Человек_Борща вне форума Ответить с цитированием
Старый 25.02.2011, 21:29   #3
casio23
Форумчанин
 
Аватар для casio23
 
Регистрация: 29.12.2010
Сообщений: 186
По умолчанию

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
Ну допустим так:
Images.rc
Код:
Img0 JPEG "Img0.jpg"
Img1 JPEG "Img1.jpg"
Img2 JPEG "Img2.jpg"
ImgN JPEG "ImgN.jpg"
...
Img60 JPEG "Img60.jpg"
Далее такая штука:
Код:
procedure LoadJPEGFromRes(TheJPEG: string; ThePicture: TPicture);
var
  ResHandle: THandle;
  MemHandle: THandle;
  MemStream: TMemoryStream;
  ResPtr: PByte;
  ResSize: Longint;
  JPEGImage: TJPEGImage;
begin
  MemStream := TMemoryStream.Create;
  JPEGImage := TJPEGImage.Create;
try
  ResHandle := FindResource(hInstance, PChar(TheJPEG), 'JPEG');
  MemHandle := LoadResource(hInstance, ResHandle);
  ResPtr := LockResource(MemHandle);
  ResSize := SizeOfResource(hInstance, ResHandle);
  MemStream.SetSize(ResSize);
  MemStream.Write(ResPtr^, ResSize);
  FreeResource(MemHandle);
  MemStream.Seek(0, 0);
  JPEGImage.LoadFromStream(MemStream);
  ThePicture.Assign(JPEGImage);
finally
  JPEGImage.Free;
  MemStream.Free;
 end;
end;
Собираем ресурс, втыкаем его в прогу, далее это:
Код:
var
i:integer;
begin
For i:=0 to 59 do //60 интераций(повторений) цикла
LoadJPEGFromRes('Img'+IntToStr(i),Image1.Picture); 
end;
Надеюсь смысл ясен?




да все расписано на отлично )))) СПасибо
casio23 вне форума Ответить с цитированием
Старый 25.02.2011, 23:07   #4
casio23
Форумчанин
 
Аватар для casio23
 
Регистрация: 29.12.2010
Сообщений: 186
По умолчанию

а если не в цикле то как загружать?на пример по одной картинке
casio23 вне форума Ответить с цитированием
Старый 25.02.2011, 23:40   #5
casio23
Форумчанин
 
Аватар для casio23
 
Регистрация: 29.12.2010
Сообщений: 186
По умолчанию

и что то не работает все сделал как описано,собрал рес файл, подключил его, о выдает ошибку jpeg error #42
casio23 вне форума Ответить с цитированием
Ответ


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