Ver Mensaje Individual
  #5  
Antiguo 27-10-2007
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Reputación: 24
BlueSteel Va por buen camino
Hola Patho...

mira.. yo trabajo con el campo MaskEdit.. y le pongo esto 00.000.000-C;1;_

hasta el momento me ha funcionado bien...aunque si no ingreso todos los datos.. me da error... obvio...

trate de usar esto.. pero como que no me funco...

Código Delphi [-]
 
   If Key = #13 Then
      AnsiReplaceStr(vRut.Text,'_','0');

que hace.. al presionar el Enter... me debe reemplazar el _ por Ceros (0)... pero

te recomiendo que uses un Edit... y que los caracteres los rellenes con ceros a la izquierda.. y le des formato una vez dado el enter... pero que no se ingrese el digito verificador...

mira el sgte funcion PadString
lo que hace es rellenar un String con cierto caracter para que cumpla el largo

Ejem... un Edit1 para el rut, de largo 8.. sin punto y sin el digito verificador

se ingresa el rut 40 (cuyo digito verificador es K)

al presionar Enter, le pones este codigo

Código Delphi [-]
 
If Key =#13 Then
   Edit1.Text := PadString(Edit1.Text,'0',8,toLeft); // puede ser toRight

que hacer.. tomará el Edit 40 y lo transformara en 00000040, despues deberás aplicarle una rutina para calcular el digito verificador.. y lo pasas con el formato que desees...

espero que te sirva...
__________________
BlueSteel
Responder Con Cita