Validador de Rut para Chile en Gambas2
hola que tal 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...
(Rut es el número identificador de cada persona en Chile, así como el D.N.I de España, lo cual no significa que esta función sirva para españa...)
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...
PRIVATE Pub_valida AS Boolean
Aquí esta la función...
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
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
Aquí les dejo el link de descarga... espero que les sea de ayuda... saludos nos venom!
Validador de Rut Chile Gambas2
(Rut es el número identificador de cada persona en Chile, así como el D.N.I de España, lo cual no significa que esta función sirva para españa...)
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...
PRIVATE Pub_valida AS Boolean
Aquí esta la función...
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
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
Aquí les dejo el link de descarga... espero que les sea de ayuda... saludos nos venom!
Validador de Rut Chile Gambas2
Comentarios
Publicar un comentario