Controlar texto en Field

Hola.
Quisiera controlar en un field:
- Que el texto ingresado sólo sean números
- Que sólo se ingresen 8 dígitos
- que la tecla <enter> funcione igual a la tecla <tab>
He programado algo, pero no me funcionan las teclas:
<Supr>, <izq>, <der>, <retroceso>
El código que hice es el siguiente:
Global texto, tecla, nroTecla
on KeyDown me
--asigno el texto ingresado anteriormente
-- texto = string(member("edDni").text)
--asigno tecla ingresada
-- tecla = key()
-- nroTecla = keycode()
--Verifico que sea un número
-- VerifNum()
--Asigno nuevo texto
-- texto=texto & tecla
-- put texto into field "edDni"
end
Gracias

1 respuesta

Respuesta
1
Pues para empezar el texto ha de estar no editable, porque se escribe un carácter antes que que entre la rutina keydown.
El keycode del tabulador es el 48 y el de los enter es 76 y 36
on startmovie
the keydownscript ="puls()"
the exitlock =1
end
on puls
k=the keycode
if k=51 then
borrar()
else
texto=member("texto").text
tecla=string(the keypressed)
valor=chartonum(tecla)
if numeros(valor) then
if tamaño() then
put tecla after texto
member("texto").text=texto
else
member("texto").text=texto
end if
end if
end if
end
on borrar
if member("texto").char.count=1 or member("texto").text="" then
member("texto").text=""
else
repeat with i=1 to member("texto").char.count -1
t=member("texto").char
g=g&t
end repeat
member("texto").text=g
end if
end
on numeros num
if num>=48 and num<=57 then
return true
end if
end
on tamaño
if member("texto").char.count<7 then
return true
end if
end

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas