PDA

Ver la Versión Completa : Extraer recursos (Resources) en tiempo de ejecución


dec
30-06-2006, 14:17:22
Extraer recursos (Resources) en tiempo de ejecución.

Las aplicaciones Delphi (y muchas otras) pueden contener iconos, texto y todo tipo de datos que nos sea necesario en el mismo ejecutable. Este tipo de datos son conocidos como Recursos (Resource) y Delphi nos proviene de formas de utilizarlos muy fácilmente con TResourceStream.

Suponiendo que queramos adjuntar un texto o cualquier dato a nuestro ejecutable, y extraerlo en tiempo de ejecución, podemos añadirlo desde el IDE mediante el menú -View -Resources. Entonces nos aparece una lista donde pulsando en el menú contextual le diremos que vamos a añadir un nuevo recurso (new) y su tipo (a elegir), así como su nombre. Echo esto, desde programa tan solo tendremos que instanciar una TResourceStream.

Para extraerlo con el ejemplo siguiente :


procedure TForm1.ExtraeRecurso;
var
Resource: TResourceStream;

begin
Resource := TResourceStream.Create( MainInstance, 'DATA1', RT_RCDATA );
Resource.SaveToFile( 'c:\text.txt' );
Resource.Free;
end;

Donde MainInstance es la variable que contiene la instancia de nuestra aplicación (no hay que crearla, ya existe), 'DATA1' es el nombre que hemos dado a nuestro recurso y RT_RCDATA es el tipo de recurso que extraemos. Como se ha dicho, existen varios tipos de recurso, para más información consultar TResourceStream.

jhonalone
21-01-2011, 21:35:52
No se la versión que usas para este truco. Yo uso la versión 7 y te puedo asegurar que no existe un submenú "Resources" en el menú "View"