bon jour
comment faire pour placer d'autres fichiers dans une application c++ builder
c'est a dir charger des fichiers de différents extentions (bmp,gif,wav,exe surtout) a partir d'un fichier ressource
bon jour
comment faire pour placer d'autres fichiers dans une application c++ builder
c'est a dir charger des fichiers de différents extentions (bmp,gif,wav,exe surtout) a partir d'un fichier ressource
il faut utiliser un fichier ressource .res
il y a pas mal de posts là dessus....
mais en résumé :
1) créer un dossier avec les ressources à inclure ( bmp,exe...)
2) creer un fichier texte MesRessources.rc ,dans ce dossier ,contenant la définition de ces ressources :
identificateur type nom_fichier
//NB :pour utiliser directement PlaySound et SND_RESOURCE , le type de Wav doit etre obligatoirement "WAVE" et pas WAVBMP_01 BMP toto.bmp
JPEG_01 JPG titi.jpg
WAV_01 WAVE ding.wav
EXE_01 EXE tata.exe
3) compiler le fichier .rc à l'aide de l'outil brcc32.exe
4) ajouter le fichier res obtenu au projet par le menu de BCB ( Projet ->ajouter au projet ...)Envoyé par ligne de commande
5) utiliser les ressources dans le code du projet :
dans le cpp (après les #pragma ) , indiquer que l'on va utiliser le fichier de ressources.
exemple d'utilisation:
Code : Sélectionner tout - Visualiser dans une fenêtre à part USERES("MesRessources.RES");
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 #include "Jpeg.hpp" #include "ShellApi.hpp" #include "Mmsystem.h" void __fastcall TForm1::Button1Click(TObject *Sender) { ListBox1->Items->Add("Extraction BMP..."); TResourceStream* Res =new TResourceStream((int)HInstance,"BMP_01","BMP"); Graphics::TBitmap * bmp=new Graphics::TBitmap(); bmp->LoadFromStream(Res); Image1->Picture->Bitmap=bmp; delete bmp; delete Res; ListBox1->Items->Add("Extraction JPEG..."); TResourceStream* Res2 =new TResourceStream((int)HInstance,"JPEG_01","JPG"); TJPEGImage * Jpg = new TJPEGImage(); Jpg->LoadFromStream(Res2); Image2->Picture->Graphic = Jpg; delete Jpg; delete Res2; ListBox1->Items->Add("Extraction EXE..."); TResourceStream* Res3 =new TResourceStream((int)HInstance,"EXE_01","EXE"); String PathExe =ExtractFilePath(Application->ExeName)+"tata.exe"; Res3->SaveToFile(PathExe); ShellExecute(NULL,"open",PathExe.c_str(),"","",SW_SHOW); delete Res3; ListBox1->Items->Add("Jouer WAVE..."); bool no_error =PlaySound("WAV_01",HInstance,SND_RESOURCE|SND_ASYNC); }
Merci DJob
Le probléme est Résolu![]()
Partager