Page 1 sur 2
inclure un fiehier dans l'exécutable
Publié : mer. 21/juil./2004 12:29
par gansta93
Bonjour,
J'aimerais inclure dans mon exécutable par exemple un fichier wav pour ensuite l'utiliser... tout naturel.
Je sais que pour l'inclure il faut faire includebinary "nom du fichier", mais après si je l'appel par son nom normal, ça me fait tout planté!
Quelqu'un peut-il me donner un codde qui répondrait à ma question?
Merci d'avance!
Publié : mer. 21/juil./2004 12:45
par Oliv
quel nom lui donne tu ?
Voici le code pour une image (il faut remplacer catchSprite() par CatchSound() je pense)
Le code pour inclure
et pour appeler
Publié : mer. 21/juil./2004 12:48
par gansta93
merci.
Je vais tester... j'aurais du y penser... encore merci je vais tout dessuite tester.
Publié : mer. 21/juil./2004 13:28
par gansta93
Re,
DSL, mais ça ne marche pas.
pour catchsound() il me dit que l'adresse mémoire est 0 et avec le : il me dit incorrect number of off parameters.
J'ai essayé avec loadsound() mais là pareil avec le : derière le label, sinon il me dit a string is espected here ou si je mais un $ il me dit qu'il ne trouve pas le son.
Donc à paremment on ne peut pas inclure tout ce que l'on veut... donc pas de txt ou de dll ou autres!
domage... à moins que quelqu'un ait une solution.
Publié : mer. 21/juil./2004 14:23
par Chris
Chez moi, ce code marche.
Si tu fais un exe avec ce code en remplaçant le nom du fichier son par celui de ton fichier, tu peux supprimer le fichier une fois que l'exe est compilé, le son sera joué quand même.
Code : Tout sélectionner
Enumeration
#Btn_Sound
EndEnumeration
; InitSound()
; CatchSound(0, ?MySound)
;
; PlaySound(0)
If OpenWindow(1, 0, 0, 200, 100,#PB_Window_ScreenCentered| #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget, "Sound")
If CreateGadgetList(WindowID())
ButtonGadget(#Btn_Sound,50,25,100,50,"Jouer")
EndIf
EndIf
Repeat
Select WaitWindowEvent()
Case #PB_EventGadget
Select EventGadgetID()
Case #Btn_Sound
InitSound()
CatchSound(0, ?MySound)
PlaySound(0)
EndSelect
Case #PB_Event_CloseWindow
Quit = 1
EndSelect
Until Quit = 1
End
MySound: IncludeBinary "bip3.wav"
Chris

Publié : mer. 21/juil./2004 14:51
par gansta93
Effectivemant, ça marche.
Mais peut-on faire la même chose par exemple avec une DLL?
L'inclure dirrectemant dans un exécutable.
Si non? que peut-on inclure dans un exécutable?
Publié : mer. 21/juil./2004 15:03
par Chris
J'ai jamais essayé, mais il n'y a pas de raison pour que ça ne fonctionne pas.
Mais je ne vois pas vraiment l'interet d'incorporer une dll dans ton code, alors que tu peux créer une librairie avec les mêmes fonctions, qui te prendra beaucoup moins de place.
Le seul interêt d'une dll, c'est de pouvoir être ré-utilisé par plusieurs programmes.
Si non? que peut-on inclure dans un exécutable?
A peu près tout ce qu'on veut, des images du texte, du son,etc...
Mais garde en mémoire que tout ce que tu inclue dans ton prog aumente sa taille
Chris

Publié : mer. 21/juil./2004 15:08
par gansta93
Arf mon code que je vien de faire ne marche pas... Linker Error j'sais pas ce que c'est... mais quand on inclu un fichier dans l'exe, comment pouvoir le récupèrer pour le lire?
Oui il y a tout ce qui est catch pour les images et les sons mais pour d'autres fichiers?
Publié : mer. 21/juil./2004 15:17
par Chris
Pour un fichier texte:
Code : Tout sélectionner
Text$ = PeekS(?Text)
blabla... tout ton code
DataSection
Text: IncludeBinary "MyText.txt"
EndDataSection
Pour les images, les sons, il y a les commandes Catch...
Pour les executables,
Chris

Publié : mer. 21/juil./2004 15:18
par gansta93
quelqu'un peut me dire ce qui ne va pas dans ce code svp?
Code : Tout sélectionner
If InitSound()
If CatchSound(0, ?sound)
SoundFrequency(0,100000)
SoundVolume(0,100)
PlaySound(0,1)
MessageRequester("Info","Cliquez pour stoper.",#mb_ok|#mb_iconasterisk)
StopSound(0)
FreeSound(0)
Else
MessageRequester("Erreure","Impossible de charger le son.",#mb_ok|#mb_iconstop)
EndIf
Else
MessageRequester("Erreure","Impossible d'initialiser le son.",#mb_ok|#mb_iconstop)
EndIf
End
sound:
IncludeBinary "son.wav"
Moi je ne voi pas où est l'erreure mais le compiler, lui, voi où elle est mais ne me dit pas grand chose.
Publié : mer. 21/juil./2004 15:22
par Chris
Ca fonctionne, chez moi.
Chris

Publié : mer. 21/juil./2004 15:25
par gansta93
C'est pas possible j'ai la poisse!!!!!!!

:'(
Publié : mer. 21/juil./2004 15:33
par Chris
Il te dit quoi, le compilateur?
Quel est le message d'erreur? (sans le "e" à la fin)
Chris

Publié : mer. 21/juil./2004 15:49
par gansta93
Donc il me mait.
PureBasic - Linker Error a écrit :
POLINK: error: Unresolved external symbol: '_PB_IsSound'.
POLINK: fatal error: 1 unresolved external(s).
Voila ce qu'il me dit à la maj prait!
Et si c'était si long c'est que j'ai du refaire tout mon code...

mais bon ça ne marche toujours pas.
Publié : mer. 21/juil./2004 15:55
par Chris
Tu as la dernière version de PB? (3.91)
Ton fichier "Son.wav" est bien dans le même dossier que ton code?
Chris
