aquí dejo el codigo y el proyecto de un validador de rut para Chile... sirve mucho para aplicaciones de faturación, ingreso de personas.. nose... lo que se les ocurra...
bueno espero que sea de ayuda...
si lo mejoran sería genial... y ojala puedan compartir un update...
primero deben agregar la siguiente variable como cabezera en el codigo...
aqui ta la funcion:
PRIVATE FUNCTION chequeRut(Rut_Valida AS String, Dig_Rut AS String)
DIM Tmp_Suma AS Integer
DIM Tmp_Largo AS Integer
DIM Tmp_Constante AS Integer
DIM Tmp_rut AS String
DIM Tmp_digito AS Integer
DIM Tmp_text_dig AS String
Tmp_text_dig = ""
Tmp_Constante = 1
Tmp_Largo = Len(Trim(Rut_Valida))
Tmp_rut = Val(Trim(Rut_Valida))
DO UNTIL Tmp_Largo = 0
Tmp_Constante = Tmp_Constante + 1
Tmp_Suma = Tmp_Suma + Mid(Tmp_rut, Tmp_Largo, 1) * Tmp_Constante
IF Tmp_Constante = 7 THEN
Tmp_Constante = 1
END IF
Tmp_Largo = Tmp_Largo - 1
LOOP
Tmp_digito = Tmp_Suma MOD 11
Tmp_text_dig = Str(11 - Tmp_digito)
IF Val(Tmp_text_dig) = 11 THEN
Tmp_text_dig = "0"
END IF
IF Val(Tmp_text_dig) = 10 THEN
Tmp_text_dig = "K"
END IF
IF Trim(Tmp_text_dig) <> Trim(Dig_Rut) THEN
Message.Error("El rut ingresado no es valido")
Pub_valida = FALSE
END IF
END
DIM Tmp_Suma AS Integer
DIM Tmp_Largo AS Integer
DIM Tmp_Constante AS Integer
DIM Tmp_rut AS String
DIM Tmp_digito AS Integer
DIM Tmp_text_dig AS String
Tmp_text_dig = ""
Tmp_Constante = 1
Tmp_Largo = Len(Trim(Rut_Valida))
Tmp_rut = Val(Trim(Rut_Valida))
DO UNTIL Tmp_Largo = 0
Tmp_Constante = Tmp_Constante + 1
Tmp_Suma = Tmp_Suma + Mid(Tmp_rut, Tmp_Largo, 1) * Tmp_Constante
IF Tmp_Constante = 7 THEN
Tmp_Constante = 1
END IF
Tmp_Largo = Tmp_Largo - 1
LOOP
Tmp_digito = Tmp_Suma MOD 11
Tmp_text_dig = Str(11 - Tmp_digito)
IF Val(Tmp_text_dig) = 11 THEN
Tmp_text_dig = "0"
END IF
IF Val(Tmp_text_dig) = 10 THEN
Tmp_text_dig = "K"
END IF
IF Trim(Tmp_text_dig) <> Trim(Dig_Rut) THEN
Message.Error("El rut ingresado no es valido")
Pub_valida = FALSE
END IF
END
de esta forma llaman a la funcion con un button por ejemplo:
PUBLIC SUB Button1_Click()
Pub_valida = TRUE
chequeRut(Trim(TextBox1.Text), Trim(UCase(TextBox2.Text)))
IF Pub_valida = FALSE THEN
'instruccion en el caso que el rut ingresado sea invalido
TextBox1.Text = ""
TextBox2.Text = ""
TextBox1.SetFocus
ELSE
'instruccion en el caso que el rut sea valido
Message.Info("El rut ingresado es correcto!!! " & TextBox1.text & "-" & TextBox2.Text)
Button2.Visible = TRUE
END IF
END
Pub_valida = TRUE
chequeRut(Trim(TextBox1.Text), Trim(UCase(TextBox2.Text)))
IF Pub_valida = FALSE THEN
'instruccion en el caso que el rut ingresado sea invalido
TextBox1.Text = ""
TextBox2.Text = ""
TextBox1.SetFocus
ELSE
'instruccion en el caso que el rut sea valido
Message.Info("El rut ingresado es correcto!!! " & TextBox1.text & "-" & TextBox2.Text)
Button2.Visible = TRUE
END IF
END
bueno y por ultimo aqui dejo la descarga del formulario funcionando...
saludos espero sea de ayuda...
rut_chile.tar.gz | ||
Descripción: | funcion para verificar el rut de Chile... | Descargar |
Nombre del archivo: | rut_chile.tar.gz | |
Tamaño: | 9.55 KB | |
Descargado: | 133 veces |
rut_chile.tar.gz | ||
Descripción: | funcion para verificar el rut de Chile... | Descargar |
Nombre del archivo: | rut_chile.tar.gz | |
Tamaño: | 9.55 KB | |
Descargado: | 133 veces |
rut_chile.tar.gz | ||
Descripción: | funcion para verificar el rut de Chile... | Descargar |
Nombre del archivo: | rut_chile.tar.gz | |
Tamaño: | 9.55 KB | |
Descargado: | 133 veces |