In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Picture @R en TMaskEdit

Foro de Xailer profesional en español
Responder
Avatar de Usuario
XeviCOMAS
Mensajes: 582
Registrado: Sab Mar 12, 2011 8:16 pm

Picture @R en TMaskEdit

Mensaje por XeviCOMAS »

Buenas,

El caso que me lleva este post... es el picture en una máscara (para IBAN, por ejemplo)
(Da igual el separador que se use en la máscara, ya sea - . espacio)

Resulta que si el Edit está vacio, o en el caso de que no esté vacio pero se selecciona TODO el contenido o no hay ningún carácter seleccionado, el contenido que se va escribiendo o reescribiendo funciona a la perfección.

PERO...
el caso es cuando seleccionamos "parte" de su contenido... un caràcter o más.
Si se da el caso de una selección parcial del contenido del MaskEdit, se elimina TODO el contenido del MaskEdit.

Adjunto un ejemplillo simple, simple.

Gracias.
Adjuntos
Prova.zip
(2.08 KiB) Descargado 147 veces
Un Saludo,
Xevi.
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9246
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Re: Picture @R en TMaskEdit

Mensaje por ignacio »

XeviCOMAS escribió:Buenas,

El caso que me lleva este post... es el picture en una máscara (para IBAN, por ejemplo)
(Da igual el separador que se use en la máscara, ya sea - . espacio)

Resulta que si el Edit está vacio, o en el caso de que no esté vacio pero se selecciona TODO el contenido o no hay ningún carácter seleccionado, el contenido que se va escribiendo o reescribiendo funciona a la perfección.

PERO...
el caso es cuando seleccionamos "parte" de su contenido... un caràcter o más.
Si se da el caso de una selección parcial del contenido del MaskEdit, se elimina TODO el contenido del MaskEdit.

Adjunto un ejemplillo simple, simple.

Gracias.
Buenos días,

El comportamiento estándar de cualquier control TEdit o TMemo implica el borrado previo del texto que pudiera estar seleccionado cuando se pulsa cualquier carácter. Entiendo que el comportamiento es el correcto.

Un saludo
Ignacio Ortiz de Zúñiga
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Avatar de Usuario
XeviCOMAS
Mensajes: 582
Registrado: Sab Mar 12, 2011 8:16 pm

Re: Picture @R en TMaskEdit

Mensaje por XeviCOMAS »

Ignacio,

si, si fuera seleccionado TODO el contenido, y no una sola parte.

En un Edit, si selecciono parte del texto, al pulsar una tecla se "elimina" el texto seleccionado por el nuevo que voy introduciendo.
Lo mismo en un TMaskEdit con picture @E 999,999.99...
dado un Value 123456.78, si selecciono con el ratón las posiciones 456, al pulsar una tecla SOLO cambia esos valores por los que vaya introduciendo.

NO ASÍ EN UN TMASKEDIT con picture @R 9999-9999-9999-9999
dado un valor 1234567890ABCDEF, si selecciono con el raton las posiciones 5678, al pulsar una tecla ELIMINA TODO EL CONTENIDO i empieza a escrinir en la posición primera del Edit.

Ese funcionamiento no es correcto!!!

Gracias por tu tiempo i respuestas.
Un Saludo,
Xevi.
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9246
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Re: Picture @R en TMaskEdit

Mensaje por ignacio »

Buenas tardes,

Efectivamente deberían borrarse solo los caracteres seleccionados, pero me temo que debido a la complejidad de la máscara y su funcionamiento es imposible hacerlo de una forma idónea. Creo que hicimos un gran trabajo en adaptar la opción @R , pero obviamente no es perfecto.

Un saludo
Ignacio Ortiz de Zúñiga
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Avatar de Usuario
XeviCOMAS
Mensajes: 582
Registrado: Sab Mar 12, 2011 8:16 pm

Re: Picture @R en TMaskEdit

Mensaje por XeviCOMAS »

Ignacio,
ignacio escribió:Creo que hicimos un gran trabajo en adaptar la opción @R , pero obviamente no es perfecto
Eso no creo que nadie lo cuestione o lo ponga en duda :P

ignacio escribió:pero me temo que debido a la complejidad de la máscara y su funcionamiento es imposible hacerlo de una forma idónea
eso otro, pues ya mis dudas tengo, jejeje, con el buen trabajo (excelente diria yo) que llevais haciendo, seguro que algun día se os ocurre el como...

ignacio escribió:Efectivamente deberían borrarse solo los caracteres seleccionados
la superación a uno mismo es un reto personal. De ahí la satisfacción total!!!


Gracias por tu/vuestro tiempo y respuestas.
Un Saludo,
Xevi.
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9246
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Re: Picture @R en TMaskEdit

Mensaje por ignacio »

Buenos días Xevi,

Creo que no me he explicado bien. Además de ser un problema de complejidad de programación, el gran problema es el tratamiento de de ese tipo de operaciones. Otros entornos de desarrollo como Delphi crearon un control TEdit que tenía un carácter de subrayado por cada espacio que tenía la máscara. Yo lo usé en su día y terminé quitándolo pues me parecía horroroso, pero lo cierto es que no hay solución ideal para la edición de controles de edición con máscaras.

Miento ;) Si la hay: Remangarse y hacerla uno mismo según el caso. Es bien sencillo, sólo hay que crear un control por cada zona de edición y en los eventos OnEnter, OnExit, OnKeyDown/Up y OnChar hacer todos los ajustes que desees.

Como ejemplos claros, observa como se hace la edición de direcciones IP.

Un saludo
Ignacio Ortiz de Zúñiga
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Responder