implementation
uses mmsystem;
{$R *.DFM}
{$R testressources.RES}
// pour obtenir le .RES, on a compilé le script .RC
// en faisant BRCC32 nom du fichier .rc
procedure TForm1.Button1Click(Sender: TObject);
var
AdrSon: PChar;
hRessourceVoulue : THandle;
// handle désignant la ressource située dans l'exe
hBlockMemoireRes : THandle;
// handle sur le bloc mémoire contenant la ressource
begin
// Initialisation du handle désignant la ressource située dans l'exe
hRessourceVoulue:=FindResource(HInstance, 'Cloche', 'WAVE');
if hRessourceVoulue<>0 then // s'il l'a trouvé
begin
// chargement de la ressource en mémoire
hBlockMemoireRes:=LoadResource(HInstance, hRessourceVoulue);
if hBlockMemoireRes<>0 then //si cela s'est bien passé
begin
// on bloque la mémoire contenant le bloc mémoire
// et au passage on récupère le pointeur désignant le premier
// octet de la ressource
AdrSon:=LockResource(hBlockMemoireRes);
// on joue le son par SndPlaySound
if Assigned(AdrSon) then SndPlaySound(AdrSon, snd_ASync or snd_Memory);
UnlockResource(hBlockMemoireRes); // on débloque la mémoire
end;
FreeResource(hRessourceVoulue); // libération de la mèmoire
end;
end;
end.
|