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] Ecriture dans un fichier


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 152
    Par défaut [VB6] Ecriture dans un fichier
    Bonjour.
    J'ai le code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Open (Chemin2 & "\Rapport.txt") For Output As #1
        Print #1, heure & Text2.Text
       Close #1
    Ceci permet donc au programme d'écrire une ligne (le contenu de text2.text et l'heure) dans un fichier nommé rapport.txt
    Le problème est que, comme cette partie de programme se trouve dans une boucle while, à l'itération suivante, la ligne du fichier rapport.txt va etre écrasée par la nouvelle alors que j'aimerai qu'a la fin de chaque ligne, un saut de ligne soit effectué. Ainsi si j'ai 5 itérations, il y a 5 lignes dans le programme.
    Comment puis-je faire ?

  2. #2
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Sortir le Open de la boucle...
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  3. #3
    Membre émérite
    Avatar de Catbull
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    542
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 542
    Par défaut
    Open se trouve-t-il dans la boucle?

  4. #4
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 152
    Par défaut
    Merci c'était tout bête en fait.

    Et j'aimerai également pouvoir lire la derniere ligne écrite dans ce fichier.
    Comment puis-je faire ?

  5. #5
    Membre émérite
    Avatar de Catbull
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    542
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 542
    Par défaut
    La dernière ligne que tu as générée?

  6. #6
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 152
    Par défaut
    Oui. PLus loin dans le programme j'aimerai pouvoir lire la derniere ligne de mon fichier et l'afficher dans un objet text

  7. #7
    Membre émérite
    Avatar de Catbull
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    542
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 542
    Par défaut
    Si ton programme génére le fichier, il n'est pas utile de l'ouvrir pour déterminer le contenu de la dernière ligne.

    Tu peux placer ton texte dans une variable temporaire qui est écrasée à chaque passage de ta boucle.

    Il ne te restera plus qu'a lire la variable pour connaitre la dernière ligne générée.

    Exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Dim ligne as String
     
    While Condition
        ligne = heure & Text2.Text
        Print #1, ligne
     
        [instructions]
    While
    Pour connaitre la dernière ligne, il suffit de lire la variable ligne

  8. #8
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 152
    Par défaut
    J'ai sorti la demande d'ouverture du fichier de ma boucle (pour le mettre dans le form load) et lorsque je vais dans une autre fenetre avant de revenir dans ma fenetre principale j'obtiens une erreur "fichier deja ouvert".

    Et ou que je mette mon ouverture dans mon programme je me retrouve confronté à cette erreur.
    De ce fait je ne sais pas trop ou mettre l'ouverture de fichier

  9. #9
    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
    ben si tu ouvre le fichier dans le form_load... il faut le fermer quelque part...!..

    sinon tu nous as pas dit quel était l'événement déclencheur de l'écriture ... pour rajouter à un fichier existant tu peu faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     Open (Chemin2 & "\Rapport.txt") For Append As #1
        Print #1, heure & Text2.Text
       Close #1


  10. #10
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 152
    Par défaut
    L'évenement déclencheur est l'heure. Lorsqu'on atteint une heure définie par l'utilisateur, le programme ouvre le fichier et y inscrit quelques lignes.
    J'ouvre donc le fichier au début dans le form load puis je change de fenetre pour parametrer l'heure à laquelle le programme "s'actionnera" et j'ai donc l'erreur "fichier deja ouvert" lorsque je retourne sur ma fenetre principale

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 66
    Par défaut
    Citation Envoyé par jerzy59
    Bonjour.

    J'ai le code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Open (Chemin2 & "\Rapport.txt") For Output As #1
        Print #1, heure & Text2.Text
       Close #1
    slt
    il faut simplement akjouter un retour a la ligne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Print #1, heure & Text2.Text & vbCrLf
    voila

  12. #12
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 152
    Par défaut
    Oui mais dans ce cas la, chaque fois que le fichier s'ouvre a nouveau, les nouvelles données écrasent les anciennes.

    J'ai essayé de ne pas fermer le fichier afin que les nouvelles données s'affichent sous les anciennes mais à ce moment la je n'ai plus acces à mes données dans le fichier si le programme tourne encore

  13. #13
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 66
    Par défaut
    j'ai le meme probleme ke toi, et j'ai tjr pas la reponse!!
    ce que j'ai fait c'est de copier les donnees ds un autre fichier et r'ajouter les nvlle données.
    et l'ancien fichier je le supprime.
    c pas tres propre. mais si tu'a pas un fichier consequent c marche bien!!
    essai tjr!!
    bon courage

  14. #14
    Membre éclairé Avatar de Jihnn
    Inscrit en
    Décembre 2005
    Messages
    330
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 330
    Par défaut
    Bonjour,

    La réponse se trouve sur MSDN !
    En fait, For output n'est pas la seule possibilité. Ce que tu veux faire, c'est For append

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Open Chemin For Append As #1
     'Tu fais ce que tu veux
    Close #1

  15. #15
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 152
    Par défaut
    Hé bien cela fonctionne parfaitement ... merci beaucoup

  16. #16
    Membre émérite
    Inscrit en
    Septembre 2005
    Messages
    617
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 617
    Par défaut
    Donc

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Open (Chemin2 & "\Rapport.txt") For Append As #1
        Print #1, heure & Text2.Text
    Close #1

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VB6] Ecriture dans un fichier texte
    Par ramroum1986 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 25/07/2009, 22h36
  2. [VB6] écriture dans un fichier rajoute "
    Par Husqvarna dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 31/05/2006, 14h00
  3. Probleme d'ecriture dans un fichier en mode Text
    Par bbozet dans le forum C++Builder
    Réponses: 3
    Dernier message: 14/01/2004, 14h46
  4. [LG]ecriture dans un fichier binaire
    Par jsaviola dans le forum Langage
    Réponses: 3
    Dernier message: 26/12/2003, 18h30
  5. Réponses: 2
    Dernier message: 26/09/2003, 15h51

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