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 a jour textbox depuis la lecture d'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 éclairé
    Inscrit en
    Mars 2006
    Messages
    342
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 342
    Par défaut [VB6]mettre a jour textbox depuis la lecture d'un fichier ?
    Voila, en fait, mon bout de code marche, mais je pense que je me complique la vie.

    Mon code est la suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Open txtreload + ".txt" For Input As 60
    Dim test As String
    Input #60, test
    Input #60, dblL
    txtL = dblL
    Input #60, test
    Input #60, dblb
    txtb = dblb
    Input #60, test
    Input #60, dblib
    mon but est de lire un fichier comme celui ci et de mettre a jour mes textbox:

    LENGTH
    10000
    WIDTH
    100
    Ib
    0
    Pour m en sortir j ai donc crée un string que j appele test pour lire les lignes ou il n y a pas de donnees qui m interresse. Deja, est il possible de ne lire qu une ligne sur deux ? Et donc je pourrais virer tout mes Input #60, test ?

    Ensuite, mes txtL, et txtb sont en fait des textbox et mon but est de mettre a jour leur contenu. Or je n ai pas reussi a lire et modifier directement le contenu. J ai du passer par une varible double pour lire la valeur dans le fichier, puis dans un second temps j attribue ma textbox la valeur de ma variable double. Je pense que ce n'est pas la meilleure maniere de faire ca, mais maleureusement j ai pas trouvé comment faire autrement. Quelqu un aurais une idee ?

    Merci

  2. #2
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    342
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 342
    Par défaut
    Coucou,

    merci de m aider.

    Je suis pas sur d avoir compris ton bout de code, mais si c en gros que tu lis les lignes pair (ou impair) je ne ne pense pas pouvoir utiliser une boucle comme ca car les infos que je vais lire a chaque passage sont differentes et donc me faudrait faire un test sur le compteur a chaque ligne que je lis pour savoir quelle variable je dois sauvegarder non ?
    En fait je voudrais simplement pouvoir virer le string test en fait.

  3. #3
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    342
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 342
    Par défaut
    Arf desolé je suis pas sur d avoir ete assez clair, ou alors j ai pas compris ce que tu proposes.

    Je joins un screen de mon interface pour m expliquer. Quand l utilisateur clique sur RUN, le programme lis toutes les texbox chkbox et les radios et me cré un fichier avec :

    ENGTH
    10000
    WIDTH
    100
    Ib
    0
    Chezy =
    10000
    theta =
    0.5
    psi =
    0.5
    beta =
    1
    dx =
    1000
    dt =
    200
    T total =
    36000
    Uphgiven
    10
    Dnhgiven
    10
    Predictor
    1
    txtoutput
    Lastrun
    chkQini =
    0
    Qini =
    0
    chkhini =
    0
    hini =
    10
    C'est a dire qu'il m'ecrit les valeurs contenues dans mes textbox, le fait que la chkbox soit coché ou non, ainsi que le choix de mes boutons radios.

    Apres avoir ecrit ce fichier le programme fait tout un tas de calcul passons ...

    Mon probleme est que pour faciliter la reutilisation de l application, j ai inserer un bouton commande Reload. Qui a pour but quand on le presse de me remettre les valeurs dans les textbox, la position des radios ainsi que cocher la chkbox.

    C'est plus clair la ?

  4. #4
    Membre Expert
    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
    Par défaut
    Salut

    Si j'ai bien compris, sur une ligne, il y a le nom du contrôle et sur la suivante sa valeur.
    Cependant j'ai noté quelques trucs :
    • sur certaines lignes, il y a des = et sur d'autres pas... pourquoi?
    • certaines lignes que je croiyais être le nom d'un contrôle (ou d'une variable) comportent des espaces... Pourquoi?


    Je voulais te suggérer le nom du contrôle et sa valeur sur une même ligne dans le fichier en utilisant un séparateur, le point-virgule par exemple, mais avec ce que j'ai observé, je ne sais plus...

  5. #5
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    342
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 342
    Par défaut
    Coucou,

    merci de m aider.

    pourquoi il y a des = ? Car au depart j avais mis le nom et la valeur sur une meme ligne. En ne lisant pas le premier string. Mais finalement comme je n y arrivais pas je suis passé sur deux lignes, avec a chaque foi la premiere ligne qui ne sert a rien. Juste a me rappeler de quel type de données il s agit.

    Non ce n est pas le nom d un controle. Le nom de mes controles c justement les nom que j incremante quand j'essaye de lire le fichier.
    Par exemple, si tu regarde mon premier message, txtL et txtb sont les nom que j ai donné a deux textbox.

  6. #6
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    342
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 342
    Par défaut
    Peut etre que vous comprendrez mieux si je met ce que j aimerais utiliser :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Input #60,         
    Input #60, txtL.text
    Input #60,                
    Input #60, txtb.text
    ...
    Donc c a dire,
    lui dire zappe la premiere ligne
    affecte a ma textbox dont la propriete name est txtL ce que je lis a cette ligne
    lui dire zappe cette ligne
    affecte a ma textbox dont la propriete name est txtb ce que je lis a cette ligne

    Mais voila, ca ca ne marche pas, voila pourquoi le code que j utilise a mon premier message.

  7. #7
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    342
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 342
    Par défaut
    Ben le probleme c que :

    Input #60, "" est refusé, il me repond "erreur compilation attendu variable".

    yes j ai essayé Input #60, sans rien il me repond la meme chose.

    txtL est la propriete name d'une de mes textbox.

    Mon fichier que j essaye de lire, il peut s appeler n importe comment Toto.txt par exemple.

  8. #8
    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
    Par défaut
    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
    Private Sub Command1_Click()
    "===========pour avoir un petit fichier pour essayer
      Open "d:\esso.txt" For Output As #1
        Print #1, "j'en veux pas1"
        Print #1, "j'en veux1"
        Print #1, "j'en veux pas2"
        Print #1, "j'en veux2"
      Close #1
      DoEvents
     
     
     
    ==================pour extraire===========
      Open "d:\esso.txt" For Input As #1
        Do While Not EOF(1)
          Line Input #1, titi
          nb = nb + 1
          If nb Mod 2 = 0 Then MsgBox titi
       Loop
     Close #1
    End Sub

  9. #9
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Je me disais bien qque je ne connaissais pas cette syntaxe
    Et c'est seulement maintenant que tu dis que c'est un txt...

  10. #10
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    342
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 342
    Par défaut
    Desolé ouskel'n'or, j ai effectivement oublié de preciser, mais j avais mis le bout de code le precisant :p

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Open txtreload + ".txt" For Input As 60
    Vais essayer l'info pour sauter une ligne systematiquement merci. Par contre comment affecter directement la valeur a la Textbox. je vois tjs pas sans lire un double et apres dire que txtL par exemple est egal a ce double.

Discussions similaires

  1. Réponses: 2
    Dernier message: 10/08/2006, 09h44
  2. [VB6]Mettre à jour une table avec les valeurs d'une DATAGrid
    Par mbzhackers dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 26/05/2006, 20h56
  3. Mettre à jour une table depuis une autre
    Par snubi dans le forum Access
    Réponses: 1
    Dernier message: 20/04/2006, 19h28
  4. Réponses: 4
    Dernier message: 01/10/2005, 17h59
  5. [MySQL] Mettre a jour un serveur MySQL depuis un autre
    Par baddounet dans le forum Administration
    Réponses: 6
    Dernier message: 01/09/2005, 15h09

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