Ô RES Ô
 © 3/10/98 Jean Claude Meier
 

Sous Windows et avec Delphi, il est enfantin de mettre les principales ressources (images bmp ou wmf, icones) directement dans l'exécutable (.EXE).

Mais on peut aussi y mettre beaucoup d'autres choses : curseurs, sons, messages et même des fontes à ce qu'il paraît !

Il faut alors, comme dans la plupart des langages dits de haut niveau, créer un fichier de ressources (.RES).

Dans quel but :

- meilleure utilisation de la mémoire (chargement et déchargement en cas de besoin)
- compacité (moins de fichiers)
- sécurité  ( moins de risques d'altération des fichiers)
- plus de rapidité au chargement ?

et surtout
avec un utilitaire tel que le Ressource WorkShop, on peut aller modifier les ressources, sans avoir accès au source du programme (pour traduire un logiciel dans différentes langues par exemple).
 

Ce n'est pas trop difficile, mais la documentation fournie sur ce sujet est plutôt mince. Je vais essayer d'éclaircir un peu la situation, avec des éléments glanés par-ci par-là.
 

Delphi crée pour chaque PROJECT1.DPR un PROJECT1.RES (nom_projet.res) dans lequel met seulement l'icone (?). On n'y touche pas !

Il faut créer son propre .RES, et lui donner un nom différent de celui du programme, dans lequel on peut mettre : images, sons, curseurs, chaînes, icones, fontes).

Avec un éditeur (Bloc-Notes ou celui de Delphi), il faut créer  un fichier texte avec l'extension .RC
 

Exemple : TEST.RC  dans lequel on met : 2 sons, 3 images, 2 curseurs, 3 icones et 3 Chaînes.
 
 

S1        WAV     Son1.Wav 
S2        WAV     Son2.Wav 
vache     BITMAP  vache.bmp 
perroquet BITMAP  perroq.bmp 
rat       BITMAP  rat.bmp 
baton     CURSOR  baton.cur 
seau      CURSOR  seau.cur 
I1        ICON    icone1.ico 
I2        ICON    icone2.ico 
I3        ICON    icone3.ico 
STRINGTABLE  DISCARDABLE 

1, "Bonjour" 
2, "Good morning" 
3, "Guten Morgen" 

 
Il faudra bien suivre ce modèle et ensuite le compiler avec BRCC32.EXE (fourni avec Delphi, BRCC en Delphi 1)

Syntaxe : BRCC Test

Ne pas oublier de mettre toutes les ressources dans le répertoire courant au moment de la compilation par BRCC32.
 

S'il n'y a pas d'erreur on obtient un fichier TEST.RES que l'on incorpore comme ci-dessous.
 

var 
  Form1: TForm1; 

implementation 
{$R *.DFM} 

{$R Test.res}

 
 

Après compilation par Delphi, le .RES sera incorporé au .EXE.

Remarque :
les curseurs, icones et même images peuvent être créés par IMAGEDIT qui peut directement réaliser le .RES mais attention à bien mettre les noms des ressources en majuscules !

Dans un programme, on appelle les différents éléments selon les procédures décrites dans le fichier Unit1.pas.
 

Pour une utilisation basique, il est souvent superflu de mettre les éléments dans un .RES (sauf les curseurs et les .Wav).
On peut aisément mettre les images, icones, textes directement dans l'EXE.

Pour une utilisation plus "professionnelle" c'est la méthode à utiliser, il me semble.

Voyez le programme project1.dpr fourni qui met en oeuvre cette technique.

En espérant que cela pourra aider...

J'ai beaucoup appris, en étudiant les nombreux sources, mis gracieusement à la disposition de tous, par leurs auteurs.
 

Mettons en commun nos RESSOURCES  pour progresser !

Pour toutes remarques, suggestions,  critiques, félicitations (:-)))..., contactez moi :
 

j-c.meier@ac-nancy-metz.fr