Extraire text

Signaler
Messages postés
213
Date d'inscription
vendredi 13 janvier 2006
Statut
Membre
Dernière intervention
20 août 2008
-
Messages postés
213
Date d'inscription
vendredi 13 janvier 2006
Statut
Membre
Dernière intervention
20 août 2008
-
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

Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
30
Salut,

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

__________
  Kenji
Messages postés
16
Date d'inscription
mercredi 28 mai 2008
Statut
Membre
Dernière intervention
18 février 2009

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
Messages postés
213
Date d'inscription
vendredi 13 janvier 2006
Statut
Membre
Dernière intervention
20 août 2008

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
Messages postés
16
Date d'inscription
mercredi 28 mai 2008
Statut
Membre
Dernière intervention
18 février 2009

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.
Messages postés
200
Date d'inscription
mardi 17 octobre 2006
Statut
Membre
Dernière intervention
24 mars 2012
2
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.
Messages postés
213
Date d'inscription
vendredi 13 janvier 2006
Statut
Membre
Dernière intervention
20 août 2008

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
Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
30
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
Messages postés
213
Date d'inscription
vendredi 13 janvier 2006
Statut
Membre
Dernière intervention
20 août 2008

merci mais c'est pas avec vb.net mais vb6 lol
Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
30
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
Messages postés
213
Date d'inscription
vendredi 13 janvier 2006
Statut
Membre
Dernière intervention
20 août 2008

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