puntos en el rut
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
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
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.
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.
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 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
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
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