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
User avatar
XeviCOMAS
Posts: 447
Joined: Sat Mar 12, 2011 8:16 pm

Picture @R en TMaskEdit

Postby XeviCOMAS » Thu Jun 21, 2018 8:37 pm

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.
Attachments
Prova.zip
(2.08 KiB) Downloaded 12 times
Un Saludo,
Xevi.
User avatar
ignacio
Site Admin
Posts: 8429
Joined: Mon Apr 06, 2015 8:00 pm
Location: Madrid, Spain
Contact:

Re: Picture @R en TMaskEdit

Postby ignacio » Fri Jun 22, 2018 10:11 am

XeviCOMAS wrote: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]
http://www.xailer.com
http://www.xailer.info
User avatar
XeviCOMAS
Posts: 447
Joined: Sat Mar 12, 2011 8:16 pm

Re: Picture @R en TMaskEdit

Postby XeviCOMAS » Fri Jun 22, 2018 11:04 am

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.
User avatar
ignacio
Site Admin
Posts: 8429
Joined: Mon Apr 06, 2015 8:00 pm
Location: Madrid, Spain
Contact:

Re: Picture @R en TMaskEdit

Postby ignacio » Fri Jun 22, 2018 4:13 pm

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]
http://www.xailer.com
http://www.xailer.info
User avatar
XeviCOMAS
Posts: 447
Joined: Sat Mar 12, 2011 8:16 pm

Re: Picture @R en TMaskEdit

Postby XeviCOMAS » Fri Jun 22, 2018 6:03 pm

Ignacio,

ignacio wrote: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 wrote: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 wrote: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.
User avatar
ignacio
Site Admin
Posts: 8429
Joined: Mon Apr 06, 2015 8:00 pm
Location: Madrid, Spain
Contact:

Re: Picture @R en TMaskEdit

Postby ignacio » Mon Jun 25, 2018 10:01 am

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]
http://www.xailer.com
http://www.xailer.info

Return to “Spanish”

cron