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]:Ajuster des données dans un fichier text avec un timer


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    gaetan.tranvouez
    Invité(e)
    Par défaut [vb6]:Ajuster des données dans un fichier text avec un timer
    bon jour à tous

    voila je vous présente mon soucis:
    j'ai un prog qui envoi des données dans un fichier text. cela fonctionne
    il envoi ces données toutes les 10 sec et je voudrais que toutes les 10sec, les données inscrites dans le fichier text se mette les unes en dessous des autres, car la a chaque fois elle ecrase les premières. Je pense qu'il faudrait faire une roulette (i=i+1) mais je ne sais pas comment m'y prendre.

    voila mon code

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
     
    Private Sub Form_Load()
    Dim fileNumer As Integer
    FileNumber = FreeFile
    Open "c:\test.txt" For Output As #FileNumber
     
    Close #FileNumber
    End Sub
     
    Private Sub Timer1_Timer()
     
    StatusBar1.SimpleText = "Récupération en cours..."
    Dim i, var As Integer
    Dim val, typ As String
    Dim Rapports(2) As Double
    données_récup = Récup.Récupération
    If données_récup(4)(0) <> 1 Then
        Command2.Enabled = True
        StatusBar1.SimpleText = "Erreur de communication à la commande n°" & données_récup(4)(0)
        var = MsgBox(StatusBar1.SimpleText, vbOKOnly, "Erreur")
        Exit Sub
    End If
    For i = 0 To UBound(données_récup(0))
        Text1(i).Text = données_récup(0)(i) & " %"
        Select Case données_récup(1)(i)
            Case 0
                typ = "Aucun"
            Case 1
                typ = "Rebroyé"
            Case 2
                typ = "Naturel"
            Case 3
                typ = "Additif/Colorant"
        End Select
        Text4(i).Text = typ
        Text2(i).Text = données_récup(2)(i) & " gr"
    Next
    For i = 0 To UBound(données_récup(3))
        Text3(i).Text = données_récup(3)(i) & " %"
        Rapports(i) = données_récup(3)(i)
    Next
     
        Var1 = Text4(0).Text
    Var2 = Text1(0).Text
    Var3 = Text2(0).Text
     
    Var4 = Text4(1).Text
    Var5 = Text1(1).Text
    Var6 = Text2(1).Text
     
    Var7 = Text4(2).Text
    Var8 = Text1(2).Text
    Var9 = Text2(2).Text
     
    Var10 = Text4(3).Text
    Var11 = Text1(3).Text
    Var12 = Text2(3).Text
     
    Var13 = Text3(0).Text
    Var14 = Text3(1).Text
    Var15 = Text3(2).Text
     
    Var16 = Text6.Text
     
     
    Print #FileNumber, Var1, Var2, Var3
    Print #FileNumber, Var4, Var5, Var6
    Print #FileNumber, Var7, Var8, Var9
    Print #FileNumber, Var10, Var11, Var12
    Print #FileNumber, Var13, Var14, Var15
    Print #FileNumber, Var16
     
    ...

  2. #2
    Membre émérite
    Avatar de Theocourant
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 618
    Par défaut
    Bonjour,

    D'une part tu n'ouvres pas et tu ne fermes pas le fichier dans la procédure liée à l'événement du timer ... donc je ne sais pas où tu peux arriver à écrire ... ou alors le code que tu nous as donné n'est pas complet

    D'autre part, l'ouverture des fichiers pour écrire en fin de fichier est décrite dans le tutoriel vers lequel je t'ai redirigé lors d'un post précédent : ça fait plaisir d'être écouté .
    Et en plus, c'est indiqué dans l'aide en ligne ...

    +

    Théo

    [EDIT] le lien vers la discussion en question : http://www.developpez.net/forums/sho...=184854&page=2

  3. #3
    Membre Expert
    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
    Par défaut
    deja je ne vois pas ou tu ouvres et ferme le fichier ??

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Print #FileNumber, Var1, Var2, Var3
    Print #FileNumber, Var4, Var5, Var6
    Print #FileNumber, Var7, Var8, Var9
    Print #FileNumber, Var10, Var11, Var12
    Print #FileNumber, Var13, Var14, Var15
    Print #FileNumber, Var16
    tu le fait plutot ici, ce qui je croit je devrais meme pas marcher.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Form_Load()
    Dim fileNumer As Integer
    FileNumber = FreeFile
    Open "c:\test.txt" For Output As #FileNumber
     
    Close #FileNumber
    End Sub
    tu devrais plutot ouvrir/fermer le fichier dans le Timer1_Timer, et l'ouvrir avec Append et non Output, ca devrais te donner ceci :
    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
    16
    17
     
    Private Sub Timer1_Timer()
    Dim fileNumer As Integer
    FileNumber = FreeFile
     
    '.......
    'blablablablabla
    '.......
    Open "c:\test.txt" For Append As #FileNumber
       Print #FileNumber, Var1, Var2, Var3
       Print #FileNumber, Var4, Var5, Var6
       Print #FileNumber, Var7, Var8, Var9
       Print #FileNumber, Var10, Var11, Var12
       Print #FileNumber, Var13, Var14, Var15
       Print #FileNumber, Var16
    Close #FileNumber
    End Sub
    [Edit]La remarque de Theo n'est pas mal venu, priere de faire un min de recherche, tu gagneras en temps.

    Oups desole j'ai encore confondu de langage c'est aser frequent ca.

  4. #4
    gaetan.tranvouez
    Invité(e)
    Par défaut
    je ne vois pas la diff avec moi sovo

    tu utilise aussi open dans ton code

  5. #5
    gaetan.tranvouez
    Invité(e)
    Par défaut
    j'ai fait les modif

    mais il ne m'accepte pas le append et je sais pas pourquoi

    il me marque erreur de syntaxe
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
     
    Private Sub Form_Load()
    Set Récup = New RécupInfos
    Set liaison = New Mlan
    Set Récup.liais = liaison
     
    End Sub
     
    Private Sub Timer1_Timer()
    'Command2.Enabled = False
    StatusBar1.SimpleText = "Récupération en cours..."
    Dim i, var As Integer
    Dim val, typ As String
    Dim Rapports(2) As Double
    données_récup = Récup.Récupération
    If données_récup(4)(0) <> 1 Then
        Command2.Enabled = True
        StatusBar1.SimpleText = "Erreur de communication à la commande n°" & données_récup(4)(0)
        var = MsgBox(StatusBar1.SimpleText, vbOKOnly, "Erreur")
        Exit Sub
    End If
    For i = 0 To UBound(données_récup(0))
        Text1(i).Text = données_récup(0)(i) & " %"
        Select Case données_récup(1)(i)
            Case 0
                typ = "Aucun"
            Case 1
                typ = "Rebroyé"
            Case 2
                typ = "Naturel"
            Case 3
                typ = "Additif/Colorant"
        End Select
        Text4(i).Text = typ
        Text2(i).Text = données_récup(2)(i) & " gr"
    Next
    For i = 0 To UBound(données_récup(3))
        Text3(i).Text = données_récup(3)(i) & " %"
        Rapports(i) = données_récup(3)(i)
    Next
     
    'Texte rajouté pour le stockage
     
    Dim fileNumer As Integer
    FileNumber = FreeFile
    'Ouvre le fichier
    open "c:\test.txt" For append As #FileNumber
    'Lit la première ligne et la place dans Var1
     
    'Ferme le fichier
    Close #FileNumber
     
    'App.TaskVisible = True
     
     
        Var1 = Text4(0).Text
    Var2 = Text1(0).Text
    Var3 = Text2(0).Text
     
    Var4 = Text4(1).Text
    Var5 = Text1(1).Text
    Var6 = Text2(1).Text
     
    Var7 = Text4(2).Text
    Var8 = Text1(2).Text
    Var9 = Text2(2).Text
     
    Var10 = Text4(3).Text
    Var11 = Text1(3).Text
    Var12 = Text2(3).Text
     
    Var13 = Text3(0).Text
    Var14 = Text3(1).Text
    Var15 = Text3(2).Text
     
    Var16 = Text6.Text
     
     
    Print #FileNumber, Var1, Var2, Var3
    Print #FileNumber, Var4, Var5, Var6
    Print #FileNumber, Var7, Var8, Var9
    Print #FileNumber, Var10, Var11, Var12
    Print #FileNumber, Var13, Var14, Var15
    Print #FileNumber, Var16
     
    Close #FileNumber
    Dernière modification par gaetan.tranvouez ; 26/07/2006 à 07h57.

  6. #6
    gaetan.tranvouez
    Invité(e)
    Par défaut
    merci je l'ai vu que ensuite que t'avais changé mais je m'en doutais, j'ai quand meme voulu etre sur...

  7. #7
    Membre émérite
    Avatar de Theocourant
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 618
    Par défaut
    Alors pour info l'ouverture de fichier, puisqu'il le faut, c'est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Open "c:\test.txt" For Append As #FileNumber
    L'aide existe !!!!! Si tu ne l'as pas j'ai mis le lien dans ma signature ...

  8. #8
    gaetan.tranvouez
    Invité(e)
    Par défaut
    ah ok merci

    j'avais pas compris

    quand ta di remplace open par append j'avais compris qu'il fallait faire
    Append.....for output ...

    et non

    open ....for append ....

    merci beaucoup

    et pour mon histoire de boucle, quelquun a une idée svp?????????

  9. #9
    Membre Expert
    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
    Par défaut
    si j'avais une erreur de frappe, regarde encore j'ai editer mon post.

Discussions similaires

  1. Formater correctement des données dans un fichier texte
    Par arnaudperfect dans le forum Shell et commandes GNU
    Réponses: 6
    Dernier message: 15/08/2007, 22h44
  2. [vb6]: inscrire des données dans un document text
    Par gaetan.tranvouez dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 24/07/2006, 12h11
  3. [VB6]enregistrer des données dans un fichier
    Par tchinette42 dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 19/04/2006, 18h55
  4. Réponses: 2
    Dernier message: 16/01/2006, 19h34
  5. Réponses: 3
    Dernier message: 22/02/2004, 20h09

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