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 :

[VB6] Créer un fichier de type random


Sujet :

VB 6 et antérieur

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 88
    Points : 53
    Points
    53
    Par défaut [VB6] Créer un fichier de type random
    Bonjour,
    je pense que le titre est assez claire, je voudrais grâce à du code, créer un fichier de type Random, pour après pouvoir écrir dessus et le lire.
    Merci d'avance.

  2. #2
    Expert éminent sénior


    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
    Points : 20 040
    Points
    20 040
    Par défaut
    et tu bloque ou ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub test()
    Dim MyRecord As record    ' Déclare la variable.
     
    Open "FICHTEST" For Random As #1 Len = Len(MyRecord)
      'boucle exemple d'écriture
       MyRecord.i = 123
       Put #1, , MyRecord
       MyRecord.i = 0 ' Raz valeur
       Get #1, 1, MyRecord
     
    Close #1
     
      Debug.Print MyRecord.i
    End Sub

  3. #3
    Membre chevronné
    Avatar de sovo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    1 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 389
    Points : 1 788
    Points
    1 788
    Par défaut
    essaye ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    'path = chemin du fichier
    'numfile  = numero du fichier, tu peux l'avoir automatiquement avec : freefile
    open path for random as #Numfile

  4. #4
    Membre du Club
    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 88
    Points : 53
    Points
    53
    Par défaut
    Lorsque l'on met :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    open "fichier.txt" for random as #1
    ça ouvre le fichier mais ça ne le crée pas.
    Merci.

  5. #5
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    ça ouvre le fichier mais ça ne le crée pas.
    Ah ?
    Tu as essayé ?
    Alors essaye ! (mais n'oublie pas de le fermer....)

    Tu veux peut-être dire qu'il reste vide (ce qui est autre chose)...

  6. #6
    Membre du Club
    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 88
    Points : 53
    Points
    53
    Par défaut
    J'ai essayé, ça ne l'a pas créé mais c'est peut-être un bug, pour le remplir c'es avec put #inFileNumber, 1,3
    etc....
    Merci à vous.

  7. #7
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Salut

    On peut voir ton code ?

  8. #8
    Membre du Club
    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 88
    Points : 53
    Points
    53
    Par défaut
    Je vais réessayer de le faire marcher demain et je vous tien au courant je ne peut pas vous donner le code.
    Merci.

  9. #9
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    C'est top secret? La défence nationnale?

  10. #10
    Membre du Club
    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 88
    Points : 53
    Points
    53
    Par défaut
    Enfait je pouvait pas j'étais pas devant mon ordi, désolé. Enfait quand je l'ai refais ça à marché mais j'ai un otre problème lié :

    je veut savoir si un fichier existe et dans ce cas créer le fichier sinon de créer le dossier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    If Dir(AppPath & "Résultats") = "Résultats" Then
                    Open Résultats \ frmPeche.Caption For Random As #intFileNum
                    Put #2, 1, frmMsFlexGrid1.Flex1.TextMatrix(1, 1)
                    Put #2, 2, frmMsFlexGrid1.Flex1.TextMatrix(1, 2)
                    Close #intFileNum
                Else
                    MkDir ("Résultats")
                End If
    Le problème c'est que la première ligne renvoie toujours un résultat négatif.
    Merci.

  11. #11
    Expert éminent
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Points : 8 524
    Points
    8 524
    Par défaut
    If Dir(AppPath & "Résultats") = "Résultats" Then
    Open Résultats \ frmPeche.Caption For Random As #intFileNum
    c'est quoi ce charabia ?

  12. #12
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    A propos de charabia, celui que j'ai du mal à comprendre, moi, c'est celui-ci :
    je veut savoir si un fichier existe et dans ce cas créer le fichier
    J'ai vraiment du mal, là......

  13. #13
    Membre habitué Avatar de MGD_Software
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2006
    Messages : 137
    Points : 139
    Points
    139
    Par défaut
    Je pense que notre ami a voulu dire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    If Dir(AppPath & "\Résultats") = "Résultats" Then
        Open "Résultats\" & frmPeche.Caption For Random As #intFileNum
    Je pense que comme çà, il n'y aura au moins pas d'erreur de syntaxe. Et après un IF, on INDENTE !

    En tous cas, c'est pas comme cela qu'il ouvrira le bon fichier (Resultats). Que vient faire le titre de la feuille là-dedans ?? C'est le nom du fichier à ouvrir ?
    Si Résultat est un répertoire, la fonction Dir ne renverra pas "Resultats", mais le nom du premier fichier (en fait, "." qui est le répertoire courant, si on précise vbDirectory) ou rien si le répertoire est vide (mais pourtant existant).
    Si c'est un fichier, cela plantera car le chemin du fichier sera incorrect.

    Bref, ça n'a aucune chance de marcher.

    En supposant que résultat est un répertoire, et que le titre de la feuille est le nom du fichier, le bon code serait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    If Dir(AppPath & "\Résultats\*.*", vbDirectory) <> "" Then
        intFileNum = FreeFile()
        Open App.path & "\Résultats\" & frmPeche.Caption For Random As #intFileNum
        Put #intFileNum, .....
        ...................
        Close #intFileNum
    End If
    La fonction Dir ramènera "." si le répertoire existe, même s'il n'y a aucun fichier dedans. Si le répertoire n'exsite pas, la fonction ramènera une chaine vide.

  14. #14
    Expert éminent
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Points : 8 524
    Points
    8 524
    Par défaut
    J'avais bien compris, je souhaitais juste sensibiliser notre ami au fait que nous ne sommes pas là pour jouer au devinettes, avec des erreurs aussi grossières

    Comme tu as tout décortiqué (et que, bien sûr, tu as raison), j'en profite pour rajouter que ce doit être App.Path et non AppPath dans le Dir (sauf à avoir défini une chaine pour le path de l'application, ce qui est totalement inutile, et si c'est le cas, on ne sais pas si elle se termine par un \ ou pas)

  15. #15
    Membre habitué Avatar de MGD_Software
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2006
    Messages : 137
    Points : 139
    Points
    139
    Par défaut
    Citation Envoyé par ThierryAIM
    j'en profite pour rajouter que ce doit être App.Path et non AppPath dans le Dir
    Damned ! J'ai pourtant relu 3 fois !!
    Voilà ce que c'est de ne pas tester TOUT ce qu'on écrit.

  16. #16
    Expert éminent
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Points : 8 524
    Points
    8 524
    Par défaut
    Citation Envoyé par MGD_Software
    Damned ! J'ai pourtant relu 3 fois !!
    Voilà ce que c'est de ne pas tester TOUT ce qu'on écrit.

  17. #17
    Membre du Club
    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 88
    Points : 53
    Points
    53
    Par défaut
    Désolé si je n'ai pas été explicite, merci à MGD_Software qui m'a aidé et merci à ThierryAIM pour les remarques, que je vais noter pour corriger mes defaux.
    Merci à tous.

  18. #18
    Membre du Club
    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 88
    Points : 53
    Points
    53
    Par défaut
    Bonjour, j'ai un autre problème lié à ce sujet, je ne trouve pas la solution.

    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
     
    If Dir("\Résultats\Sortie n°1.txt", vbDirectory) = "Sortie n°1.txt" Then
                    intFileNum = FreeFile()
                    Open "\Résultats\" & frmPeche.Caption For Random As #intFileNum
                    Put #2, 1, frmMsFlexGrid1.Flex1.TextMatrix(1, 1)
                    Put #2, 2, frmMsFlexGrid1.Flex1.TextMatrix(1, 2)
                    Close #intFileNum
                Else
                    intFileNum = FreeFile()
                    MkDir ("Résultats")
                    Open "\Résultats\" & frmPeche.Caption For Random As #intFileNum
                    Put #2, 1, frmMsFlexGrid1.Flex1.TextMatrix(1, 1)
                    Put #2, 2, frmMsFlexGrid1.Flex1.TextMatrix(1, 2)
                    Close #intFileNum
                End If
    ET le message d'erreur est sur la 10ème ligne, autrement dit la 3ème ligne dans le else.

    le Message d'erreur est : PATH NOT FOUND

    Merci à vous tous.

  19. #19
    Expert éminent sénior


    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
    Points : 20 040
    Points
    20 040
    Par défaut
    crée le répertoire Résultats.. sous le répertoire courant ... pas sous \ !! voir :

    en outre je pense que tu devrai préciser l'unité ... c:\ ... ?

  20. #20
    Membre du Club
    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 88
    Points : 53
    Points
    53
    Par défaut
    En fait, je ne veut pas préciser l'unité parce que, moi par exemple je suis avec un disque dur non pas C:\ mais E:\ et je pense que je ne doit pas être le seul.
    Merci.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [XL-2003] [C#] Créer un fichier de type Microsoft Office Excel
    Par theclear dans le forum Excel
    Réponses: 2
    Dernier message: 13/08/2009, 20h11
  2. [VB6] créer un fichier archive à un programme
    Par vb6.beginner dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 11/06/2006, 01h31
  3. [VB6]créer un fichier excel
    Par arakna dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 24/02/2006, 15h09
  4. [VB6] Créer un fichier
    Par Overflow64 dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 10/10/2005, 17h27

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