CLR: .Net / Mono / Boo / Otros CLR > VB .NET

 El Sub String No Me Deja Almasenarlo

(1/2) > >>

JosPonce:
El sub String no me deja almasenarlo

Lo que quiero es sacar solo una parte de la cadena y convertirla en entero
q estara mal?


dim i as interger = 8

dim chaDe1 as String

For largo = Len(rut) To 0 Step -1  
 'el largo hasta llegar a 0 en descenso 1 en 1


            chaDe1 = rut.Substring(i, largo)    
         i = i - 1
            Contiene1Digito = Convert.ToInt32(chaDe1)

' es aqui donde saco solo una parte de al cadena y la dejo en chaDe1

ArKaNtOs:
1ero esto es sobre vb6 hay un subforo sobre vb.net
   http://foros.solocodigo.com/index.php?showforum=53
2do no se entiende lo que preguntas ¿Que es lo que quieres hacer?
substring saca un pedazo de una cadena
3.- que contiene la variable rut

bueno cuando fromules bien tu pregunta, posteala antes no

JosPonce:
asi es quiero una parte de el string rut
y dejarlo en chaDe1 que es de el mismo tipo comprendes

ArKaNtOs:
oki ;)
pero lo que quiero saber es que contiene rut, o te marca un error o que onda, xq de ahi esta bien

JosPonce:
si es un error en TE

es este
Excepción no controlada del tipo 'System.ArgumentOutOfRangeException' en mscorlib.dll

Información adicional: El índice y la longitud deben hacer referencia a una ubicación en la cadena.

pero  yo encuentro que esta bien...

por lo menos en lo visual

este es el codigo cmopleto

    Function ValidarRut(ByVal rut As String, ByVal dv As String) As Boolean
        Dim numero = 2
        Dim numero2 = 2
        Dim largo As Integer
        Dim i As Integer



        i = 8
        For largo = Len(rut) To 0 Step -1    'el largo hasta llegar a 1 en descenso 1 en 1


            chaDe1 = rut.Substring(i, largo)

            i = i - 1
            Contiene1Digito = Convert.ToInt32(chaDe1)

            If largo = 3 Then

                ContineResultado = ContineResultado + (Contiene1Digito * numero2)
                numero2 = numero2 + 1
            Else
                ContineResultado = ContineResultado + (Contiene1Digito * numero)
                numero = numero + 1
            End If


        Next
        ContineResultado = ContineResultado Mod 11
        ContineResultado = ContineResultado - 11

        If Convert.ToInt32(dv) = ContineResultado Then
            Return True
        Else
            Return False
        End If


    End Function

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa