Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-03-2014
Avatar de TiammatMX
TiammatMX TiammatMX is offline
Miembro
 
Registrado: jun 2006
Ubicación: Universo Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Puebla\Heróica Puebla de Zaragoza\Jardines de San Manuel\Home
Posts: 746
Poder: 18
TiammatMX Va camino a la fama
Unhappy TMaskEdit y las benditas máscaras de edición/muestra

Buen día/tarde/noche (según aplique) estimados compañeros de lenguaje de programación. Muchas veces he usado un TMaskEdit para solicitar al usuario que ingrese un dato en un formato específico, pero ésta vez sospecho fuertemente que estoy haciendo algo mal o de plano Delphi (usando Delphi 6) está enloqueciendo.

Tengo varios TMaskEdit donde el usuario ingresará un número en formato 'double' (con la máscara de edición definida así: ###.##0;0;_), en una pantalla diseñada como en la imagen, y llenada con éste código:

Código Delphi [-]
edtPeso.Text := FormatFloat('###.##0;0;_',aPesoIMC[PESOIMC]);

y como pueden ver en la imagen ¡¡ME PONE DOS PUNTOS DECIMALES!!

Al momento de intentar procesar los datos, recibo un valor de cadena definido así '80 .000', con un espacio interno que genera un error de procesamiento.

La pregunta que me permita solucionar mis problemas es: ¿Qué combinación de máscara de edición y recuperación por FormatFloat debería usar para que no aparezca el punto decimal repetido y permita al usuario capturar su número sin que "brinque" un error?
Imágenes Adjuntas
Tipo de Archivo: jpg Error.JPG (28,0 KB, 21 visitas)
__________________
Felipe Eduardo Ortiz López. Delphi programmers does it recursively...

"Un programador, es un creador de universos en donde sólo él es responsable. Universos de complejidad prácticamente ilimitada que se puede crear en forma de programas de ordenador." - Joseph Weizenbaum.

Témele a los profetas... y a aquellos que están listos para morir por "la verdad", ya que como regla general hacen morir a muchos otros con ellos, frecuentemente antes que ellos, y a veces en lugar de ellos. — Umberto Eco
Responder Con Cita
  #2  
Antiguo 04-03-2014
Avatar de olbeup
olbeup olbeup is offline
Miembro
 
Registrado: jul 2005
Ubicación: Santiago de la Ribera (España)
Posts: 685
Poder: 19
olbeup Va camino a la fama
Hola tiammat,

Yo utilizo munchos MaskEdit en vez de esto:
Código Delphi [-]
edtPeso.Text := FormatFloat('###.##0;0;_',aPesoIMC[PESOIMC]);
Pon esto otro:
Código Delphi [-]
edtPeso.Text := FormatFloat('.00',aPesoIMC[PESOIMC]);
O esto otro:
Código Delphi [-]
edtPeso.Text := FormatFloat('000.00',aPesoIMC[PESOIMC]);
Este último te pondrá un cero delante si el dato que muestras es inferior a 3 números y podrás interactuar con el MaskEdit ya que no te pondrá un espacio.

Un saludo
__________________
Al hacer una consulta SQL, haz que los demás te entiendan y disfruten de ella, será tú reflejo de tú saber.

Última edición por olbeup fecha: 04-03-2014 a las 08:44:05.
Responder Con Cita
  #3  
Antiguo 05-03-2014
Avatar de olbeup
olbeup olbeup is offline
Miembro
 
Registrado: jul 2005
Ubicación: Santiago de la Ribera (España)
Posts: 685
Poder: 19
olbeup Va camino a la fama
Hola tiammat,

Te ha funcionado lo que te puse.

Personalmente prefiero usar el TEdit que el TMaskEdit, el TEdit te da mucho juego y el TMaskEdit te limita por la configuración que le pones, lo único que lo uso es para las fechas y horas, el TEdit lo tienes que controlar para que no inserten números pero eso es fácil e incluso para controlar la coma o punto.

Un saludo.
__________________
Al hacer una consulta SQL, haz que los demás te entiendan y disfruten de ella, será tú reflejo de tú saber.
Responder Con Cita
  #4  
Antiguo 05-03-2014
Avatar de TiammatMX
TiammatMX TiammatMX is offline
Miembro
 
Registrado: jun 2006
Ubicación: Universo Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Puebla\Heróica Puebla de Zaragoza\Jardines de San Manuel\Home
Posts: 746
Poder: 18
TiammatMX Va camino a la fama
Cita:
Empezado por olbeup Ver Mensaje
...Te ha funcionado lo que te puse...
Perfectamente..., aunque como tú, decidí a final de cuentas usar un TEdit para no limitarme mucho. Ya sabes, los usuarios quejumbrosos y exigentes.
__________________
Felipe Eduardo Ortiz López. Delphi programmers does it recursively...

"Un programador, es un creador de universos en donde sólo él es responsable. Universos de complejidad prácticamente ilimitada que se puede crear en forma de programas de ordenador." - Joseph Weizenbaum.

Témele a los profetas... y a aquellos que están listos para morir por "la verdad", ya que como regla general hacen morir a muchos otros con ellos, frecuentemente antes que ellos, y a veces en lugar de ellos. — Umberto Eco
Responder Con Cita
  #5  
Antiguo 06-03-2014
Avatar de olbeup
olbeup olbeup is offline
Miembro
 
Registrado: jul 2005
Ubicación: Santiago de la Ribera (España)
Posts: 685
Poder: 19
olbeup Va camino a la fama
Buena elección



Un saludo
__________________
Al hacer una consulta SQL, haz que los demás te entiendan y disfruten de ella, será tú reflejo de tú saber.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
TMaskEdit y mascara para IP mjjj Varios 2 17-07-2013 19:18:24
problemas con TMaskEdit squenda OOP 2 21-05-2008 20:23:38
TMaskedit, con posibles excepciones en el formato grotero76 OOP 6 31-01-2008 13:49:23
Como puedo cambiar la propiedad de edicion y no edicion a un StringGrid1 ctronx Varios 2 25-06-2004 23:10:19
Alinear texto en TEdit y TMaskEdit mrmanuel Varios 11 17-03-2004 18:04:24


La franja horaria es GMT +2. Ahora son las 15:25:23.


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
Copyright 1996-2007 Club Delphi