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: Mettre les données d'un textbox sous un fichier de type txt


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    flav66
    Invité(e)
    Par défaut vb6: Mettre les données d'un textbox sous un fichier de type txt
    slt

    alors voila, j'ai un problème, j'ai 16 textbox dans mon form, jusque la rien de plus normal, j'ai un timer qui permet de modifier les données du textbox dans un intervalle de temps précis.La encore tout va bien.
    Le problème qui se pose est que je voudrais pouvoir inscrire ces données qui sont dans mes textbox sous un fichier txt.

    Par exemple, la premiere valeur s'inscrit sur la ligne 1, puis la deuxième valeur sur la ligne 2. Puis les valeurs se modifient grace au timer, puis j'inscrit les 2 nouvelles valeur sur la ligne 4 et 5 par exemple.

    Mais le soucis c'est que je ne sais pas combien de temps peut durer cette opération donc je ne peux pas définir à l'avance les lignes. C'est pour ca que j'ai pensé à utiliser une boucle. Mais mon programme ne fonctionne pas.

    Voici un bout de 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
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
     
     
    Private Sub Timer1_Timer()
    Dim j As Integer
    j = j + 1
    'Si vous voulez lire plusieurs ligne :
    Dim fileNumer As Integer
    FileNumber = FreeFile
    'Ouvre le fichier
    Open "c:\test.txt" For Output As #FileNumber
     
    'Déclare var(n + 5 * j)
    Dim Var(1 + 5 * j)
    Dim Var(2 + 5 * j)
    Dim Var(3 + 5 * j)
    Dim Var(4 + 5 * j)
    Dim Var(5 + 5 * j)
    Dim Var(6 + 5 * j)
    Dim Var(7 + 5 * j)
    Dim Var(8 + 5 * j)
    Dim Var(9 + 5 * j)
    Dim Var(10 + 5 * j)
    Dim Var(11 + 5 * j)
    Dim Var(12 + 5 * j)
    Dim Var(13 + 5 * j)
    Dim Var(14 + 5 * j)
    Dim Var(15 + 5 * j)
    Dim Var(16 + 5 * j)
     
    Var(1 + 5 * j) = Text4(0).Text
    Var(2 + 5 * j) = Text1(0).Text
    Var(3 + 5 * j) = Text2(0).Text
     
    Var(4 + 5 * j) = Text4(1).Text
    Var(5 + 5 * j) = Text1(1).Text
    Var(6 + 5 * j) = Text2(1).Text
     
    Var(7 + 5 * j) = Text4(2).Text
    Var(8 + 5 * j) = Text1(2).Text
    Var(9 + 5 * j) = Text2(2).Text
     
    Var(10 + 5 * j) = Text4(3).Text
    Var(11 + 5 * j) = Text1(3).Text
    Var(12 + 5 * j) = Text2(3).Text
     
    Var(13 + 5 * j) = Text3(0).Text
    Var(14 + 5 * j) = Text3(1).Text
    Var(15 + 5 * j) = Text3(2).Text
     
    Var(16 + 5 * j) = Text6.Text
     
    Print #FileNumber, Var(1 + 5 * j), Var(2 + 5 * j), Var(3 + 5 * j)
    Print #FileNumber, Var(4 + 5 * j), Var(5 + 5 * j), Var(6 + 5 * j)
    Print #FileNumber, Var(7 + 5 * j), Var(8 + 5 * j), Var(9 + 5 * j)
    Print #FileNumber, Var(10 + 5 * j), Var(11 + 5 * j), Var(12 + 5 * j)
    Print #FileNumber, Var(13 + 5 * j), Var(14 + 5 * j), Var(15 + 5 * j)
    Print #FileNumber, Var(16 + 5 * j)
    'Ferme le fichier test.txt
    Close #FileNumber
     
    Command2.Enabled = False
    StatusBar1.SimpleText = "Récupération en cours..."
    Dim Var As Integer
    Dim val As String, 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
    If (Rapports(0) <> 0 And Rapports(1) <> 0 And Rapports(2) <> 0) Then
        val = masave.Sauvegarde(Rapports())
        If (val <> "OK") Then
            Var = MsgBox("Sauvegarde échouée: " & val, vbOKOnly, "Erreur")
            val = "Sauvegarde précédente échouée!"
          Else
            val = "Sauvegarde précédente réussie"
        End If
        StatusBar1.SimpleText = val
    End If
    Command2.Enabled = True
    End Sub

    ps: désolé si je m'explique, je suis nouveau ici...merci de votre compréhension

  2. #2
    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
    Hello

    Ton code n'est pas tres clair
    On trouve par exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     Dim j As Integer
      j = j + 1
    Si une variable est declarée a l'interieur d'une sub, cette variable est recrée a chaque exécution de la sub, donc J vaut toujours un, il faudrait utiliser Static J as Integer si tu veux que j garde sa valeur entre les différents apples de la sub
    Plus loin tu ecris 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
     
    Dim Var(1 + 5 * j)
    Dim Var(2 + 5 * j)
    Dim Var(3 + 5 * j)
    Dim Var(4 + 5 * j)
    Dim Var(5 + 5 * j)
    Dim Var(6 + 5 * j)
    Dim Var(7 + 5 * j)
    Dim Var(8 + 5 * j)
    Dim Var(9 + 5 * j)
    Dim Var(10 + 5 * j)
    Dim Var(11 + 5 * j)
    Dim Var(12 + 5 * j)
    Dim Var(13 + 5 * j)
    Dim Var(14 + 5 * j)
    Dim Var(15 + 5 * j)
    Dim Var(16 + 5 * j)
    Ca dénote une imcomprehension totale de l'utilisation des tableaux sous vb
    Ca m'etonnerais que vb accepte d'executer çà. Je pense que tu devrais lire un tuto sur vb, il y en a d'excellents sur ce site. ca va te prendre quelques heures peut être , mais considere les comme un investissement, ca va t'en faire gagner des millers que tu ne perdras pas en essayant n'importe quoi, jusqu'a ce que quelque chose marche

  3. #3
    flav66
    Invité(e)
    Par défaut
    merci a toi pour ta réponse, je vais lire les tutos

  4. #4
    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
    Un petit F1 sur le mot Array devrait pouvoir t'aider.
    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!

  5. #5
    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
    On pourais déjà bien simplifier

    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
     
    Private Sub Timer1_Timer()
      Dim fileNumer As Integer
      FileNumber = FreeFile
      'Ouvre le fichier
      Open "c:\test.txt" For Output As #FileNumber
     
      Print #FileNumber, Text4(0).Text, Text1(0).Text, Text2(0).Text
      Print #FileNumber, Text4(1).Text, Text1(1).Text, Text2(1).Text
      Print #FileNumber, Text4(2).Text, Text1(2).Text, Text2(2).Text
      Print #FileNumber, Text4(3).Text, Text1(3).Text, Text2(3).Text
      Print #FileNumber, Text3(0).Text, Text3(1).Text, Text3(2).Text
      Print #FileNumber, Text6.Text
     
      'Ferme le fichier test.txt
      Close #FileNumber
     
      ....

  6. #6
    flav66
    Invité(e)
    Par défaut
    merci
    ton code m'a donné une idée

    j'ai fait une petite application simple je pense, histoire de voir le résultat

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Private Sub Command1_Click()
    Dim fileNumer As Integer
    FileNumber = FreeFile
     
    Open "c:\test.txt" For Output As #FileNumber
     
    Print FileNumber, text1.Text
    Print FileNumber, text2.Text
     
    Close #FileNumber
    End Sub
    mais le problème est que cela ne m'affiche rien dans mon fichier, le contenu s'inscrit directement sur mon form en haut a gauche, c'est a ne rien y comprendre.

Discussions similaires

  1. Mettre les données d'une colonne d'un fichier Excel dans une ArrayList
    Par kortobi dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 05/09/2012, 19h40
  2. Mettre les données d'un formulaire dans un fichier texte
    Par superjordan dans le forum Langage
    Réponses: 1
    Dernier message: 30/03/2008, 16h35
  3. Réponses: 5
    Dernier message: 10/07/2007, 09h43
  4. Réponses: 4
    Dernier message: 27/03/2007, 09h49
  5. Réponses: 5
    Dernier message: 01/06/2006, 16h18

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