iLerc Posted November 29, 2011 Report Share Posted November 29, 2011 eso necesito imprementar o crear un validador de rut el formato del rut es xx.xxx.xxx-x con puntos, onda ingreso el rut y al precionar un button que diga rut valio o no valido, espero que me ayuden de ante mano gracias Link to comment Share on other sites More sharing options...
Ra Posted November 29, 2011 Report Share Posted November 29, 2011 En todos los lenguajeshttp://www.dcc.uchile.cl/~mortega/microcodigos/validarrut/ SAlu2. Link to comment Share on other sites More sharing options...
iLerc Posted November 29, 2011 Author Report Share Posted November 29, 2011 (edited) En todos los lenguajeshttp://www.dcc.uchil...gos/validarrut/ SAlu2.si pero como lo impremento a un button eso es lo q no entiendo Edited November 29, 2011 by iLerc Link to comment Share on other sites More sharing options...
rkstro Posted November 30, 2011 Report Share Posted November 30, 2011 En todos los lenguajeshttp://www.dcc.uchil...gos/validarrut/ SAlu2.si pero como lo impremento a un button eso es lo q no entiendoSi te fijas esa funcion devuelve el caracter del digito verificador, entonces lo que debes hacer es que en el evento de presionar el boton se llame a esa funcion. que tome los datos del textBox, y comparas el valor que la funcion devolvio con el digito verificador que puso el usuario. Si coinciden estonces esta bien Link to comment Share on other sites More sharing options...
iLerc Posted November 30, 2011 Author Report Share Posted November 30, 2011 Ya... pero algo a prueba de :tonto: si pones el codigo en c# te lo agradeceria Link to comment Share on other sites More sharing options...
rkstro Posted November 30, 2011 Report Share Posted November 30, 2011 Ya... pero algo a prueba de :tonto: si pones el codigo en c# te lo agradeceriaLa funcion en C# esta en la pagina, y el manejo del evento onClick o como se llame en C# no tengo idea pues no se C# y supuse que si estabas preguntado, te manejabas de manera basica en el tema, solo que no entendias esto especifico, asi que si quieres codigo para manejar el evento.... no soy la persona indicada :tonto: Link to comment Share on other sites More sharing options...
iLerc Posted November 30, 2011 Author Report Share Posted November 30, 2011 Ya... pero algo a prueba de :tonto: si pones el codigo en c# te lo agradeceriaLa funcion en C# esta en la pagina, y el manejo del evento onClick o como se llame en C# no tengo idea pues no se C# y supuse que si estabas preguntado, te manejabas de manera basica en el tema, solo que no entendias esto especifico, asi que si quieres codigo para manejar el evento.... no soy la persona indicada :tonto: Ok, gracias de todas formas! :kicking: Link to comment Share on other sites More sharing options...
cañangasñangas Posted November 30, 2011 Report Share Posted November 30, 2011 a ver primero que todo existen 2 tipos de rut x.xxx.xxx-xxx.xxx.xxx-x que a su vez es: xxxxxxxxxxxxxxxxx por lo tanto: bool validarRut(String rut){ bool ret = true; int largo = rut.Length; if(largo >= 8 && largo <= 9){ for(int i=0; i<largo; i++){ if(rut[i] != "0" || rut[i] != "1" || rut[i] != "2" || rut[i] != "3" || rut[i] != "4" || rut[i] != "5" || rut[i] != "6" || rut[i] != "7" || rut[i] != "8" || rut[i] != "9" || rut[i] != "k"){ ret = false; break; } } } return ret; } Link to comment Share on other sites More sharing options...
Ra Posted November 30, 2011 Report Share Posted November 30, 2011 (edited) a ver primero que todo existen 2 tipos de rut x.xxx.xxx-xxx.xxx.xxx-x que a su vez es: xxxxxxxxxxxxxxxxx por lo tanto: bool validarRut(String rut){ bool ret = true; int largo = rut.Length; if(largo >= 8 && largo <= 9){ for(int i=0; i<largo; i++){ if(rut[i] != "0" || rut[i] != "1" || rut[i] != "2" || rut[i] != "3" || rut[i] != "4" || rut[i] != "5" || rut[i] != "6" || rut[i] != "7" || rut[i] != "8" || rut[i] != "9" || rut[i] != "k"){ ret = false; break; } } } return ret; } Ojo... que todavía quedan algunos viejitos vivos con rut XXX.XXX-X Mira... si no es así... debería estar muy cerca... no lo probé, pero debería funcionar... quizás los substring estén mal indexados, pero es un detalle que puedes resolver... using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private string digitoVerificador(int rut) { int Digito; int Contador; int Multiplo; int Acumulador; string RutDigito; Contador = 2; Acumulador = 0; while (rut != 0) { Multiplo = (rut % 10) * Contador; Acumulador = Acumulador + Multiplo; rut = rut/10; Contador = Contador + 1; if (Contador == 8) { Contador = 2; } } Digito = 11 - (Acumulador % 11); RutDigito = Digito.ToString().Trim(); if (Digito == 10 ) { RutDigito = "K"; } if (Digito == 11) { RutDigito = "0"; } return (RutDigito); } private void button1_Click(object sender, EventArgs e) { if(digitoVerificador(Convert.ToInt32(textBox1.Text.Substring(0, textBox1.Text.Length - 3))) == textBox1.Text.Substring(textBox1.Text.LastIndexOf("-"), 1)) { //EL RUT ES VALIDO } else { //EL RUT ES INVALIDO } } } } Salu2. Edited November 30, 2011 by Ra Link to comment Share on other sites More sharing options...
iLerc Posted November 30, 2011 Author Report Share Posted November 30, 2011 a ver primero que todo existen 2 tipos de rut x.xxx.xxx-xxx.xxx.xxx-x que a su vez es: xxxxxxxxxxxxxxxxx por lo tanto: bool validarRut(String rut){ bool ret = true; int largo = rut.Length; if(largo >= 8 && largo <= 9){ for(int i=0; i<largo; i++){ if(rut[i] != "0" || rut[i] != "1" || rut[i] != "2" || rut[i] != "3" || rut[i] != "4" || rut[i] != "5" || rut[i] != "6" || rut[i] != "7" || rut[i] != "8" || rut[i] != "9" || rut[i] != "k"){ ret = false; break; } } } return ret; } Ojo... que todavía quedan algunos viejitos vivos con rut XXX.XXX-X Mira... si no es así... debería estar muy cerca... no lo probé, pero debería funcionar... quizás los substring estén mal indexados, pero es un detalle que puedes resolver... using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private string digitoVerificador(int rut) { int Digito; int Contador; int Multiplo; int Acumulador; string RutDigito; Contador = 2; Acumulador = 0; while (rut != 0) { Multiplo = (rut % 10) * Contador; Acumulador = Acumulador + Multiplo; rut = rut/10; Contador = Contador + 1; if (Contador == 8) { Contador = 2; } } Digito = 11 - (Acumulador % 11); RutDigito = Digito.ToString().Trim(); if (Digito == 10 ) { RutDigito = "K"; } if (Digito == 11) { RutDigito = "0"; } return (RutDigito); } private void button1_Click(object sender, EventArgs e) { if(digitoVerificador(Convert.ToInt32(textBox1.Text.Substring(0, textBox1.Text.Length - 3))) == textBox1.Text.Substring(textBox1.Text.LastIndexOf("-"), 1)) { //EL RUT ES VALIDO } else { //EL RUT ES INVALIDO } } } } Salu2. gracias... tiene un error pero lo estoy viendo que error tiene, si lo tengo bien onda formato xx.xxx.xxx-x lo subo Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now