Extraire text

achills Messages postés 213 Date d'inscription vendredi 13 janvier 2006 Statut Membre Dernière intervention 20 août 2008 - 28 mai 2008 à 11:18
achills Messages postés 213 Date d'inscription vendredi 13 janvier 2006 Statut Membre Dernière intervention 20 août 2008 - 28 mai 2008 à 13:50
bjr
svp quelqu'un peut me dire comment extraire une donnée d"un control text ou label,
exemple: j'aun un text1 qui contien une phrase "irc.monsite.com :401" sa c'est une erreur afficher dans le controm text1, et je veut recupérer le "401" dans un autre text ou label afin d'identifié le probleme, packe 401 signifie l'erreur "pseudo existant" et il y'a d'autre type d'erreur donc je veut recupérer le numéro de l'erreur afin que mon applictaion peut y passé ce probleme.
merciii

10 réponses

Utilisateur anonyme
28 mai 2008 à 11:33
Salut,

Ouvre ton aide en ligne sur la fonction InStr et Right$

__________
  Kenji
0
Wolfdream Messages postés 16 Date d'inscription mercredi 28 mai 2008 Statut Membre Dernière intervention 18 février 2009
28 mai 2008 à 11:34
Si j'ai bien compris, tu veux dissocier le 401 tu reste de la phrase

Tu crée un pointeur pour parcourir chaque caractère de ta phrase
tu crée une variable string dans laquelle tu récupèrera le 401
tu met ta phrase dans une variable string.
tu compte la longueur de ta phrase avec la fonction resultat =Len(variable)

et ensuite tu parcoure ta phrase avec une boucle do while

pointeur = 0
do while (variable(pointeur)<>"4" and pointeur<variable)  'tant que le caractère n'est pas un "4"
    pointeur = pointeur +1                  'tu passe au caractère suivant
Loop

variable_401 = ""                              
If variable(pointeur) ="4" then             'si un 4 a été trouvé
      for i = pointeur to resultat               'à partir du 4 jusqu'à la fin de ta phrase
      variable_401 = variable_401 + variable(i)      'tu ajoute les chiffres un par un
      Next
End if

tu devrais avoir le 401 dans variable_401
0
achills Messages postés 213 Date d'inscription vendredi 13 janvier 2006 Statut Membre Dernière intervention 20 août 2008
28 mai 2008 à 11:47
bonjour wolfdream,
merci pour votre réponse mais je suis dsl j'ai rien compri lol m'en veut pas j'ai jamais fait ce truc de recherche dans un text, peut tu m'expliqué mieu svp
voila ce que j'ai moi :
text1.text = irc.monsite.com: 401 * pseudo
text2.text = ""

je veut afficher le 401 dans le text2.text
comment je peut le faire svp
merci encor
0
Wolfdream Messages postés 16 Date d'inscription mercredi 28 mai 2008 Statut Membre Dernière intervention 18 février 2009
28 mai 2008 à 12:47
loool
Si t'a pas ou peu de notion d'algorithme c'est normal si tu comprend pas.
En fait tu doit demander à ton programme de regarder chaque caractère de ta phrase, un par un.
Tu commence donc par le premier. Si C'est pas un chiffre 4, tu passe au 2ème et ainsi de suite, grâce au pointeur.
Le pointeur correcpond à la position du caractère.

C'est le but de la boucle "do while". Ca veut dire : tant que le caractère est différent de 4, on passe au suivant en ajouttant 1 au pointeur.

Donc si le caractère est un 4, la boucle s'arrête et le pointeur prend la valeur de la position du 4 (je crois que ton 4 est à la position 18, ou pas loin :; donc ton pointeur aura la valeur 18)

à partir de là, tu demande de mettre les caractère n°18 jusque la fin de ta phrase dans une variable.
si ton 4 à la position 18, ton 0 aura la position 19 et le 1 aura la position 20 etc...

Donc du n°18 jusqu'à la fin de la phrase, tu met chaque caractère dans une autre variable.
Ou si tu prèfère dans ta text2 :
tu met le 4 qui est à la position 18
Ensuite le 0 de la position 19
ensuite le 1 de la position 20
ça te fera 401 dans ta text2.
 
c'est le but de ce bout de code :
If variable(pointeur) ="4" then             'si un 4 a été trouvé
      for i = pointeur to resultat               'à partir du 4 jusqu'à la fin de ta phrase
      variable_401 = variable_401 + variable(i)      'tu ajoute les chiffres un par un
      Next
End if

Mais n'oublie pas d'utiliser la fonction Len() pour avoir le nombre de caractères de ta phrase. le nombre que tu obtiendra sera le nombre maximum que pourra prendre le pointeur.


Si t'a toujours du mal essaie de recopier le code que j'ai mis tout à l'heure en prenant soin de déclarer les variables.
0

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

Posez votre question
Le newbie Messages postés 200 Date d'inscription mardi 17 octobre 2006 Statut Membre Dernière intervention 24 mars 2012 2
28 mai 2008 à 12:52
Salut

Tu peux aussi essayer ça :

'Une variable contenant un code erreur (vide pour l'instant)
dim CodeErr as string = ""

'On pracours la chaine Text1.Text caractère par caractère
For Each c as char in Text1.Text
'Si le caractère en cours est numérique alors on le renseigne dans la variable du code erreur
If IsNumeric(c) then
CodeErr = CodeErr & c
EndIf
Next

'Enfin le champ Text2.Text prends comme valeur ton Code Erreur
Text2.Text = CodeErr

Bonne prog.
0
achills Messages postés 213 Date d'inscription vendredi 13 janvier 2006 Statut Membre Dernière intervention 20 août 2008
28 mai 2008 à 13:26
re
"le newbie" sa marche pas
dim CodeErr as string = ""  et For Each c as char in Text1.Text sa marche pas
erreur de syntax

wolfdream c'est trop compliqué pour moi ce que tu me dit la :D prkoi ne pas essayer de m'expliquer comme "le newbie"
merci les mecs vous etes trop sympa
0
Utilisateur anonyme
28 mai 2008 à 13:28
Ha c'est en .net, autant pour moi.

Bon ben une simple expression régulière alors :
Text2.Text = System.Text.RegularExpressions.Regex.Match(Text1.Text, "([0-9]+)").ToString()

__________
  Kenji
0
achills Messages postés 213 Date d'inscription vendredi 13 janvier 2006 Statut Membre Dernière intervention 20 août 2008
28 mai 2008 à 13:30
merci mais c'est pas avec vb.net mais vb6 lol
0
Utilisateur anonyme
28 mai 2008 à 13:38
Pourquoi avoir posté ici alors ?
Thèmes / VB.NET et VB 2005 / Divers / General / extraire text

Dim ErrB As Integer, ErrE As Integer
ErrB = InStr(1, Text1, ": ") + 2
ErrE = InStr(ErrB, Text1, " ")
Text2.Text = Mid$(Text1, ErrB, ErrE - ErrB)

__________
  Kenji
0
achills Messages postés 213 Date d'inscription vendredi 13 janvier 2006 Statut Membre Dernière intervention 20 août 2008
28 mai 2008 à 13:50
re dsl je me suis trompé du theme
pour votre code charle il fonctione pas il fait que enlevé le premier caractere
merci comeme pour votre aide
0
Rejoignez-nous