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

Comentarios

Entradas populares de este blog

Redimensionar imágenes masivamente en Linux