dim a as string dim b as string dim c as string dim d as string dim i as double a = mid("SCALE: 1//142.9g/", 11,3) ' a = "142"
a = mid("SCALE: 1//142.9g/", 14,1) ' b = "," c = mid("SCALE: 1//142.9g/", 15,1) ' b = "9" d = a & b & c & d ' d = "142,9" i = cdbl(d) ' i = 142,9
Est-ce ça que tu voulais ???
------ Romans, logiciels, email, site personnel http://irolog.free.fr/joe.htm ------------------------------------------------------------------------------------ "greg" a écrit dans le message de news: 49285e17$0$28670$ | Bonjour, | | comment je peut récupérer le chiffre 142 et le 9 âpres le point merci | exemple | SCALE: 1//142.9g/ | |
Bonjour,
dim a as string
dim b as string
dim c as string
dim d as string
dim i as double
a = mid("SCALE: 1//142.9g/", 11,3)
' a = "142"
a = mid("SCALE: 1//142.9g/", 14,1)
' b = ","
c = mid("SCALE: 1//142.9g/", 15,1)
' b = "9"
d = a & b & c & d
' d = "142,9"
i = cdbl(d)
' i = 142,9
Est-ce ça que tu voulais ???
------
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"greg" <bmouradian@club-internet.fr> a écrit dans le message de news:
49285e17$0$28670$7a628cd7@news.club-internet.fr...
| Bonjour,
|
| comment je peut récupérer le chiffre 142 et le 9 âpres le point merci
| exemple
| SCALE: 1//142.9g/
|
|
dim a as string dim b as string dim c as string dim d as string dim i as double a = mid("SCALE: 1//142.9g/", 11,3) ' a = "142"
a = mid("SCALE: 1//142.9g/", 14,1) ' b = "," c = mid("SCALE: 1//142.9g/", 15,1) ' b = "9" d = a & b & c & d ' d = "142,9" i = cdbl(d) ' i = 142,9
Est-ce ça que tu voulais ???
------ Romans, logiciels, email, site personnel http://irolog.free.fr/joe.htm ------------------------------------------------------------------------------------ "greg" a écrit dans le message de news: 49285e17$0$28670$ | Bonjour, | | comment je peut récupérer le chiffre 142 et le 9 âpres le point merci | exemple | SCALE: 1//142.9g/ | |
PH
LE TROLL a écrit :
Bonjour,
dim a as string dim b as string dim c as string dim d as string dim i as double a = mid("SCALE: 1//142.9g/", 11,3) ' a = "142"
a = mid("SCALE: 1//142.9g/", 14,1) ' b = "," c = mid("SCALE: 1//142.9g/", 15,1) ' b = "9" d = a & b & c & d ' d = "142,9" i = cdbl(d) ' i = 142,9
Est-ce ça que tu voulais ???
------ Romans, logiciels, email, site personnel http://irolog.free.fr/joe.htm ------------------------------------------------------------------------------------ "greg" a écrit dans le message de news: 49285e17$0$28670$ | Bonjour, | | comment je peut récupérer le chiffre 142 et le 9 âpres le point merci | exemple | SCALE: 1//142.9g/ | |
dim a as string
dim b as string
dim c as string
dim d as string
dim i as double
a = mid("SCALE: 1//142.9g/", 11,3)
' a = "142"
a = mid("SCALE: 1//142.9g/", 14,1)
' b = ","
c = mid("SCALE: 1//142.9g/", 15,1)
' b = "9"
d = a & b & c & d
' d = "142,9"
i = cdbl(d)
' i = 142,9
Est-ce ça que tu voulais ???
------
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"greg" <bmouradian@club-internet.fr> a écrit dans le message de news:
49285e17$0$28670$7a628cd7@news.club-internet.fr...
| Bonjour,
|
| comment je peut récupérer le chiffre 142 et le 9 âpres le point merci
| exemple
| SCALE: 1//142.9g/
|
|
dim a as string dim b as string dim c as string dim d as string dim i as double a = mid("SCALE: 1//142.9g/", 11,3) ' a = "142"
a = mid("SCALE: 1//142.9g/", 14,1) ' b = "," c = mid("SCALE: 1//142.9g/", 15,1) ' b = "9" d = a & b & c & d ' d = "142,9" i = cdbl(d) ' i = 142,9
Est-ce ça que tu voulais ???
------ Romans, logiciels, email, site personnel http://irolog.free.fr/joe.htm ------------------------------------------------------------------------------------ "greg" a écrit dans le message de news: 49285e17$0$28670$ | Bonjour, | | comment je peut récupérer le chiffre 142 et le 9 âpres le point merci | exemple | SCALE: 1//142.9g/ | |
dim a as string dim b as string dim c as string dim d as string dim i as double a = mid("SCALE: 1//142.9g/", 11,3) ' a = "142"
a = mid("SCALE: 1//142.9g/", 14,1) ' b = "," c = mid("SCALE: 1//142.9g/", 15,1) ' b = "9" d = a & b & c & d ' d = "142,9" i = cdbl(d) ' i = 142,9
Est-ce ça que tu voulais ???
------ Romans, logiciels, email, site personnel http://irolog.free.fr/joe.htm ------------------------------------------------------------------------------------
"greg" a écrit dans le message de news: 49285e17$0$28670$ | Bonjour, | | comment je peut récupérer le chiffre 142 et le 9 âpres le point merci | exemple | SCALE: 1//142.9g/ | |
dim a as string
dim b as string
dim c as string
dim d as string
dim i as double
a = mid("SCALE: 1//142.9g/", 11,3)
' a = "142"
a = mid("SCALE: 1//142.9g/", 14,1)
' b = ","
c = mid("SCALE: 1//142.9g/", 15,1)
' b = "9"
d = a & b & c & d
' d = "142,9"
i = cdbl(d)
' i = 142,9
Est-ce ça que tu voulais ???
------
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"greg" <bmouradian@club-internet.fr> a écrit dans le message de news:
49285e17$0$28670$7a628cd7@news.club-internet.fr...
| Bonjour,
|
| comment je peut récupérer le chiffre 142 et le 9 âpres le point merci
| exemple
| SCALE: 1//142.9g/
|
|
dim a as string dim b as string dim c as string dim d as string dim i as double a = mid("SCALE: 1//142.9g/", 11,3) ' a = "142"
a = mid("SCALE: 1//142.9g/", 14,1) ' b = "," c = mid("SCALE: 1//142.9g/", 15,1) ' b = "9" d = a & b & c & d ' d = "142,9" i = cdbl(d) ' i = 142,9
Est-ce ça que tu voulais ???
------ Romans, logiciels, email, site personnel http://irolog.free.fr/joe.htm ------------------------------------------------------------------------------------
"greg" a écrit dans le message de news: 49285e17$0$28670$ | Bonjour, | | comment je peut récupérer le chiffre 142 et le 9 âpres le point merci | exemple | SCALE: 1//142.9g/ | |
merci pour ton aide, le problème c'est que le 142,9 peut être 7,3 ou 70,4 ou 1100,7 alors avec mid je ne sais pas si peut être efficace
"LE TROLL" <le a écrit dans le message de news:
Bonjour,
dim a as string dim b as string dim c as string dim d as string dim i as double a = mid("SCALE: 1//142.9g/", 11,3) ' a = "142"
a = mid("SCALE: 1//142.9g/", 14,1) ' b = "," c = mid("SCALE: 1//142.9g/", 15,1) ' b = "9" d = a & b & c & d ' d = "142,9" i = cdbl(d) ' i = 142,9
Est-ce ça que tu voulais ???
------ Romans, logiciels, email, site personnel http://irolog.free.fr/joe.htm ------------------------------------------------------------------------------------ "greg" a écrit dans le message de news: 49285e17$0$28670$ | Bonjour, | | comment je peut récupérer le chiffre 142 et le 9 âpres le point merci | exemple | SCALE: 1//142.9g/ | |
merci pour ton aide,
le problème c'est que le 142,9 peut être 7,3 ou 70,4 ou 1100,7 alors avec
mid je ne sais pas si peut être efficace
"LE TROLL" <le troll@enfer.fr> a écrit dans le message de news:
uiT78xNTJHA.3668@TK2MSFTNGP03.phx.gbl...
Bonjour,
dim a as string
dim b as string
dim c as string
dim d as string
dim i as double
a = mid("SCALE: 1//142.9g/", 11,3)
' a = "142"
a = mid("SCALE: 1//142.9g/", 14,1)
' b = ","
c = mid("SCALE: 1//142.9g/", 15,1)
' b = "9"
d = a & b & c & d
' d = "142,9"
i = cdbl(d)
' i = 142,9
Est-ce ça que tu voulais ???
------
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"greg" <bmouradian@club-internet.fr> a écrit dans le message de news:
49285e17$0$28670$7a628cd7@news.club-internet.fr...
| Bonjour,
|
| comment je peut récupérer le chiffre 142 et le 9 âpres le point merci
| exemple
| SCALE: 1//142.9g/
|
|
merci pour ton aide, le problème c'est que le 142,9 peut être 7,3 ou 70,4 ou 1100,7 alors avec mid je ne sais pas si peut être efficace
"LE TROLL" <le a écrit dans le message de news:
Bonjour,
dim a as string dim b as string dim c as string dim d as string dim i as double a = mid("SCALE: 1//142.9g/", 11,3) ' a = "142"
a = mid("SCALE: 1//142.9g/", 14,1) ' b = "," c = mid("SCALE: 1//142.9g/", 15,1) ' b = "9" d = a & b & c & d ' d = "142,9" i = cdbl(d) ' i = 142,9
Est-ce ça que tu voulais ???
------ Romans, logiciels, email, site personnel http://irolog.free.fr/joe.htm ------------------------------------------------------------------------------------ "greg" a écrit dans le message de news: 49285e17$0$28670$ | Bonjour, | | comment je peut récupérer le chiffre 142 et le 9 âpres le point merci | exemple | SCALE: 1//142.9g/ | |
bahn po
greg a exprimé avec précision :
merci pour ton aide, le problème c'est que le 142,9 peut être 7,3 ou 70,4 ou 1100,7 alors avec mid je ne sais pas si peut être efficace
Si le point peut parfois être une virgule. Tu peux alors ajouter
txt = Replace(txt, ".", ",")
Jean-marc
greg wrote:
Bonjour,
comment je peut récupérer le chiffre 142 et le 9 âpres le point merci exemple SCALE: 1//142.9g/
Hello,
Ce dont tu as besoin, ce sont des fonctions de manipulations de chaines de caractères.
Tu trouveras dans la FAQ 2 articles consacrés au sujet (et qui contiennent la solution à ton problème): http://faq.vb.free.fr/index.php?question8 et http://faq.vb.free.fr/index.php?question7
Voir en particulier la description de Instr() ...
Pour en revenir à ton cas, ce qu'il te faut, c'est localiser le "." puis lire les digits à droite et à gauche. On réalise ça avec la fonction Instr (cf les 2 articles ci-dessus).
Je t'ai fait une petite fonction qui résoud ton cas :
Public Function GetAndSplit(ByVal s As String, _ ByVal sep As String, _ ByRef first As String, _ ByRef last As String) As Boolean Dim p As Long Dim saveP As Long Dim ret As Boolean Dim c As String
p = InStr(s, sep) saveP = p If p <> 1 Then ' read left digits p = p - 1 c = Mid$(s, p, 1) Do While p >= 1 If isDigit(c) Then first = c & first Else Exit Do End If p = p - 1 c = Mid$(s, p, 1) Loop ' now read right digits p = saveP p = p + 1 c = Mid$(s, p, 1) Do While p <= Len(s) If isDigit(c) Then last = last & c Else Exit Do End If p = p + 1 c = Mid$(s, p, 1) Loop If (first <> "") And (last <> "") Then ret = True End If End If
GetAndSplit = ret
End Function
Private Function isDigit(ByVal c As String) As Boolean If InStr("0123456789", c) <> 0 Then isDigit = True End If End Function
Et pour la tester, tu peux faire ceci :
Private Sub Command1_Click() Dim s As String Dim ret As Boolean Dim first As String Dim last As String
s = "SCALE: 1//142.9g/" ret = GetAndSplit(s, ".", first, last)
Debug.Print ret, first, last
End Sub
Tu verras que tu obtiens "142" dans first et "9" dans last.
Tu n'as plus qu'à convertir et à continuer.
Note: pour ce genre de parsing, tu peux aussi utiliser la technique des automates à états finis, décrits ici: http://faq.vb.free.fr/index.php?question3
comment je peut récupérer le chiffre 142 et le 9 âpres le point merci
exemple
SCALE: 1//142.9g/
Hello,
Ce dont tu as besoin, ce sont des fonctions de manipulations
de chaines de caractères.
Tu trouveras dans la FAQ 2 articles consacrés au sujet (et qui
contiennent la solution à ton problème):
http://faq.vb.free.fr/index.php?question8
et
http://faq.vb.free.fr/index.php?question7
Voir en particulier la description de Instr() ...
Pour en revenir à ton cas, ce qu'il te faut, c'est localiser
le "." puis lire les digits à droite et à gauche. On réalise
ça avec la fonction Instr (cf les 2 articles ci-dessus).
Je t'ai fait une petite fonction qui résoud ton cas :
Public Function GetAndSplit(ByVal s As String, _
ByVal sep As String, _
ByRef first As String, _
ByRef last As String) As Boolean
Dim p As Long
Dim saveP As Long
Dim ret As Boolean
Dim c As String
p = InStr(s, sep)
saveP = p
If p <> 1 Then
' read left digits
p = p - 1
c = Mid$(s, p, 1)
Do While p >= 1
If isDigit(c) Then
first = c & first
Else
Exit Do
End If
p = p - 1
c = Mid$(s, p, 1)
Loop
' now read right digits
p = saveP
p = p + 1
c = Mid$(s, p, 1)
Do While p <= Len(s)
If isDigit(c) Then
last = last & c
Else
Exit Do
End If
p = p + 1
c = Mid$(s, p, 1)
Loop
If (first <> "") And (last <> "") Then
ret = True
End If
End If
GetAndSplit = ret
End Function
Private Function isDigit(ByVal c As String) As Boolean
If InStr("0123456789", c) <> 0 Then
isDigit = True
End If
End Function
Et pour la tester, tu peux faire ceci :
Private Sub Command1_Click()
Dim s As String
Dim ret As Boolean
Dim first As String
Dim last As String
s = "SCALE: 1//142.9g/"
ret = GetAndSplit(s, ".", first, last)
Debug.Print ret, first, last
End Sub
Tu verras que tu obtiens "142" dans first et "9" dans last.
Tu n'as plus qu'à convertir et à continuer.
Note: pour ce genre de parsing, tu peux aussi utiliser la technique
des automates à états finis, décrits ici:
http://faq.vb.free.fr/index.php?question3
comment je peut récupérer le chiffre 142 et le 9 âpres le point merci exemple SCALE: 1//142.9g/
Hello,
Ce dont tu as besoin, ce sont des fonctions de manipulations de chaines de caractères.
Tu trouveras dans la FAQ 2 articles consacrés au sujet (et qui contiennent la solution à ton problème): http://faq.vb.free.fr/index.php?question8 et http://faq.vb.free.fr/index.php?question7
Voir en particulier la description de Instr() ...
Pour en revenir à ton cas, ce qu'il te faut, c'est localiser le "." puis lire les digits à droite et à gauche. On réalise ça avec la fonction Instr (cf les 2 articles ci-dessus).
Je t'ai fait une petite fonction qui résoud ton cas :
Public Function GetAndSplit(ByVal s As String, _ ByVal sep As String, _ ByRef first As String, _ ByRef last As String) As Boolean Dim p As Long Dim saveP As Long Dim ret As Boolean Dim c As String
p = InStr(s, sep) saveP = p If p <> 1 Then ' read left digits p = p - 1 c = Mid$(s, p, 1) Do While p >= 1 If isDigit(c) Then first = c & first Else Exit Do End If p = p - 1 c = Mid$(s, p, 1) Loop ' now read right digits p = saveP p = p + 1 c = Mid$(s, p, 1) Do While p <= Len(s) If isDigit(c) Then last = last & c Else Exit Do End If p = p + 1 c = Mid$(s, p, 1) Loop If (first <> "") And (last <> "") Then ret = True End If End If
GetAndSplit = ret
End Function
Private Function isDigit(ByVal c As String) As Boolean If InStr("0123456789", c) <> 0 Then isDigit = True End If End Function
Et pour la tester, tu peux faire ceci :
Private Sub Command1_Click() Dim s As String Dim ret As Boolean Dim first As String Dim last As String
s = "SCALE: 1//142.9g/" ret = GetAndSplit(s, ".", first, last)
Debug.Print ret, first, last
End Sub
Tu verras que tu obtiens "142" dans first et "9" dans last.
Tu n'as plus qu'à convertir et à continuer.
Note: pour ce genre de parsing, tu peux aussi utiliser la technique des automates à états finis, décrits ici: http://faq.vb.free.fr/index.php?question3
Un grand merci, un forum rapide et efficace c'est du jamais vu
Vrais il vaut mieux ce baser sur le point, au cas manquerez certain première caractère à la réception de la chaine.
j'ai peur que ce code ne puisse etre eficace
i = PortSerial.ReadLine i = (Mid(i, 11)) i = (CInt(Val(i)))
"Jean-marc" a écrit dans le message de news: 492925e3$0$2861$
greg wrote:
Bonjour,
comment je peut récupérer le chiffre 142 et le 9 âpres le point merci exemple SCALE: 1//142.9g/
Hello,
Ce dont tu as besoin, ce sont des fonctions de manipulations de chaines de caractères.
Tu trouveras dans la FAQ 2 articles consacrés au sujet (et qui contiennent la solution à ton problème): http://faq.vb.free.fr/index.php?question8 et http://faq.vb.free.fr/index.php?question7
Voir en particulier la description de Instr() ...
Pour en revenir à ton cas, ce qu'il te faut, c'est localiser le "." puis lire les digits à droite et à gauche. On réalise ça avec la fonction Instr (cf les 2 articles ci-dessus).
Je t'ai fait une petite fonction qui résoud ton cas :
Public Function GetAndSplit(ByVal s As String, _ ByVal sep As String, _ ByRef first As String, _ ByRef last As String) As Boolean Dim p As Long Dim saveP As Long Dim ret As Boolean Dim c As String
p = InStr(s, sep) saveP = p If p <> 1 Then ' read left digits p = p - 1 c = Mid$(s, p, 1) Do While p >= 1 If isDigit(c) Then first = c & first Else Exit Do End If p = p - 1 c = Mid$(s, p, 1) Loop ' now read right digits p = saveP p = p + 1 c = Mid$(s, p, 1) Do While p <= Len(s) If isDigit(c) Then last = last & c Else Exit Do End If p = p + 1 c = Mid$(s, p, 1) Loop If (first <> "") And (last <> "") Then ret = True End If End If
GetAndSplit = ret
End Function
Private Function isDigit(ByVal c As String) As Boolean If InStr("0123456789", c) <> 0 Then isDigit = True End If End Function
Et pour la tester, tu peux faire ceci :
Private Sub Command1_Click() Dim s As String Dim ret As Boolean Dim first As String Dim last As String
s = "SCALE: 1//142.9g/" ret = GetAndSplit(s, ".", first, last)
Debug.Print ret, first, last
End Sub
Tu verras que tu obtiens "142" dans first et "9" dans last.
Tu n'as plus qu'à convertir et à continuer.
Note: pour ce genre de parsing, tu peux aussi utiliser la technique des automates à états finis, décrits ici: http://faq.vb.free.fr/index.php?question3
Un grand merci, un forum rapide et efficace c'est du jamais vu
Vrais il vaut mieux ce baser sur le point, au cas manquerez certain première
caractère à la réception de la chaine.
j'ai peur que ce code ne puisse etre eficace
i = PortSerial.ReadLine
i = (Mid(i, 11))
i = (CInt(Val(i)))
"Jean-marc" <jm@nowhere.invalid> a écrit dans le message de news:
492925e3$0$2861$ba620e4c@news.skynet.be...
greg wrote:
Bonjour,
comment je peut récupérer le chiffre 142 et le 9 âpres le point merci
exemple
SCALE: 1//142.9g/
Hello,
Ce dont tu as besoin, ce sont des fonctions de manipulations
de chaines de caractères.
Tu trouveras dans la FAQ 2 articles consacrés au sujet (et qui
contiennent la solution à ton problème):
http://faq.vb.free.fr/index.php?question8
et
http://faq.vb.free.fr/index.php?question7
Voir en particulier la description de Instr() ...
Pour en revenir à ton cas, ce qu'il te faut, c'est localiser
le "." puis lire les digits à droite et à gauche. On réalise
ça avec la fonction Instr (cf les 2 articles ci-dessus).
Je t'ai fait une petite fonction qui résoud ton cas :
Public Function GetAndSplit(ByVal s As String, _
ByVal sep As String, _
ByRef first As String, _
ByRef last As String) As Boolean
Dim p As Long
Dim saveP As Long
Dim ret As Boolean
Dim c As String
p = InStr(s, sep)
saveP = p
If p <> 1 Then
' read left digits
p = p - 1
c = Mid$(s, p, 1)
Do While p >= 1
If isDigit(c) Then
first = c & first
Else
Exit Do
End If
p = p - 1
c = Mid$(s, p, 1)
Loop
' now read right digits
p = saveP
p = p + 1
c = Mid$(s, p, 1)
Do While p <= Len(s)
If isDigit(c) Then
last = last & c
Else
Exit Do
End If
p = p + 1
c = Mid$(s, p, 1)
Loop
If (first <> "") And (last <> "") Then
ret = True
End If
End If
GetAndSplit = ret
End Function
Private Function isDigit(ByVal c As String) As Boolean
If InStr("0123456789", c) <> 0 Then
isDigit = True
End If
End Function
Et pour la tester, tu peux faire ceci :
Private Sub Command1_Click()
Dim s As String
Dim ret As Boolean
Dim first As String
Dim last As String
s = "SCALE: 1//142.9g/"
ret = GetAndSplit(s, ".", first, last)
Debug.Print ret, first, last
End Sub
Tu verras que tu obtiens "142" dans first et "9" dans last.
Tu n'as plus qu'à convertir et à continuer.
Note: pour ce genre de parsing, tu peux aussi utiliser la technique
des automates à états finis, décrits ici:
http://faq.vb.free.fr/index.php?question3
Un grand merci, un forum rapide et efficace c'est du jamais vu
Vrais il vaut mieux ce baser sur le point, au cas manquerez certain première caractère à la réception de la chaine.
j'ai peur que ce code ne puisse etre eficace
i = PortSerial.ReadLine i = (Mid(i, 11)) i = (CInt(Val(i)))
"Jean-marc" a écrit dans le message de news: 492925e3$0$2861$
greg wrote:
Bonjour,
comment je peut récupérer le chiffre 142 et le 9 âpres le point merci exemple SCALE: 1//142.9g/
Hello,
Ce dont tu as besoin, ce sont des fonctions de manipulations de chaines de caractères.
Tu trouveras dans la FAQ 2 articles consacrés au sujet (et qui contiennent la solution à ton problème): http://faq.vb.free.fr/index.php?question8 et http://faq.vb.free.fr/index.php?question7
Voir en particulier la description de Instr() ...
Pour en revenir à ton cas, ce qu'il te faut, c'est localiser le "." puis lire les digits à droite et à gauche. On réalise ça avec la fonction Instr (cf les 2 articles ci-dessus).
Je t'ai fait une petite fonction qui résoud ton cas :
Public Function GetAndSplit(ByVal s As String, _ ByVal sep As String, _ ByRef first As String, _ ByRef last As String) As Boolean Dim p As Long Dim saveP As Long Dim ret As Boolean Dim c As String
p = InStr(s, sep) saveP = p If p <> 1 Then ' read left digits p = p - 1 c = Mid$(s, p, 1) Do While p >= 1 If isDigit(c) Then first = c & first Else Exit Do End If p = p - 1 c = Mid$(s, p, 1) Loop ' now read right digits p = saveP p = p + 1 c = Mid$(s, p, 1) Do While p <= Len(s) If isDigit(c) Then last = last & c Else Exit Do End If p = p + 1 c = Mid$(s, p, 1) Loop If (first <> "") And (last <> "") Then ret = True End If End If
GetAndSplit = ret
End Function
Private Function isDigit(ByVal c As String) As Boolean If InStr("0123456789", c) <> 0 Then isDigit = True End If End Function
Et pour la tester, tu peux faire ceci :
Private Sub Command1_Click() Dim s As String Dim ret As Boolean Dim first As String Dim last As String
s = "SCALE: 1//142.9g/" ret = GetAndSplit(s, ".", first, last)
Debug.Print ret, first, last
End Sub
Tu verras que tu obtiens "142" dans first et "9" dans last.
Tu n'as plus qu'à convertir et à continuer.
Note: pour ce genre de parsing, tu peux aussi utiliser la technique des automates à états finis, décrits ici: http://faq.vb.free.fr/index.php?question3
comment je peut récupérer le chiffre 142 et le 9 âpres le point merci exemple SCALE: 1//142.9g/
Bonjour, Et ce genre de prog: dim i as integer: dim tot as string for i = 2 to len(SCALE) if (asc(microsoft.visualbasic.left(scale,i,1)<106 and_asc(microsoft.visualbasic.left(scale,i,1)>95)'c'est 1 chiffre or asc(microsoft.visualbasic.left(scale,i,1)0'c'est 1 point tot &= microsoft.visualbasic.left(scale,i,1) end if next
résultat==> tot = 142.9
Autre méthode: obtenir la position du point par instr(scale,".") puis chercher les chiffres avant et après cette position en utilisant la méthode ci-dessus. Au boulot ! -- Jacques dit Jacquouille
greg a écrit :
Bonjour,
comment je peut récupérer le chiffre 142 et le 9 âpres le point merci
exemple
SCALE: 1//142.9g/
Bonjour,
Et ce genre de prog:
dim i as integer: dim tot as string
for i = 2 to len(SCALE)
if (asc(microsoft.visualbasic.left(scale,i,1)<106
and_asc(microsoft.visualbasic.left(scale,i,1)>95)'c'est 1 chiffre
or asc(microsoft.visualbasic.left(scale,i,1)0'c'est 1 point
tot &= microsoft.visualbasic.left(scale,i,1)
end if
next
résultat==> tot = 142.9
Autre méthode: obtenir la position du point par instr(scale,".")
puis chercher les chiffres avant et après cette position en
utilisant la méthode ci-dessus.
Au boulot !
--
Jacques dit Jacquouille
comment je peut récupérer le chiffre 142 et le 9 âpres le point merci exemple SCALE: 1//142.9g/
Bonjour, Et ce genre de prog: dim i as integer: dim tot as string for i = 2 to len(SCALE) if (asc(microsoft.visualbasic.left(scale,i,1)<106 and_asc(microsoft.visualbasic.left(scale,i,1)>95)'c'est 1 chiffre or asc(microsoft.visualbasic.left(scale,i,1)0'c'est 1 point tot &= microsoft.visualbasic.left(scale,i,1) end if next
résultat==> tot = 142.9
Autre méthode: obtenir la position du point par instr(scale,".") puis chercher les chiffres avant et après cette position en utilisant la méthode ci-dessus. Au boulot ! -- Jacques dit Jacquouille
Modeste
Bonsour® greg avec ferveur ;o))) vous nous disiez :
comment je peut récupérer le chiffre 142 et le 9 âpres le point merci exemple SCALE: 1//142.9g/