puntos en el rut

tambino
19 de Diciembre del 2003
hola
cuando escribo el rut en un texto ej 10457896 y el digito en otro texto (k) como le hago para que cuando pierda el foco del texto1 el rut me quede haci 10.457.896 y despues verificarlo (yo tengo el codigo como verificarlo pero no el que necesito para colocarle los puntos
ayuda gracias

kinoscar
19 de Diciembre del 2003
te seria mas facil usar un maskededit para ello y en la mascara le pones los punto y cuando quieras el texto sin la mascara usas la propiedad cliptext del maskededit

ahora si quieres un codigo que te coloque punto esto quiza te sirva

dim rut as string
dim vuelta as integar
vuelta=0
rut=""
for i = len(txtrut.text) to 1 step-1
if vuelta=3 then
rut=mid(txtrut.text,i,1) & "." & rut
vuelta=0
else
rut=mid(txtrut,i,1) & rut
end if
vuelta=vuelta+1
next

esto deberia colocarte un punto cada 3 digitos sin importar el largo, ojo que no esta probado.

tambino
19 de Diciembre del 2003
hola
kinoscar gracias por el codigo funciona despues del next tienes que colocar txtrut=rut,ahora el problema es con el verifica rut me dice que el rut es invalido gracias

kinoscar
19 de Diciembre del 2003
eso es relativo ya que puedes usarlo como una funcion

sobre tu problema al validad simplemente usa este codigo de base para eliminar los puntos o bien parte el rut en base a los puntos con un o trata esto

dim nuevorut as string
nuevorut=""
i=1
do while i <= len(txtrut.text)
if mid(txtrut.text,i,1)<> "." then
nuevorut=nuevorut & mid(txtrut.text,i,1)
endif
i=i+1
loop

o mejor aun cuando estes ejecutando tu codigo de verificacion evaluo si el caracter que estas evaluando es numerico o no no recuerdo si la instruccion es isnumber o isnumeric si es true lo ejecutas, no olvides que cuando te encuentres con un punto no debes variar la posicion del digito para la evaluacion

suerte

tambino
19 de Diciembre del 2003
gracias
kinoscar eres muy amable ya me resulto todo bien gracias
estamos al habla