FTP | CCD | Buscar | Trucos | Trabajo | Foros |
#1
|
||||
|
||||
Mascara & Edit
Saludos,
Como puedo hace que un edit o maskedit tenga el formato $ 000,000.00? Intente hacerlo con el Maskedit, pero no funciona adecuadamente ya que cuando quiero introducir 234.43 en el Maskedit sale $234,000.43 y lo que quiero es que salga $234.34 , que los digitos de miles no aparezcan. Espero haber sido claro. Grax.
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! |
#2
|
||||
|
||||
Encontre la solucion en Rxlib (en la pagina de cadetill) con el Currencyedit.
Aun asi, me gustaria saber si existe otra manera de hacer esto
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! Última edición por vtdeleon fecha: 28-03-2005 a las 01:26:15. |
#3
|
|||
|
|||
Difícil elección.
Hola, antes que nada decir que yo también tuve este problema, ufff y fue bastante complicado solucionarlo porque yo necesitaba que quedase lo más perfecto posible. Antes que nada deberías plantearte quienes serán los usuarios del programa, y para qué vas a utilizar el programa. Si el programa es para ti, o un amigo o algo puedes usar el Mask edit que es más fácil y rápido. Si pones en la máscara un 9 (no es obligatorio introducir un número sólo opcional
$999,000.99;1; Y si es para algo profesional yo te recomiendo que utilices un Edit, pero te encontrarás con muchos problemas por el tema de la coma y del punto. Si sigues por este camino estaremos en contacto. ¡Suerte!.
__________________
"La perseverancia es el camino del éxito" |
#4
|
||||
|
||||
Lo unico que se me ocurre es lo sgte (algo facil), pero no muy efectivo:
HAcer que edit solo acepte numeros y el punto, poner su propiedad selectall en true y en el evento onexit:
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! |
#5
|
|||
|
|||
Como lo hice yo.
Hola de nuevo, te explico como lo hice yo, me llevo mucho tiempo y puede que sea la mejor solución pero a mí me funciona perfectamente. Para empezar puse un Edit y en el Keypress puse los carácteres que se podrían introducir en el Edit, y si no son estos que se introduzca el #0 es decir el carácter null(nada). Hice una función que se llama Activacomas, para activar las comas o desactivarlas (no se pueden escribir dos comas dentro del mismo Edit, ni en el primer carácter).
Código:
procedure TfrmCanvi.edPagatKeyPress(Sender: TObject; var Key: Char); var a: integer; Begin If Activacomes=False then If Not (Key IN ['0'..'9',#8]) then key :=#0 ; If Activacomes=True then Begin If Not (Key IN ['0'..'9',#8,',']) then key := #0; If (Key=',') and (edPagat.Text='') then If Not (Key IN ['0'..'9',#8]) then key :=#0 ; end; end; Código:
function TfrmCanvi.Activacomes: Boolean; var I, cont: Integer; car, copia: String; begin cont:=0; copia:=edPagat.Text; For i:=1 to Length(copia) do Begin car:=copy(copia,i,1); if car=',' then cont:=cont+1; end; If Length(EdPagat.Text)>=5 then cont:=1; if cont>0 then result:=False else result:=True; end; Un saludo: Alfredo.
__________________
"La perseverancia es el camino del éxito" |
#6
|
||||
|
||||
Saludos,
Antes que todo, Gracias alfredosg19 por tu interes . Me parece ingeniosa esa forma (la utilizare en otro asuntillo que tengo ), pero el usuario tendria que introducir las comas el mismo. Has visto el componetne CurrencyEdit de la LibRx? En realidad me gustaria hacer ese!!. Parece un edit normal, al momento de digitar numeros (1123) y salir del edit este comvierte los numeros en la moneda oficial ($RD1,123.00 Rep. Dom.) que tiene configurada mi pc. Cuando intento modificar el valor del edit, quita el formato que este contiene. Una idea que me viene a la mente ( pero no he usado y no se si se puede) es la de los comentarios de un hilo en la que un campo memo mostraba su data en un grid utilizando Canvas(no se utilizar mucho esto). Gracias
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! |
#7
|
|||
|
|||
¿¿Pero cómo puede ser??
Yo tengo el mismo problema para ingresar un simple importe formato 9999999.99.
¿Como puede ser que Delphi no tenga una máscara o componente nativo decente para una función tan elemental, que cualquier lenguaje de bases de datos para DOS lo tenía??? Pensé que lo había y yo no podía encontrarlo (soy nuevito en Delphi), y buscando me encontré con mucha gente en la misma, y con soluciones complicadísimas... ¡¡para un CHOTO ingreso de importes!!! |
#8
|
||||
|
||||
Saludos
Como habia citado antes Cita:
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! |
#9
|
|||
|
|||
De donde se baja?
Si, vi el comentario, pero no encontré la página. Leí otros comentarios acerca de la dificultad de instalarla. ¿Dónde puedo bajarla?
Gracias! |
#10
|
|||
|
|||
Encontré una versión.
Encontré por ahí una versión, la instale OK, creo. Gracias!
|
#11
|
||||
|
||||
Cita:
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! |
#12
|
||||
|
||||
Las RxLib, las puedes encontar en esta web, en la sección Componentes, en la tercera página lo puedes encontrar.
salu2. |
|
|
|