Pequeño problema en Visual Basic

Hola tengo el siguiente codigo que me coge el texto de un textbox(admite hasta 90 caracteres el textbox) y me lo divide en tres cadenas de max. 30 caracteres, lo que pasa ke la segunda cadena siempre me la divide mal y no se como solucionarlo.


Private Sub Command1_Click()
DATOS.i = DATOS.i + 1

If Len(Form3.Text1.Text) <= 30 Then
DATOS.TREBALL(DATOS.i, 1) = Form3.Text1.Text
DATOS.TREBALL(DATOS.i, 2) = ""
DATOS.TREBALL(DATOS.i, 3) = ""
ElseIf Len(Form3.Text1.Text) <= 60 Then
DATOS.TREBALL(DATOS.i, 1) = Left(Form3.Text1.Text, 30)
DATOS.TREBALL(DATOS.i, 2) = Mid(Form3.Text1.Text, 31, Len(Form3.Text1.Text))
DATOS.TREBALL(DATOS.i, 3) = ""
Else
DATOS.TREBALL(DATOS.i, 1) = Mid(Form3.Text1.Text, 1, 30)
DATOS.TREBALL(DATOS.i, 2) = Mid(Form3.Text1.Text, 31, 60)
DATOS.TREBALL(DATOS.i, 3) = Mid(Form3.Text1.Text, 61, Len(Form3.Text1.Text))
End If

End Sub
hace 3 años que no uso visual basic pero puede que el problema sea que le estás indicando longitud 60 en vez de 30


DATOS.TREBALL(DATOS.i, 2) = Mid(Form3.Text1.Text, 31, 30)

en vez de

DATOS.TREBALL(DATOS.i, 2) = Mid(Form3.Text1.Text, 31, 60)


EDIT: por cierto, el tercer mid tambien deberías modificarlo, porque creo que estás cogiendo 90 caracteres desde el 61, solo que como el string ya acaba te aparecerá bien por pantalla

deberías poner


DATOS.TREBALL(DATOS.i, 3) = Mid(Form3.Text1.Text, 61, 30)

http://msdn2.microsoft.com/en-US/library/05e63829(VS.80).aspx
Muchas gracias, era eso, no me habia dado cuenta, jeje [tomaaa]

Bye
2 respuestas