Probleme d'ecriture

Signaler
Messages postés
47
Date d'inscription
vendredi 16 avril 2004
Statut
Membre
Dernière intervention
4 janvier 2006
-
Messages postés
47
Date d'inscription
vendredi 16 avril 2004
Statut
Membre
Dernière intervention
4 janvier 2006
-
Bonjour, je crée un prog d'edition de tags mp3. Voici la fonction pour ecrire les tags:

Dim chiffre As Integer, texte As String, wdata As String
chiffre = FreeFile
If Dir(Fichier) <> "" Then
Open Fichier For Binary As #chiffre
texte = Space(LOF(chiffre))
Get #chiffre, LOF(chiffre) - 127, texte
wdata = "TAG" & espace(Titre, 30) & espace(Artiste, 30) & espace(Album, 30) & espace(Annee, 4) & espace(Commentaire, 30) & "ÿ"
If Mid(texte, 1, 3) = "TAG" Then
 :question) Put #chiffre, LOF(chiffre) - 127, wdata
Else
Put #chiffre, LOF(chiffre), wdata
Close #chiffre
End If
end if

Il me signale une erreur au niveau du point d'interrogation:
"chemin d'accès incorrect"

7 réponses

Messages postés
17288
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
je crois me souvenir d'un truc du genre :

Open Fichier For Binary Access Read As #chiffre


pour ton soft, tu peux utiliser l'excellent classe de Yomm (cherches un peu sur le site ;))
Messages postés
17288
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
euh... n'oublies pas de décliner Access XXXXX au mode souhaité.... (Read /Write /Random)
Messages postés
1858
Date d'inscription
samedi 29 juin 2002
Statut
Membre
Dernière intervention
17 octobre 2013
10
Excuse, c'est parti tout seul !

Vérifie que Fichier n'est pas en lecture seule (copie de CD vers disque dur). Par précaution, tu peux le forcer à ne pas l'être :

.....
If Dir(Fichier) <> "" Then
SetAttr Fichier, vbNormal
Open Fichier For Binary As #chiffre
.....
Messages postés
47
Date d'inscription
vendredi 16 avril 2004
Statut
Membre
Dernière intervention
4 janvier 2006

MErci Renfield pour ton truc (en fait renfield t trop fort j'ai vu tes sources tu dechires).
Et merci surtout à toi rene38, en effet, j'avais copié les fichiers depuis un cd pour tester mon prog et ils etaient en lecture seule. Tout marche maintenant. Merci
Messages postés
47
Date d'inscription
vendredi 16 avril 2004
Statut
Membre
Dernière intervention
4 janvier 2006

En fait apres test, quand je veux modifier un tag, ca marche, mais si je reclique dessus, il me dit erreur à :
SetAttr Fichier, Vbnormal
L'erreur est: Fichier deja ouvert.
Comment faire?
Messages postés
1858
Date d'inscription
samedi 29 juin 2002
Statut
Membre
Dernière intervention
17 octobre 2013
10
If Mid(texte, 1, 3) = "TAG" Then
Put #chiffre, LOF(chiffre) - 127, wdata
Close #chiffre '<- ton fichier restait ouvert dans ce cas
Else
Put #chiffre, LOF(chiffre), wdata
Close #chiffre
End If
end if

ou bien

If Mid(texte, 1, 3) = "TAG" Then
Put #chiffre, LOF(chiffre) - 127, wdata
Else
Put #chiffre, LOF(chiffre), wdata
End If
Close #chiffre '<- ferme le fichier dans les 2 cas
end if
Messages postés
47
Date d'inscription
vendredi 16 avril 2004
Statut
Membre
Dernière intervention
4 janvier 2006

ah ouais t'as l'oeil merci ca marche parfaitement.