На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: jack128, Rouse_, Krid
  
    > Работа с ресурсами , включение файлов в программу
      Первое:

      Нужно создать resource script file (*.RC) с помощью простого текстового файла (например блокнота), и вписать всего одну строку:

      1 RCDATA "MyPic.jpg"

      Единичка – это просто номер ресурса, RCDATA - определяет, что мы имеем дело с user-defined resource. Последнее – имя файла с JPG рисунком.

      Второе:

      Компилируем его в .RES файл, при помощи BRCC32.EXE. В MS-DOS набираем:
      BRCC32 MyPic.RC

      Это должно создать файл MyPic.RES.

      Третье:

      Добавляем директиву компилятор в исходный код нашей программы. Она должна следовать за директивой формы, как показано здесь:

      {$R *.DFM}
      {$R MyPic.RES}

      Четвертое:

      Добавляем следующую процедуру в программу:

      Procedure LoadJPEGfromEXE;
      Var MyJPG: TJPEGImage;
           ResStream: TResourceStream;
      Begin
      MyJPG:=TJPEGImage.Create;  
       ResStream:=TResourceStream.CreateFromID(HInstance, 1, RT_RCDATA);      
      try
       MyJPG.LoadFromStream(ResStream); // ДА! Так просто :)    
       Canvas.Draw(12,12,MyJPG); // Нарисуем на Canvas, чтобы убедиться, что все работает!
      finally
       MyJPG.Free;    
       ResStream.Free;  
      end;
      End;  


      Посмотрите на второй параметр процедуры CreateFromID объекта TresourceStream. Это просто индекс ресурса. Вы можете включить более, чем один jpeg в своей программе просто добавляя новую строчку для каждого jpeg (с другим индексом) в .RC файл.

      Пятое:

      Запускайте программу, и ура! Теперь можно взять с полки пирожок :)

      © Рассылка delphi.mastak.ru

      Тема - элемент ЧАВО. Подготовлена by © Song
        А здесь исходники программы, которая позволяет редактировать ресурсы (Спасибо Song'у):
        Прикреплённый файлПрикреплённый файлResEdit.zip (40.92 Кбайт, скачиваний: 464)
        0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
        0 пользователей:


        Рейтинг@Mail.ru
        [ Script execution time: 0,0158 ]   [ 16 queries used ]   [ Generated: 28.04.24, 04:51 GMT ]