Rechercher : dans
Par :

[VB.NET] split

Dernière réponse le 16 sep 2009 à 19:08:03 Sithranduil, le 16 sep 2009 à 13:05:15 
 Signaler ce message aux modérateurs

Bonjour, j'ai un problème dans mon code j'utilise la fonction split avec ","
mais il me donne messagage1,message2

Comment faire ?

Configuration: Windows Vista
Firefox 3.0.14

1

zoubiock, le 16 sep 2009 à 17:23:48

Tu ne peux pas nous poster ton code s'il te plait ?

Ca sera plus facile de t'aider !

Répondre à zoubiock

2

Sithranduil, le 16 sep 2009 à 17:56:32

C'est un programme en socket :

Faux_Id = (e.Message.Split(",")(3))

Répondre à Sithranduil

3

zoubiock, le 16 sep 2009 à 18:06:49

Ce n'est pas comme ça, plutôt ?

Faux_Id = (e.Message.Split(New [Char]() {","c})(3))

ou encore

Faux_Id = Split(e.Message, ",")(3)

Voilà, dis nous si ça fonctionne !

Répondre à zoubiock

4

Sithranduil, le 16 sep 2009 à 18:32:34

Merci sa marche mais j'ai un autre bug quand je fais sa :

TextBox5.AppendText(e.Message.Split(New [Char]() {"|"c})(12))

Il m'affiche tous le packet et je veux seulement la premier partit.

Répondre à Sithranduil

5

zoubiock, le 16 sep 2009 à 18:40:38

Heu, je ne comprend pas bien !

Quel est la valeur de e.Message?
Que veux-tu afficher ?
Qu'est ce qui s'affiche réellement ?

Répondre à zoubiock

6

Sithranduil, le 16 sep 2009 à 18:45:38

Quel est la valeur de e.Message? C'est une fonction pour recevoir le socket
Que veux-tu afficher ? Dans se packet je veux afficher le 420
As2777668,2530000,2850000|15182611|0|2|1~1,3,0,0,0,0|723,723­|10000,10000|343|100|6,1,0,0,7|3,0,0,0,3|22,113,0,0|420,38,0­,0|0,0,0,0|0,0,0,0|0,0,0,0|0,10,0,0|0,0,0,0|1,1,0,0|0,2,0,0|­0,0,0,0|0,0,0,0|0,15,0,0|0,0,0,0|0,0,0,0|0,0,0,0|0,0,0,0|0,0­,0,0|0,0,0,0|0,0,0,0|0,0,0,0|0,0,0,0|0,0,0,0|0,0,0,0|0,0,0,0­|0,0,0,0|0,0,0,0|0,0,0,0|0,0,0,0|0,0,0,0|0,0,0,0|0,0,0,0|0,0­,0,0|0,0,0,0|0,0,0,0|0,0,0,0|0,0,0,0|0,0,0,0|0,0,0,0|0,0,0,0­|0,0,0,0|40
Qu'est ce qui s'affiche réellement ? 420,38,0,0

Répondre à Sithranduil

7

zoubiock, le 16 sep 2009 à 18:54:32

Oui c'est normal !

Tu lui demandes de découper ton Message autours du character "|". Le treizième élément de cette découpe est donc "420,38,0­,0"

Tu peux soit re decouper cet élément autours du Char "," et prendre l'élément 0

Soit spliter directement autours des deux Char:
TextBox5.AppendText(e.Message.Split(New [Char]() {"|"c, ","c})(32))
Et prendre le 33eme éléments si cette position est fixe !

Personnelement j'opterais pour la première méthode !

Répondre à zoubiock

8

Sithranduil, le 16 sep 2009 à 19:04:21

Merci sa marche !

Mais juste je ne comprend pas a quoi sert les c à la fin de :
TextBox5.AppendText(e.Message.Split(New [Char]() {"|"c, ","c})(32))

Répondre à Sithranduil

9

 zoubiock, le 16 sep 2009 à 19:08:03

C'est un cast !

"|" est de type String et Split prend un tableau de Char
"|"c => '|'

Répondre à zoubiock