IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

enregistrements erronés avec accès "random" aux fichiers


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Avril 2004
    Messages
    513
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 513
    Par défaut enregistrements erronés avec accès "random" aux fichiers
    bonjour à toutes et tous

    je veux faire un accès à des enregistrement dans un fichier texte et j'utilise le mode "Random" mais bizarement les résultats obtenu ne correspondent pas du tout aux données enregistrées, je n'arrive pas à voir qu'elle est l'erreur que j'ai comis!!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Type Ty_enreg_ext
        num_dico As Byte
        num_mot_ext As Long
        nb_let_av As Byte
        nb_let_ap As Byte
    End Type
     
     F2 = FreeFile
     Open App.Path & "\Dico_ext_" & niv & ".txt" For Random As #F2 Len = Len_ext
        Get F2, ind_ext, enreg_ext 'lit l'enregistrement dans le dico_ext du niveau à l'indexe ind_ext
    'ind_ext ayant ici la valeur 1 donc le premier enregistrement du fichier , je devrais normalement si je lis l'enregistrement "enreg_ext" avoir les valeurs de num_dico, num_mot , nb_let_av et nb_let_ap , mais là impossible j'obtiens bien des valeurs mais que je ne retrouve nulle part dans les fichiers, pourtant essayé d'initialisé enreg_ext en mettant chaque valeur à zéro, mais rien n'y fait.
    j'ai vérifié que j'avais bien les bons enregistrement en ouvrant le fichier avec "input"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     F2 = FreeFile
     Open App.Path & "\Dico_ext_" & niv & ".txt" For Input As #F2 'Len = Len_ext
     Input #F2, num_dico, num_mot, let_av, let_ap
     Close F2
    'comme c'est le premier enregistrement je peux facilement controlé les valeurs!!

    'j'ai enregistré le fichier initialement en veillant à ce que les valeurs aie bien la bonne définition "byte", ect

    'j'ai même créé un fichier texte avec un seul enregistrement du type 1,2,3,4 et là surprise les valeurs de "enreg_ext" ont toujours les mêmes valeurs, je ne comprends pas d'où elles viennent??

    si vous m'avez compris et que vous voyez mon erreur je suis preneur

  2. #2
    Membre Expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Par défaut
    Pour commencer, mets stp des balises [ C O D E ] autour du code quand il y en a (c'est l'icone la plus à droite "#" au dessus de la zone d'édition de ton message), ça facilite la lecture des messages.

    A part ça, puisque ce sont toujours les memes valeurs qui sont renvoyées, quelles sont ces valeurs ?

  3. #3
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    et elles sont où les déclarations pour :
    ind_ext et enreg_ext..?

  4. #4
    Membre éclairé
    Inscrit en
    Avril 2004
    Messages
    513
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 513
    Par défaut
    bonsoir

    elles y sont les déclarations dans la procédure je n'ai pris ici que les parties les plus importante à mon avis

  5. #5
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Citation Envoyé par marco62118
    bonsoir

    elles y sont les déclarations dans la procédure je n'ai pris ici que les parties les plus importante à mon avis
    ben la déclaration de ta variable fait aussi partie des choses importantes....

  6. #6
    Membre Expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 72
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Par défaut
    Voici ton code incluant quelques dim, verifie que tu as bien la même chose

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Type Ty_enreg_ext
        num_dico As Byte
        num_mot_ext As Long
        nb_let_av As Byte
        nb_let_ap As Byte
    End Type
     
    Dim F2 as Integer
    Dim ind_ext as Long
    Dim enreg_ext as Ty_enreg_ext
     
     F2 = FreeFile
     Open App.Path & "\Dico_ext_" & niv & ".txt" For Random As #F2 Len = Len(enreg_ext)
        Get F2, ind_ext, enreg_ext 'lit l'enregistrement dans le dico_ext du niveau à l'indexe ind_ext
     Close #F2

Discussions similaires

  1. Connaitre les accès d'un programmes aux fichiers
    Par Nixeus dans le forum Sécurité
    Réponses: 1
    Dernier message: 19/06/2011, 00h07
  2. Réponses: 3
    Dernier message: 30/06/2005, 12h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo