Ayuda a crear edit con sus propias politicas
Hola a toda la comunidad, voy a tomar el ejemplo ya puesto, si deseo introducir la Cédula: V-12.837.967, yo quisiera que al colocar 'V' se marque automaticamente '-' luego coloco '12' y automaticamente '.', asi sucesivamente, en mi caso seria MEP-04598-005. Al colocar 'MEP' se marque '-' y que no se pueda volver a colocar una letra, osea que el Maximo de las letras sea tres. y luego que la letra sea introducida, se pueda comenzar a introducir los numeros. ejemplo, coloco '04598' y se marca automaticamene '-' para colocar los ultimos 3 numeros, esto fue lo que se me ocurrio, pero no funciona correctamente,
Saludos |
Hola bigguntm.
Creo que una alternativa mas simple le daría solución a tu problema, usar un TMaskEdit. Por ejemplo:
Saludos. |
bigguntm,
Cita:
El código anterior permite ingresar solo números en un control TMaskEdit con un formato de mascara predefinido en la propiedad EditMask configurada según tu requerimiento. Como se comento en el Msg #2 esta solución es más fácil de implementar. Revisa estos links: Cita:
Espero sea útil :) Nelson. |
Son unos duros en la programacion, cualquiera de los dos funciona correctamente, pero tengo un detallito, el MaskEdit deberia de habilitar el btnCalculate cuando llene todo los caracteres,
ese code me funciona fino en un Edit, pero el problema de el MaskEdit esq siempre esta lleno.. un ejemplo de eso, MEP-_____-___ o MEP- - , yo borro, y lo que hace es retroceder. Y si lo pongo
entonces siempre estaria habilitado ya que cuenta los '_' , ' ', '.' ... Saludos |
Hola bigguntm.
Proba de este modo:
Saludos. |
Hola de nuevo.
Me quedó rondando en la cabeza y si... El código anterior, provoca un efecto no deseado cuando se presiona Backspace u otra tecla más allá del caracter 12. Mejor es:
Saludos. |
bigguntm,
Cita:
Este código establece a True la propiedad enabled de un control TButton al ingresar todos los caracteres numéricos en el control TMaskEdit. Nota: La longitud del control TMaskEdit es 8 dado que esta basada en la longitud de los caracteres de entrada. Si posteriormente requieres el valor entrado con su Mascara de Edición puedes aplicar el siguiente código: Espero sea útil :) Nelson. |
Otra posibilidad:
Saludos |
prueba esto
para que funcione el segundo campo de la propiedad EditMask debe ser 0
EditMask := 'LLL-00000-000;0; ';
|
Hola a todos, gracias a todos por responder, el codigo quedo asi..
Todo anda perfecto, si MaskEdit no tiene los 8 numeros ingresados el btnCalculate esta en false, y si ingresamos los 8 digitos se habilita, esto lo hace Edit2Change, entonces si MEP-56456-456, y borramos el (5), MEP-56456-4_6, el btnCalculate queda habilitado, por eso se usa el Edit2KeyPress, quien hace vulnerable ese efecto, hasta ahi todo funciona correctamente, pero coloco MEP-56456-456, el btn queda habilitado, presiono el btnCalculate, luego le borro el ultimo numero MEP-56456-45_, y cierro el form en btnExit(KillTask), me da una funcion no deseada(error)! lo solucione con
Gracias y Saludos |
hola a todos de nuevo, el problema que creí haber solucionado, con..
se convirtió en un problemon.. ejejejeje Ahora me da error por casi todo, cuando quedaban con los numeros incompletos, lo logre solucionar con otros maskedit que me enviara la informacion cuando estos queden incompletos, pero necesito que solo se pueda escribir desde el comienzo del edit, cuando haga click y marqe un numero se ingrese al primer campo, ya que si se escribe desde cualquier length ejemplo.. MEP-_____-__5 me habilita el btnCalculate,, ='S Disculpen la molestia, saludos |
Hola bigguntm.
Cita:
Parece funcionar correctamente y no recibo ningún mensaje de error al cerrar el form, ¿ A que componente corresponde el evento que mencionas y cuál es el código existente en btnExit ? Cita:
Saludos. |
Hola,
Creo que la comprobación para habilitar/inhabilitar el botón puede hacerse únicamente usando el evento OnChange del MaskEdit:
Cuando se llena el MaskEdit, y luego se le borran caracteres, MaskEdit.Text está "lleno" pero es inválido. Por otra parte, también puede optarse por usar dos controles TEdit para capturar cada una de las partes. // Saludos |
Cita:
el btnExit contine
pero no solo cuando presiono btnExit me da el error, tambien cuando presiono los listbox, otros edits, y memos de mi project, el error sale cuando no termino de escribir en el Maskedit , ejemplo MEP-6____-___.. y hago click en otro lado.. no se si eso tenga que ver, pero con el codigo de escribir, siempre desde el comienzo del edit, pudiera estar listo, manana cuando este en mi pc pruebo el code.. y el de roman, Saludos |
Cita:
Otra opción que se me ocurre, esta vez usando el evento OnChange, es:
Saludos. :) |
listo solucione con el escribir desde el principio, les dejo una copia del proyecto para que vean,
http://www.4shared.com/rar/LJuAP5kN/Cal.html Saludos. |
Hola bigguntm.
Me tomé el atrevimiento de componer el enlace, que por el número de tus mensajes no te está permitido, para que de este modo sea más sencillo acceder a él. Saludos. :) |
Creo que sería adecuado que pusieras aquí la solucuión final, ya que se desarrolló aquí. Por otra parte, ese servicio de descargas me pide un número de celular lo cual no me parece correcto.
// Saludos |
La franja horaria es GMT +2. Ahora son las 05:02:59. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi