Pb enregistrement

cs_morgan85 Messages postés 5 Date d'inscription lundi 20 février 2006 Statut Membre Dernière intervention 12 novembre 2006 - 9 nov. 2006 à 18:23
Dolphin Boy Messages postés 630 Date d'inscription vendredi 5 mai 2006 Statut Membre Dernière intervention 17 février 2007 - 9 nov. 2006 à 20:09
salut a tous j'ai besoin d'un coup de main je ne comprend pas une de mes erreurs!!

j'ai crée un programma ds lequel je veut sausgarder une structure dans un fichier.
j'ai l'erreur d'exécution 59 qui apparais
longueur d'enregistrement incorecte

voici le bout de code qui beug

    Cd.DialogTitle = "Titre"
    Cd.Filter = "Fichier Sauvegarde (*.sav)|*.sav"
    Cd.ShowSave
   
    Open Cd.FileName For Random As #1
        Put #1, 1, UBound(Joueur)
        For Index = LBound(Joueur) To UBound(Joueur)
            Put #1, Index + 1, Joueur(Index) ' c'est la ligne qui se surligne
        Next Index
    Close #1
 
End Sub

merci pour votre aide Morgan

1 réponse

Dolphin Boy Messages postés 630 Date d'inscription vendredi 5 mai 2006 Statut Membre Dernière intervention 17 février 2007
9 nov. 2006 à 20:09
Salut,
La syntaxe habituelle est :
Open Cd.FileName For Random As #1 Len = Len(Ton Enreg)
ou
Open Cd.FileName For Random As #1 Len = TaLongueur

Comme, apparemment, la longueur de tes enregs n'est pas fixe, il faudrait plutôt que tu utilises :

    Open Cd.FileName For Output As #1 'ou For Append si c'est pour ajouter
        Print #1, UBound(Joueur)
        For Index = LBound(Joueur) To UBound(Joueur)
            Print #1, Joueur(Index)
        Next Index
    Close #1

Pour relire :

Dim MonBuffer As String
    Open Cd.FileName For Input As #1
    Do While Not EOF(1)
        Line Input #1, MonBuffer
        '... Traitement de la chaine reçue dans MonBuffer
    Loop
    Close #1
0
Rejoignez-nous