sábado, 23 de maio de 2009

Armazendo BMP's em arquivos RES

//Crie um arquivo texto, por exemplo: RECURSOS.RC com um conteúdo igual a este:
BITMAP_1 BITMAP "C:ImagensGrafico.bmp" //para todos os bitmap's que você deseja;

{Compile este arquivo usando o BRCC32.EXE que esta no diretorio BIN do Delphi sera gerado o arquivo RECURSOS.RES; e

Coloque dentro do fonte do projeto:}


{$R RECURSOS.RES} //Para usar o bitmap faca o seguinte:


VarTipoTBitmap:= LoadBitmap(HInstance,'BITMAP_1'); //Colocando um JPG dentro de um .exe

{Para colocar um arquivo qualquer dentro de um arquivo .exe, primeiramente crie um arquivo com extensão .rc no Bloco de Notas. O formato de um arquivo .rc é o seguinte:}

1 RCDATA "MyPic.jpg"

{Onde "1" é o índice do arquivo, "RCDATA" é significa que é um tipo de arquivo não-padrão (os padrões são bitmaps, ícones e cursores) e ""MyPic.jpg"" é o nome do arquivo. Salve e execute o programa BRCC32.EXE que fica no subdiretório Bin do Delphi (BRCC32 arquivo.rc). Será criado um arquivo .res (arquivo.res) cujo conteúdo terá o próprio JPG.

Nota: Você pode colocar mais de um arquivo no arquivo .res, desde que os índices sejam diferentes.

Para colocá-lo no executável, coloque a linha:}


{$R arquivo.res} //após a linha:


{$R *.DFM} //Ok, ele já vai ficar no executável. E como eu rodo esse JPG? Simples:


procedure LoadJPEGfromEXE;
var
MyJPG : TJPEGImage;
ResStream : TResourceStream;
Index : Integer;
begin
Index := 1;
try
MyJPG := TJPEGImage.Create;
ResStream := TResourceStream.CreateFromID (HInstance, Index, RT_RCDATA);
MyJPG.LoadFromStream (ResStream);
Canvas.Draw (12, 12, MyJPG);
finally
MyJPG.Free;
ResStream.Free;
end;
end; //Troque o valor de Index pelo valor do índice que você criou para o arquivo que deseja abrir.

Nenhum comentário:

Postar um comentário