inclure un fiehier dans l'exécutable

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
gansta93
Messages : 1448
Inscription : jeu. 26/févr./2004 11:17
Localisation : Le Village
Contact :

inclure un fiehier dans l'exécutable

Message 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!
Oliv
Messages : 2117
Inscription : mer. 21/janv./2004 18:39

Message 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

Code : Tout sélectionner

DataSection
  01:
    IncludeBinary "masse.bmp"
EndDataSection
et pour appeler

Code : Tout sélectionner

CatchSprite(#Masse,?01)
gansta93
Messages : 1448
Inscription : jeu. 26/févr./2004 11:17
Localisation : Le Village
Contact :

Message par gansta93 »

merci.
Je vais tester... j'aurais du y penser... encore merci je vais tout dessuite tester.
gansta93
Messages : 1448
Inscription : jeu. 26/févr./2004 11:17
Localisation : Le Village
Contact :

Message 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.
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message 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 :)
gansta93
Messages : 1448
Inscription : jeu. 26/févr./2004 11:17
Localisation : Le Village
Contact :

Message 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?
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message 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 :)
gansta93
Messages : 1448
Inscription : jeu. 26/févr./2004 11:17
Localisation : Le Village
Contact :

Message 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?
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message 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 :)
gansta93
Messages : 1448
Inscription : jeu. 26/févr./2004 11:17
Localisation : Le Village
Contact :

Message 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.
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

Ca fonctionne, chez moi.

Chris :)
gansta93
Messages : 1448
Inscription : jeu. 26/févr./2004 11:17
Localisation : Le Village
Contact :

Message par gansta93 »

C'est pas possible j'ai la poisse!!!!!!! :cry: :'(
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

Il te dit quoi, le compilateur?

Quel est le message d'erreur? (sans le "e" à la fin) :lol:

Chris :)
gansta93
Messages : 1448
Inscription : jeu. 26/févr./2004 11:17
Localisation : Le Village
Contact :

Message 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.
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message 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 :)
Répondre