PDA

Ver la Versión Completa : Extraer Archivo de los recursos


odiseeus
28-10-2013, 06:07:55
Buen día a todos,

para hacer mas portable mi aplicación, requiero sacar un archivo que servirá para llevar ciertos registros, específicamente un archivo .mdb, esta en los recursos (no lo ingreso por código pero si me ayudarán con ese aspecto sería bueno), lo integro al programa por medio de Proyecto>Recursos e imágenes... Adicionar, pero no encuentro en la red una manera de sacarlo de ahí por código en C++ (XE2), les agradecería.

Identificador del recurso: DataB
Recurso tipo: RCDATA

Adicionalmente como se configura para usar un archivo de fuente de letras (Recurso tipo: FONT) en el programa, sé que es mucho pedir... pero Gracias :)

ecfisa
29-10-2013, 14:41:53
...
Adicionalmente como se configura para usar un archivo de fuente de letras (Recurso tipo: FONT) en el programa, sé que es mucho pedir... pero Gracias :)
Hola odiseus.

Ejemplo, archivo FONT.RC :
MFONT CORBEL "C:\WINDOWS\FONTS\CORBEL.TTF"
Generar .RES:
brc32 -r -v FONT.RC


...
#pragma resource "FONT.RES" // ó "C:\\UBICACION_DEL_RES\\FONT.RES"

TFont *GlobalFont;

// Cargar font
void __fastcall TForm1::FormCreate(TObject *Sender)
{
TResourceStream *res = new TResourceStream((int)HInstance, "MFONT", "CORBEL");
if (AddFontResource("CORBEL.TTF")==0)
MessageBox(Handle,"Error al cargar el font","",MB_ICONERROR);
else {
SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0);
GlobalFont = new TFont;
GlobalFont->Charset = SYMBOL_CHARSET;
GlobalFont->Name = "corbel";
}
delete res;
}

// Uso:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Edit1->Font->Assign(GlobalFont);
Edit1->Font->Size = 14;
}

void __fastcall TForm1::FormDestroy(TObject *Sender)
{
delete GlobalFont;
}


Saludos :)