Como puedo recorrer una cadena string en visual basic
Hola es que estoy hciendo lo de captura de datos de una bscula y me esta arrojando en una vriable tipo string el valor pero me lo esta arrojando muchas veces entonces necesito recorrer la cadena hasta el primer valor 0.50kg ahi cortarlo pero no se como hacerlo alguien me puede ayudar??
Podrías poner un ejemplo de como te llega esa cadena de caracteres? Esto va a servir para poder ayudarte en forma más precisa.
Saludos
Saludos
En una caja de texto me dijitan n caracteres y en alguna parte de esa cadena hay un signo $, necesito copiar en una variable todo lo que haya antes de ese signo $, como puedo hacer esto??
Hola, puedes hacerlo usando la función Mid, para obtener una subcadena dentro de otra y la función Instr que te devuelve la posición donde comienza una cadena dentro de otra, asi:
Mid$(Text1.Text, 1, InStr(1, Text1.Text, "$") - 1)
Mid$(Text1.Text, 1, InStr(1, Text1.Text, "$") - 1)
Si pero digamos yo tengo la caden 1.50kgh12333 y necesito guardar en una variable o en un objeto lo que sea solo 1.50kg, con que funcion puedo hacerlo. porque primero me toca ir recorriendo la cadena, guardandola en algo un arreglo o matriz, hasta que encuentre la g. pero no se como hacerlo??
y por qué no buscas en lugar del $ las letras kg en la cadena, así:
Mid$(Text1.Text, 1, InStr(1, UCase$(Text1.Text), "KG") - 1)
Ahora, si te quieres complicar más la vida recorriendo la cadena caracter por caracter para sacar el peso, lo puedes hacer así:
Private Sub Command1_Click()
Dim lnContador As Integer
Dim lsPeso As String
lsPeso = ""
For lnContador = 1 To Len(Text1.Text)
If UCase$(Mid$(Text1.Text, lnContador, 1)) = "K" Then
Exit For
Else
lsPeso = lsPeso & Mid$(Text1.Text, lnContador, 1)
End If
Next
MsgBox lsPeso
End Sub
Mid$(Text1.Text, 1, InStr(1, UCase$(Text1.Text), "KG") - 1)
Ahora, si te quieres complicar más la vida recorriendo la cadena caracter por caracter para sacar el peso, lo puedes hacer así:
Private Sub Command1_Click()
Dim lnContador As Integer
Dim lsPeso As String
lsPeso = ""
For lnContador = 1 To Len(Text1.Text)
If UCase$(Mid$(Text1.Text, lnContador, 1)) = "K" Then
Exit For
Else
lsPeso = lsPeso & Mid$(Text1.Text, lnContador, 1)
End If
Next
MsgBox lsPeso
End Sub
