aca les va un codigo chiko de validacion de rut; pa los que cachan no mas como implementarlos...
Ojala me puedan ayudar a mejorarlo ya que lo que quiero lograr es anotar el rut de cualquier forma y al validarlo me lo muestre en un texbox nuevo con caracteres en el formato de salid xx.xxx.xxx-x a ver que sale ....
ACA EL CODIGO:
Ojala me puedan ayudar a mejorarlo ya que lo que quiero lograr es anotar el rut de cualquier forma y al validarlo me lo muestre en un texbox nuevo con caracteres en el formato de salid xx.xxx.xxx-x a ver que sale ....
ACA EL CODIGO:
Código [Seleccionar]
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'MENSAJE CUANDO NO SE ESCRIBE RUT
If (TextBox1.Text = "") And (TextBox2.Text = "") Then
MsgBox("No ha ingresado un R.U.T.", vbCritical, "Atención")
TextBox1.Text = ""
End If
'VALIDAR RUT
Dim i As Integer
Dim X As Integer
Dim total As Integer
Dim totaltotal As Integer
Dim por As Integer
Dim rut As Integer
Dim guion As Integer
Dim nrut As Integer
Dim posicion As Integer
Dim valor As Integer
Dim verdad As Boolean
i = 1
total = 0
totaltotal = 0
rut = Len(TextBox1.Text)
posicion = rut
por = 2
If Val(TextBox1.Text) = 15662171 And Val(TextBox2.Text) = 4 Then
MsgBox("ESTE ES EL RUT DEL JAVIER PIZARRO", vbCritical, "ATENCION")
End If
'RECORRER EL R.U.T.
For i = 1 To rut
If por = 8 Then
por = 2
End If
total = por * Val(Mid(TextBox1.Text, posicion, 1))
posicion = posicion - 1
totaltotal = totaltotal + total
por = por + 1
Next
valor = totaltotal Mod 11
guion = Int(11 - valor)
If guion = Val(Mid(TextBox2.Text, 1, 1)) Or guion = 10 And (Mid(TextBox2.Text, 1, 1)) = "k" Or guion = 11 And (Mid(TextBox2.Text, 1, 1)) = "0" Or guion = 10 And (Mid(TextBox2.Text, 1, 1)) = "K" Then
verdad = True
If MsgBox("Rut valido ¿Desea Ingresar otro?", vbQuestion + vbYesNo, "Ingresar Otro") = vbYes Then
TextBox1.Text = ""
TextBox2.Text = ""
TextBox1.Focus()
Else
End
End If
Else
MsgBox(" El R.U.T. ingresado NO es Valido", vbCritical, "Error.....")
verdad = False
TextBox1.Text = ""
TextBox2.Text = ""
TextBox1.Focus()
End If
End Sub
Private Sub Button1_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button1.MouseMove
Label3.Text = "Click aquí para validar el R.U.T."
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
TextBox1.Text = ""
TextBox2.Text = ""
TextBox1.Focus()
End Sub
Private Sub Label2_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Label2.MouseMove
Label3.Text = ""
End Sub
Private Sub TextBox1_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TextBox1.MouseMove
Label1.Text = "Ingrese aquí su R.U.T."
If Len(TextBox1.Text) > 0 And Len(TextBox1.Text) < 6 Then
MsgBox(" Ingrese minimo 6 digitos", vbCritical, "Error.....")
TextBox1.Text = ""
TextBox2.Text = ""
TextBox1.Focus()
End If
End Sub
Private Sub Form1_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseMove
Label3.Text = ""
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
End
End Sub
Private Sub TextBox1_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
Dim keyAscii As Integer
Dim largo As Integer
If (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> 13 Then
KeyAscii = 0
End If
If KeyAscii = 13 Then
TextBox2.Focus()
largo = Len(TextBox1.Text)
If largo < 7 Then
MsgBox("Ingrese minimo 7", vbCritical, "Alerta")
TextBox1.Text = ""
TextBox2.Text = ""
TextBox1.Focus()
End If
End If
largo = Len(TextBox1.Text)
If largo > 9 Then
MsgBox("Ingrese maximos 9 digitos", vbCritical, "Alerta")
End If
End Sub
Private Sub TextBox2_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox2.KeyPress
Dim corto As Integer
Dim KeyAscii As Integer
If (KeyAscii < 48) Or (KeyAscii > 57) And (KeyAscii <> 75) And (KeyAscii <> 107) Then
KeyAscii = 0
End If
corto = Len(TextBox2.Text)
If corto > 1 Then
MsgBox("ingrese solo un caracter (0,1 ,2 , 3, 4, 5, 6, 7, 8, 9, k)", vbCritical, "Alerta")
TextBox1.Text = ""
TextBox2.Text = ""
TextBox1.Focus()
End If
End Sub
End Class