Pb d'extraction dans un string

cs_keks Messages postés 34 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 24 janvier 2008 - 18 mars 2005 à 15:49
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 - 18 mars 2005 à 20:17
Bonjour tout le monde.
j'aimerais savoir comment, en VB6, on peut extraire un entier d'un string. Dans mon cas, l'entier sera toujours au début de la chaine de caractere.
merci.

4 réponses

Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 33
18 mars 2005 à 16:22
entier% = Val(ta chaîne)

Daniel
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
18 mars 2005 à 17:21
Heu... je crois qu'il veut dire : comment extraire un entier dans une
chaine complète, donc cette chaine n'est pas forcément uniquement un
nombre.



A ce moment là, utilise les fonctions Left, Mid et Right pour extraire ton nombre.

DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) : www.ProgOtoP.com/popapi/
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 18
18 mars 2005 à 19:56
Salut,

Si le nombre est toujours en début de chaine, Gobillot a raison :

par exemple : Val("123abc") renvoie 123

Quoique je me méfie des "toujours". Ce mot ne devrait pas exister en prog. Et l'utilisation de mid$ serait moins couteuse en temps en cas de modif de la structure de la chaine.

Loup Gris
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 33
18 mars 2005 à 20:17
là encore Val est indispensable:

Dim i As Integer
Dim j As Integer
Dim R As Integer
Dim s(3) As String

s(0) = "123abc"
s(1) = "a123bc"
s(2) = "ab123c"
s(3) = "abc123"
For i = 0 To 3
j = 1
Do
R = Val(Mid$(s(i), j))
j = j + 1
Loop Until R > 0
MsgBox R
Next

Daniel
0