Como puedo recorrer una cadena string en visual basic

srodrigueza
21 de Abril del 2006
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??

mvallejos
21 de Abril del 2006
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

srodrigueza
21 de Abril del 2006
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??

Rosa
21 de Abril del 2006
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)

srodrigueza
21 de Abril del 2006
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??

Rosa
21 de Abril del 2006
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