Erreur de chemin !!!

DraaFil Messages postés 264 Date d'inscription mercredi 16 avril 2003 Statut Membre Dernière intervention 23 mars 2012 - 24 janv. 2006 à 03:21
frank150 Messages postés 34 Date d'inscription lundi 6 janvier 2003 Statut Membre Dernière intervention 29 mars 2008 - 25 janv. 2006 à 14:29
Bonjour a tous,
j'ai une erreur de chemin, c'est-a-dire que la fonction suivant n'accept pas les espaces vide dans le chemin

Private Sub cmdPlayMusic_Click()
Dim musique As String
'Arret la musique
musique = App.Path & "Autorun\Musique" & RS.Fields("Musique")
PlayMP3 (musique)
End Sub
Module :
Declare Function mciExecute Lib "winmm.dll" (ByVal lpstrCommand As String) As Long

Public Sub PlayMP3(Fichier As String)
mciExecute ("play " & Fichier)
End Sub
le chemin correct est (c:\documents and settings\jo\vb\Autorun\Musique\test.mp3)
mais pour le moment sa me donne (c:\documents ) il oublis tous ce qui est apres l'espace.

Si quelqu'un a la solution ou des idées, cela sera apprécier

Merci
DraaFil

10 réponses

ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 24
24 janv. 2006 à 04:26
Tante un truc du genre :

mciExecute ("play """ & Fichier & """)

et dit nous ce que ça donne.

(Note, sinon ajoute soit des CHR(34), soit des apostrophes << ' >>)

Enjoy


( Si une réponse vous convient, cliquez sur le bouton "Réponse acceptée". )
0
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
24 janv. 2006 à 06:01
Bonjour ....

En VBS, il y a les propriétés ShortPath et ShortName.
Renvoie le chemin d'accès abrégé pour les programmes qui requièrent l'ancien format de nom de fichiers 8.3.
Renvoie le nom abrégé utilisé par les programmes qui requièrent l'ancien format de nom 8.3.

Dim Fso, path, fichier, fichiers, WshShell
path = "E:\Affaires\EUROFACTOR - AP02N008\4.3 Formulaires\Formulaires spécifiques"


Set WshShell = CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")
Set dossier = fso.GetFolder(path)
Set fichiers = Dossier.Files


For Each fichier in fichiers
'MsgBox " shortPath =" & fichier.ShortPath & vbCrLf & "Path= " & fichier.Path
'MsgBox " shortName =" & fichier.ShortName & vbCrLf & "Name=" & fichier.Name
If Left(fichier.name,19) = "Main courante Ifdex" Then
WshShell.Run fichier.ShortPath
0
frank150 Messages postés 34 Date d'inscription lundi 6 janvier 2003 Statut Membre Dernière intervention 29 mars 2008
24 janv. 2006 à 09:54
Essaie avec sa:
musique <gras>Chr$(34) & App.Path & Iif(Right$(App.Path, 1) "", "", "") & "Autorun\Musique" & RS.Fields("Musique") & Chr$(34)</gras>

le Iif c'est pour ajouter un " \ " si yen a pas à la fin du App.Path et les Chr pour des guillemets

Ps: App.Path a toujours un " \ " à la fin si le répertoire n'est pas un répertoire racine, sinon il fini par " : "

Frank150
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
24 janv. 2006 à 10:10
utilise un chemin court et ca ira.... ou place des guillemets
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Stephane33 Messages postés 630 Date d'inscription samedi 15 février 2003 Statut Modérateur Dernière intervention 9 octobre 2011 1
24 janv. 2006 à 10:26
De mémoire effectivement le chemin de AppPath serait plutôt "c:\Documents/ and/ Settings\jo\vb"
Il y a une merdouille avec les espaces dur les noms de répertoires

Juste faites-le
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
24 janv. 2006 à 10:29
App.Path ? non, ca renvoie

C:\Program Files\MonApplication

sans '\' sauf si l'exe est a la racine d'un lecteur
0
cs_Stephane33 Messages postés 630 Date d'inscription samedi 15 février 2003 Statut Modérateur Dernière intervention 9 octobre 2011 1
24 janv. 2006 à 10:54
A priori il execute son appli dans c:\documents and settings\jo\vb c'est pour cela que cela lui retourne que c:\Documents( je pense )

Juste faites-le
0
DraaFil Messages postés 264 Date d'inscription mercredi 16 avril 2003 Statut Membre Dernière intervention 23 mars 2012
24 janv. 2006 à 13:58
J'ai essayer la ligne suivant :
(je suis en vb6)
musique Chr$(34) & App.Path & IIf(Right$(App.Path, 1) "", "", "") & "Autorun\Musique" & RS.Fields("Musique") & Chr$(34)

mais j'ai un msg erreur : Le périphérique spécifié n'est pas ouvert ou n'est pas reconnu par MCI


cette ligne aussi donne la meme erreur


mciExecute ("play " & "'" & Fichier & "'")

pas vu de propriete shortPath dnas msnd

MErci
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
24 janv. 2006 à 14:47
ton pbm est ailleurs (pour le moment).....
arrange toi pour faire fonctionner ton code avec un fichier dans C:\

Renfield
Admin CodeS-SourceS - MVP Visual Basic
0
frank150 Messages postés 34 Date d'inscription lundi 6 janvier 2003 Statut Membre Dernière intervention 29 mars 2008
25 janv. 2006 à 14:29
Private Sub cmdPlayMusic_Click()
Dim musique As String
'Arret la musique musique Chr$(34) & App.Path & IIf(Right$(App.Path, 1) "", "", "") & "Autorun\Musique" & RS.Fields("Musique") & Chr$(34)
mciExecute "open " & musique
PlayMP3 (musique)
End Sub

Public Sub PlayMP3(Fichier As String)
mciExecute "play " & Fichier
End Sub

'Arrêt de la musique (tu dois l'appeler quand ton programme quitte sinon la musique continue mais ton programme est fermer!)

Public Sub StopMP3(Fichier As String)
mciExecute "stop " & Fichier
End Sub

Frank150
0
Rejoignez-nous