Inclure un fichier JPEG dans un exe

magicvinni
Messages postés
235
Date d'inscription
vendredi 25 avril 2003
Statut
Membre
Dernière intervention
26 juillet 2010
- 12 juin 2002 à 22:23
cs_Delphiprog
Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Membre
Dernière intervention
9 janvier 2013
- 26 juil. 2003 à 21:23
Bonjour, j'ai 2 questions
1) Est il possible d'inclure un fichier JPeg dans un exe?
2) Quelles sont les variable qui donneent les chemins de Windows/temps, Program Files...
Merci d'avance

7 réponses

SnakeBurn
Messages postés
11
Date d'inscription
mercredi 22 mai 2002
Statut
Membre
Dernière intervention
12 juin 2002

12 juin 2002 à 22:28
pour mettre un jpeg dans ton exe
tu dois utiliser Res_Hia qui facilite l utilisation de brcc32
0
cs_Delphiprog
Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Membre
Dernière intervention
9 janvier 2013
31
12 juin 2002 à 23:02
Deuxième partie de la question :
Ce code n'est pas de moi et je ne me souviens plus d'où je le tiens. Quoiqu'il en soit, le voici...
--------------------------------------------------
unit wininfo;

interface

uses
Windows, Registry;

type
TWindowsInfo = class
private
{ Private declarations }
FDesktopDir: string;
FFavoritesDir: string;
FFontsDir: string;
FNetHoodDir: string;
FPersonalDir: string;
FProgramsDir: string;
FRecentDir: string;
FSendToDir: string;
FStartMenuDir: string;
FStartupDir: string;
FTemplatesDir: string;
FProgramFilesDir: string;
protected
{ Protected declarations }
public
{ Public declarations }
constructor Create;
published
{ Published declarations }
property DesktopDir: string read FDesktopDir;
property FavoritesDir: string read FFavoritesDir;
property FontsDir: string read FFontsDir;
property NetHoodDir: string read FNetHoodDir;
property PersonalDir: string read FPersonalDir;
property ProgramsDir: string read FProgramsDir;
property RecentDir: string read FRecentDir;
property SendToDir: string read FSendToDir;
property StartMenuDir: string read FStartMenuDir;
property StartupDir: string read FStartupDir;
property TemplatesDir: string read FTemplatesDir;
property ProgramFilesDir: string read FProgramFilesDir;
end;

var
WindowsInfo: TWindowsInfo;

implementation

constructor TWindowsInfo.Create;
const
WinKey = '\Software\Microsoft\Windows\CurrentVersion\';
ExplorerKey = '\Software\Microsoft\Windows\CurrentVersion\Explorer\';
ProgramFilesKey = '\Software\Microsoft\Windows\CurrentVersion\';
var
Reg: TRegistry;
begin
inherited Create;

Reg := TRegistry.Create;
try
Reg.RootKey := HKey_Current_User;
if Reg.OpenKey(ExplorerKey+'Shell Folders', FALSE) then begin
FDesktopDir:=Reg.ReadString('Desktop');
FFavoritesDir:=Reg.ReadString('Favorites');
FFontsDir:=Reg.ReadString('Fonts');
FNetHoodDir:=Reg.ReadString('NetHood');
FPersonalDir:=Reg.ReadString('Personal');
FProgramsDir:=Reg.ReadString('Programs');
FRecentDir:=Reg.ReadString('Recent');
FSendToDir:=Reg.ReadString('SendTo');
FStartMenuDir:=Reg.ReadString('Start Menu');
FStartupDir:=Reg.ReadString('Startup');
FTemplatesDir:=Reg.ReadString('Templates');
end;
Reg.RootKey := HKey_Local_Machine;
if Reg.OpenKey(ProgramFilesKey,False) then
FProgramFilesDir:=Reg.ReadString('ProgramFilesDir');
finally
Reg.Free;
end;
end;

initialization
WindowsInfo:=TWindowsInfo.Create;

finalization
WindowsInfo.Free;

end.

---------------------------------------------------------
Comme tu le vois, il suffit de déclarer l'utilisation de l'unité WinInfo, Et de lire les propriétés déclarées dans la partie published. :)

May Delphi be with you.
Delphi advanced
0
cs_Delphiprog
Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Membre
Dernière intervention
9 janvier 2013
31
12 juin 2002 à 23:05
Pour info, la doc est sur le site The Unofficial Newsletter of Delphi Users.

Rendons à César ce qui appartient à César ! ;)

May Delphi be with you.
Delphi advanced
0
magicvinni
Messages postés
235
Date d'inscription
vendredi 25 avril 2003
Statut
Membre
Dernière intervention
26 juillet 2010

14 juin 2002 à 18:16
Merci pour vos réponses. J'ai bien compris celle pour les chemins de windows, par contre pour le JPeg dans l'exe, rien du tout, quelqu'un pourrait il m'expliquer lentement merci :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bombela
Messages postés
225
Date d'inscription
mardi 4 mars 2003
Statut
Membre
Dernière intervention
30 juillet 2008

18 mars 2003 à 22:51
Salut !

1. Tu vas chercher "brcc32.exe" dans le repertoire Bin de Delphi.

2.Tu le copie près de ton dpr.

3.Tu créer un fichier text nomé "LeNomDuFichierResource.rc".

4.Tu l'ouvre en mode texte(avec notpad) et tu écrit dedans :
MonImage RCDATA "Chemin\nomdufichier.jpg"
"MonImage" est l'indentificateur de la resource dans l'exe.
Tu le ferme.

5.Tu créer un fichier Texe du nom "CompilRes.bat".

6.Tu l'ouvre en mode texte et tu écris :
brcc32.exe "LeNomDuFichierResource.rc"

7.Tu le ferme et tu l'execute (double clique dessus).
Normalemant, un fichier "LeNomDuFichierResource.res" est créé.

8.Dans delphi, après la ligne {$R *.dfm} de ton prog tu ecrit : {$R LeNomDuFichierResource.res}

9.Si tu veux resortir ton fichier dans un dossier :
Info : Name est l'indentificateur de resource.

Procedure ResortRes(NameRes,NameFich : String);
Var Res : TResourceStream;
Begin
Res := TResourceStream.Create(
hinstance,Name,RT_RCDATA);
Res.SaveToFile(NameFich);
Res.free;
End;

Voilà ! Un petit tuto que j'espère compréensible !
(C le premier que je fais !).

BOMBELA
0
cs_juliop
Messages postés
13
Date d'inscription
lundi 19 mai 2003
Statut
Membre
Dernière intervention
2 juillet 2003

12 juil. 2003 à 14:13
erf j'ai rien compris à l'utilisation de ce code !?!?
pouvez m'eclairer plize ?
merci !!
0
cs_Delphiprog
Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Membre
Dernière intervention
9 janvier 2013
31
26 juil. 2003 à 21:23
Ce code répondait à la deuxième question posée par magicvinni, à savoir comment connaitre les chemins de windows.
Pour l'utiliser, il suffit de déclarer l'utilisation de l'unité Wininfo dans une clause uses.
Comme cette unité contient des sections Initialization et Finalization, on peut appeler directement les différentes propriétés de l'objet WindowsInfo (DesktopDir, FavoritesDir, etc).
J'espère avoir été plus clair :)
May Delphi be with you
0