Pero lo que necesito hacer ahora es validar que solo sean numeros.
Como esto es un trabajo nos limitaron a que solo utilizaramos el ciclo FOR para esta validacion, estoy realizando esto.
Código vb.net:
Ver original
'******************PROBLEMAS************************* switch = 0 For k = 1 To If switch = 1 Then Exit Sub End If For i = 0 To 9 n = Mid(txtrut.Text, k, k) If i = n Then switch = 0 i = 100 Else switch = 1 End If Next Next '*****************************************************
Lo que intento hacer es rescartar 1 por 1 los numeros del digito y comprabar si esa 0,1,2,3,4,5,6,7,8,9.
si es numero es encontrado la idea es romper el ciclo. Si el numero no se encuentra que salga con switch en 1 y lance el error.
Espero que me puedan ayudar ya el codigo no funciona como debiese.
-------------------------------
CODIGO COMPLETO
-------------------------------
Código vb.net:
Ver original
Public Class Form1 Private Sub btnvalida_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnvalida.Click 'creamos las variables que vamos a usar Dim digito As Integer Dim dv As String Dim dvreal As String Dim Contador As Integer Dim Multiplo As Integer Dim Acumulador As Integer Dim largo As Integer Dim i As Integer Dim n As Integer Dim k As Integer Dim switch As Integer largo = Len(txtrut.Text) If largo < 8 Then Exit Sub End If '******************PROBLEMAS************************* switch = 0 For k = 1 To If switch = 1 Then Exit Sub End If For i = 0 To 9 n = Mid(txtrut.Text, k, k) If i = n Then switch = 0 i = 100 Else switch = 1 End If Next Next '***************************************************** Contador = 2 Acumulador = 0 While digito <> 0 Multiplo = (digito Mod 10) * Contador Acumulador = Acumulador + Multiplo digito = digito \ 10 Contador = Contador + 1 If Contador = 8 Then Contador = 2 End If End While digito = 11 - (Acumulador Mod 11) dv = CStr(digito) If digito = 10 Then dv = "K" If digito = 11 Then dv = "0" If dv = dvreal Then Else End If End Sub End Class