Textbox multiligne [Résolu]

Signaler
Messages postés
77
Date d'inscription
jeudi 11 octobre 2007
Statut
Membre
Dernière intervention
27 septembre 2010
-
Messages postés
77
Date d'inscription
jeudi 11 octobre 2007
Statut
Membre
Dernière intervention
27 septembre 2010
-
Bonjour,
J'affiche actuellement des données recu par tcp/ip dans un textbox. Ce textbox est en multiligne. Malheureusement, lorsque je recoit une chaine séparé par un virgule (par exemple "122,21545,148"), il me compte la virgule comme un retour chariot...
Comment éviter ca pour tout afficher à la suite?

9 réponses

Messages postés
14770
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
27 février 2021
151
Bonjour

Le brouillard se dissipe un peu voir beaucoup.

Les données que tu reçois sont directement écrites dans le fichier, attention, il faut donc que ce soir impérativement des données ASCII ne contenant aucun retour chariot.

Ensuite, à la place de "Input #", utilises "Line Input #", va voir dans l'aide.

Petite reparque de principe :
à la place de :
While Not EOF(4)
...
Wend
Utilises :
Do Until EOF(4)
...
Loop
C'est plus propre.

Evite de mettre le numéro de fichier en dur, utilises plutot la fonction FreeFile(...).

Dans Word, j'Excel. (juste pour la citation)
VB (6, .NET1&2), C++, C#.Net1
Mon site
Messages postés
14770
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
27 février 2021
151
Bonjour

Etonnant, copie ton code qui récupère la chaine et la met dans le TextBox STP, car ce comportement c'est vraisemblablement toi qui l'a codé.

Dans Word, j'Excel. (juste pour la citation)
VB (6, .NET1&2), C++, C#.Net1
Mon site
Messages postés
77
Date d'inscription
jeudi 11 octobre 2007
Statut
Membre
Dernière intervention
27 septembre 2010

A non maintenant que tu dis ca, ca doit surment venir du fait que je copie les data recu dans un fichier text. Celui ci le met à la ligne lors de la copie, l'affichage est donc identique. Comment régler ce problème??
Messages postés
77
Date d'inscription
jeudi 11 octobre 2007
Statut
Membre
Dernière intervention
27 septembre 2010

petite rectification, dans mon fichier texte, l'écriture est bonne, c'est dans la relecture que cela ne marche pas,car je lit ligne par ligne dans une boucle while.une solution?
Messages postés
14770
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
27 février 2021
151
Bonjour

Ne met pas réponse acceptée si ton pb n'est pas résolu, sinon, tu aura moins de chance d'avoir une réponse.

? Copier dans un fichier texte ? Pourquoi ?

Je ne vois pas comment tu fais, peux-tu poser le code de traitement stp, car là je suis dans le brouillard le plus épais (même un couteau serait insuffisant, je passe à la tronçonneuse  ).

Dans Word, j'Excel. (juste pour la citation)
VB (6, .NET1&2), C++, C#.Net1
Mon site
Messages postés
77
Date d'inscription
jeudi 11 octobre 2007
Statut
Membre
Dernière intervention
27 septembre 2010

lol ok je le met. Avant tout, si je sauvegarde les trames dans un fichiers texte, c'est pour avoir un suivi de la com de mon winsock. Et donc sur une page de mon application, j'ai un textbox qui me permet de voir toutes les com qui ont transité par le winsock dans la journée.Voici le code:

 'Ecriture dans l'historique des données recu
Winsock1.GetData Data


Open App.Path & "\Hist_recept.txt" For Append As #1
Print #1, Time & " : " & Data
Close #1

'Lecture de l'historique et affichage dans la textbox
Open App.Path & "\Hist_recept.txt" For Input As #4
    While Not EOF(4)
        Input #4, temp
        Txt_reception.Text = Txt_reception.Text & vbCrLf & temp
    Wend
    Close #4

Voila j'espere que le brouillard ce dissipe!!
Messages postés
77
Date d'inscription
jeudi 11 octobre 2007
Statut
Membre
Dernière intervention
27 septembre 2010

Ok merci ca marche nickel avec "line input"!!! merci beaucoup

Enfin juste question de curiosité, je voudrais savoir pourquoi do until...loop est plus propre que while...wend?
Et pourquoi ne pas utiliser le numéro de fichier en dur? sachant que j'ouvre toujours les mêmes fichiers?
Messages postés
14770
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
27 février 2021
151
Bonjour

1) Do est plus souple que While :
Do {Until|While}
...
Loop

Do
...
Loop {Until|While}

Dans le 1er cas, on fais le test au début donc on peut ne pas passer dans la boucle, alors que dans le second, on fait au moins un passage.
While : Faire tant que Vrai
Until : Faire tant que faux

2) Parce que si dans ton code, tu te retrouve avec plusieurs fichiers ouverts en même temps, tu risque d'avoir des collisions. C'est une habitude à prendre rapidement, pour des questions de sécurité du code.

Dans Word, j'Excel. (juste pour la citation)
VB (6, .NET1&2), C++, C#.Net1
Mon site
Messages postés
77
Date d'inscription
jeudi 11 octobre 2007
Statut
Membre
Dernière intervention
27 septembre 2010

ok merci pour tes eclairsicements.