Textbox multiligne

Résolu
pulpul74 Messages postés 77 Date d'inscription jeudi 11 octobre 2007 Statut Membre Dernière intervention 27 septembre 2010 - 26 févr. 2008 à 16:34
pulpul74 Messages postés 77 Date d'inscription jeudi 11 octobre 2007 Statut Membre Dernière intervention 27 septembre 2010 - 27 févr. 2008 à 11:10
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

NHenry Messages postés 15025 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 26 novembre 2022 157
27 févr. 2008 à 10:35
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
3
NHenry Messages postés 15025 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 26 novembre 2022 157
26 févr. 2008 à 16:39
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
0
pulpul74 Messages postés 77 Date d'inscription jeudi 11 octobre 2007 Statut Membre Dernière intervention 27 septembre 2010
26 févr. 2008 à 17:31
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??
0
pulpul74 Messages postés 77 Date d'inscription jeudi 11 octobre 2007 Statut Membre Dernière intervention 27 septembre 2010
26 févr. 2008 à 17:34
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?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
NHenry Messages postés 15025 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 26 novembre 2022 157
27 févr. 2008 à 08:52
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
0
pulpul74 Messages postés 77 Date d'inscription jeudi 11 octobre 2007 Statut Membre Dernière intervention 27 septembre 2010
27 févr. 2008 à 10:24
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!!
0
pulpul74 Messages postés 77 Date d'inscription jeudi 11 octobre 2007 Statut Membre Dernière intervention 27 septembre 2010
27 févr. 2008 à 10:46
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?
0
NHenry Messages postés 15025 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 26 novembre 2022 157
27 févr. 2008 à 11:03
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
0
pulpul74 Messages postés 77 Date d'inscription jeudi 11 octobre 2007 Statut Membre Dernière intervention 27 septembre 2010
27 févr. 2008 à 11:10
ok merci pour tes eclairsicements.
0