Foros del Web » Programación para mayores de 30 ;) » .NET »

formato rut chileno en textbox visual 2010

Estas en el tema de formato rut chileno en textbox visual 2010 en el foro de .NET en Foros del Web. Estimado: estoy recién comenzando a realizar una pequeña aplicación para registrar pacientes y camas de un pensionado en un hospital y necesito su ayuda o ...
  #1 (permalink)  
Antiguo 25/07/2013, 15:59
 
Fecha de Ingreso: enero-2011
Mensajes: 1
Antigüedad: 13 años, 3 meses
Puntos: 0
Información formato rut chileno en textbox visual 2010

Estimado:
estoy recién comenzando a realizar una pequeña aplicación para registrar pacientes y camas de un pensionado en un hospital y necesito su ayuda o consejo para solucionar el tema, mas que la validación del rut, sino del formato del textbox con el rut chileno, he tenido varias validaciones tanto como para que me de el dv(dígito verificador) automáticamente o digitar el dv en el textbox.(esto lo hago todo en un textbox).-
muy bien el tema es el siguiente:
teniendo la caja de textbox, valida los rut, tanto con los 8 primeros dígitos y su dv, o con los 7 primeros dígitos con su dv.
bien, mi problema, y me pongo en el lado del usuario es validar o limitar el ingreso de datos a esta caja, aplico que en la caja de texto solo me valide la digitación de numero del 0-9 la "k" minúscula y "k" mayúscula y una cantidad de 10 caracteres como máximo(maxlength)
había pensado reemplazar el textbox por un maskedtextbox y darle la siguiente mascara 00000000-0, el cual me deja que valide ingresar solo numero y evito asi cualquier otro caracter que pueda truncar mi programa.-
pero con todo esto por ejemplo puedo digitar esto y se me caerá el programa:
ejemplo:
dentro del textbox -------- se cae el programa
1----9 se cae el programa
16136476- se cae el programa etc
16136-475- se cae el programa
y así una seguidilla de combinaciones que estén dentro de estos caracteres y que no cumplen con el modelo del rut, se va a caer, me entienden?
que tendría que mejorar, mi código de validación del rut, la caja de textboc o maskedtexbox?
y existe la posibilidad de que en maskedtextbox al dejarlo con la mascara 00000000-0 el cual se muestra ________-_ y al ingresar un rut con 8 dígitos ejem 16136476-2 cumple con la condición y valida el rut, pero al ingresar un rut de 7 dígitos ejemplo 5849756-8 me quedaría así: 5849756_-8
como hago que al ingresar ese rut automáticamente se mueva después del guion? y quedara 5849756-8
dejo mi código de validación de rut
Código:
 Module validarut2
 Public Function valida_rut(ByVal ci As String) As Boolean
 Dim cont, i, sum As Integer
 Dim car, digito, dig, rut As String
 Dim largo As Integer
 largo = Len(ci)
 cont = 2
 rut = Mid(ci, 1, largo - 2)
 digito = Mid(ci, largo, 1)
 For i = Len(rut) To 1 Step -1
 car = Mid(rut, i, 1)
 sum = sum + CInt(car) * cont
 cont = cont + 1
 If cont = 8 Then
 cont = 2
 End If
 Next
 dig = 11 - (sum Mod 11)
 If dig = 10 And UCase(digito) = "K" Then
 valida_rut = True
 ElseIf dig = 11 And digito = 0 Then
 valida_rut = True
 ElseIf CStr(dig) = digito Then
 valida_rut = True
 Else
 valida_rut = False
 End If
 End Function
End Module
Y Como llamo a la validacion con un boton
Código:
 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnbuscar.Click
 Dim veri As Boolean
 If txtrut.Text <> "" Then
 veri = valida_rut(txtrut.Text)
 If veri = False Then
 MsgBox("Ingrese rut valido")
 txtrut.Text = ""
 ElseIf veri = True Then
 Dim consulta sql.....................

bueno espero buena onda y ojala me puedan ayudar con esta duda.-

atte

Esteban

Etiquetas: formato, rut, sql, textbox, visual
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:38.