Code en VB6

yvesdudu Messages postés 48 Date d'inscription jeudi 16 août 2007 Statut Membre Dernière intervention 3 juin 2018 - 31 juil. 2009 à 23:48
yvesdudu Messages postés 48 Date d'inscription jeudi 16 août 2007 Statut Membre Dernière intervention 3 juin 2018 - 1 août 2009 à 12:59
Bonjour,
Je suis en train de concevoir un jeu et je coince sur un bout de code ridicule dont je ne comprend pas le fonctionnement.Voici mon bout de code:

If adr.sonore = "" Then ' c'est pas une question sonore
sndPlaySound Rep & "c:\jeud\inter_2.wav", &H1 'musique au départ de la question ( temps de réflexion du candidat)
Else
sndPlaySound Rep & "c:\jeud" + adr.sonore, &H1 'fichier sonore
End If
Timer1.Interval = 40000 ' tempo de 40 s pour afficher la touche de validation réponse.

Explication :Je lit un fichier séquentiel , si adr.sonore est vide , le premier wav doit etre joué , sinon c'est le second.
Et dans ce cas , seul le 2eme wav est lu si adr.sonore n'est pas vide????.Si adr.sonore="" pas de lecture du 1er wav???.
Est ce que quelqu'un pourrait m'expliquer ce phénomène , ou alors ai-je oublié quelque chose?.
Merci d'avance pour votre aide
Yves

4 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
1 août 2009 à 01:39
salut,

que contient REP ? (qui va forcément composer un chemin invalide!)

qu'est ADR.SONORE et qu'est-il sensé renvoyer?

(genre de choses à préciser dès l'énoncé )
0
yvesdudu Messages postés 48 Date d'inscription jeudi 16 août 2007 Statut Membre Dernière intervention 3 juin 2018
1 août 2009 à 08:41
bonjour ,
merci de vous interesser à mon problème.
adr.sonore contient le nom complet du fichier à traiter à savoir:"son.wav".C'est ce qui est écrit dans le fichier séquentiel.
De plus si je supprime la condition if et que je ne laisse que la ligne contenant la lecture du son qui ne fonctionne pas , là , du coup il est lu correctement?.
Alors , puisque cette instruction fonctionne sans le if , pourquoi pas dans le sens contraire.
Quand au rep , je n'ai pas assez d'information sur l'API et je dois dire à mon grand regret que j'ignore ce qu'il doit contenir , si vous pouvez me dire à quoi sert ce REP , cela m'aidera peut etre à régler mon problème.
J'espère avoir été assez clair pour vous aider à bien comprendre mon problème.
Encore merci pour votre aide et cordiales salutations
Yves
0
yvesdudu Messages postés 48 Date d'inscription jeudi 16 août 2007 Statut Membre Dernière intervention 3 juin 2018
1 août 2009 à 09:43
re re re..
La seule solution que j'ai trouvé , c'est de ne jamais laisser la valeur de "adr.sonore" vide dans le fichier séquentiel.
Dans mon programme je ne laisse qu'une ligne:
sndPlaySound Rep & "c:\jeud" + adr.sonore, &H1
et le tour est joué.
je place alors dans mon fichier séquentiel soit l'un ou soit l'autre des noms de wav.
J'ai mème essayé de mettre en adr.sonore "aaa" par exemple et de dire "if adr.sonore="aaa" mais cela ne fonctionne pas non plus .MYSTERE de MYSTERE enfin pour moi.
encore merci
0
yvesdudu Messages postés 48 Date d'inscription jeudi 16 août 2007 Statut Membre Dernière intervention 3 juin 2018
1 août 2009 à 12:59
der de der
Après plusieurs tests , j'ai remplaçé la valeur contenue dans adr.sonore qui au départ était un string par un integer dans mon fichier séquentiel.
Et là , le test if adr.sonore=1 ( c'est la valeur que j'ai écrit dans le fichier séquentiel )cela fonctionne.
Comprenne qui voudra moi pas!!!!!!!!.
J'accepte toujours vos explications bien sur.
Salutations
0
Rejoignez-nous