• Domingo 22 de Diciembre de 2024, 19:57

Autor Tema:  El Sub String No Me Deja Almasenarlo  (Leído 4904 veces)

JosPonce

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
El Sub String No Me Deja Almasenarlo
« en: Miércoles 13 de Septiembre de 2006, 21:54 »
0
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

  • Miembro de PLATA
  • *****
  • Mensajes: 1253
  • Nacionalidad: mx
    • Ver Perfil
Re: El Sub String No Me Deja Almasenarlo
« Respuesta #1 en: Miércoles 13 de Septiembre de 2006, 22:45 »
0
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

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: El Sub String No Me Deja Almasenarlo
« Respuesta #2 en: Miércoles 13 de Septiembre de 2006, 22:56 »
0
asi es quiero una parte de el string rut
y dejarlo en chaDe1 que es de el mismo tipo comprendes

ArKaNtOs

  • Miembro de PLATA
  • *****
  • Mensajes: 1253
  • Nacionalidad: mx
    • Ver Perfil
Re: El Sub String No Me Deja Almasenarlo
« Respuesta #3 en: Miércoles 13 de Septiembre de 2006, 23:02 »
0
oki ;)
pero lo que quiero saber es que contiene rut, o te marca un error o que onda, xq de ahi esta bien

JosPonce

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: El Sub String No Me Deja Almasenarlo
« Respuesta #4 en: Miércoles 13 de Septiembre de 2006, 23:10 »
0
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

ArKaNtOs

  • Miembro de PLATA
  • *****
  • Mensajes: 1253
  • Nacionalidad: mx
    • Ver Perfil
Re: El Sub String No Me Deja Almasenarlo
« Respuesta #5 en: Miércoles 13 de Septiembre de 2006, 23:20 »
0
si el error te lo da aqui:
 chaDe1 = rut.Substring(i, largo)
prueba viendo que tiene en ese momento rut
o si no me imagino que i=8 es porque la cadena puede tener mas o menos 8 caracteres porque no le haces asi:
i=len(rut) - 1
y lo checas
si no me avisas

JosPonce

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: El Sub String No Me Deja Almasenarlo
« Respuesta #6 en: Miércoles 13 de Septiembre de 2006, 23:27 »
0
chaDe1 = Nothing

ArKaNtOs

  • Miembro de PLATA
  • *****
  • Mensajes: 1253
  • Nacionalidad: mx
    • Ver Perfil
Re: El Sub String No Me Deja Almasenarlo
« Respuesta #7 en: Miércoles 13 de Septiembre de 2006, 23:33 »
0
yo te decia que hicieras algo asi
For largo = Len(rut) To 1 Step -1 'el largo hasta llegar a 1 en descenso 1 en 1


chaDe1 = rut.Substring(largo - 1, largo)

porque por lo que veo evaluabas caracter a caracter no?
ahora otra cosa que te pregunte es que contenia rut porque imaginate si rut era menor de 8 caracteres siempre te iba a dar nada