Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-09-2010
Lenny Lenny is offline
Miembro
 
Registrado: jun 2007
Posts: 161
Poder: 17
Lenny Va por buen camino
Question QuickReport, Resultado en letras

Holas a todos y gracias de antemano, tengo un reporte en QuickReport, en el cual utilizo un QRExpr el cual esta con esta "Expression":

Cita:
SUM(TOTFACTURACION.MAYOR * TOTFACTURACION.Cantidad * 1.19)
Lo que hace es irse a una tabla y busca el valor de (de los) producto (Productos), luego lo multipplica por la cantidad y le agrega el 19% correspondiente al IVA en Chile.

Todo bien, hace lo que le pido, pero... como puedo pasar este resultado a Letras??? Ejemplo, si el resultado fuera:

1583 = Mil Quinientos Ochenta y Tres.

Eso es lo que necesito, espero puedan orientarme, tambien...

Se puede hacer lo mismo con la fecha??? pero solo con el mes???

Utilizo Delphi 2010, Zeos, MySQL

De antemano, muchisimas gracias.

Última edición por Lenny fecha: 13-09-2010 a las 23:00:31.
Responder Con Cita
  #2  
Antiguo 13-09-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Lo veo complicado tal como lo tienes, lo que yo hago es hacerlo antes de llamar al QReport, pero tambien se podria hacer usando un query en el reporte y el el evento before print hacer el cambio de numeros a letras usando el componente ATexto.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #3  
Antiguo 13-09-2010
Lenny Lenny is offline
Miembro
 
Registrado: jun 2007
Posts: 161
Poder: 17
Lenny Va por buen camino
Smile

Gracias por la pronta respuesta, se ve complicado, pero intentare verlo desde otro enfoque y como tu me dices, si encuentro alguna solucion la comparto con ustedes, gracias nuevamente y si a alguien se le ocurre alguna solucion, BIENVENIDA SEA!!!

PD: Como instalo / utilizo el compoenten ATEXTO en Delphi 2010???

EDIT: Ya lo instale, estare probando se ve muy interesante, GRACIAS CARAL!!!

Última edición por Lenny fecha: 13-09-2010 a las 23:35:15.
Responder Con Cita
  #4  
Antiguo 14-09-2010
Lenny Lenny is offline
Miembro
 
Registrado: jun 2007
Posts: 161
Poder: 17
Lenny Va por buen camino
Talking Resuelto!!!

Bueno, despues de tanto buscar y gracias a la sugerencia de CARAL y el componente ATEXTO encontre la solucion:
Código Delphi [-]
procedure TFCLIENTE.QRExpr3Print(sender: TObject; var Value: string);
function Deletrear(numero: real) : string; var
letras: TLetras;
begin
letras := TLetras.Create(nil);
try
letras.Numero := numero;
Result := letras.AsString;
finally
letras.Free;
end;
end;
var
n:string;
begin
n:= Deletrear(StrToFloat(Value));
QRExpr3.Caption:=uppercase(''+n+'');
value:=QRExpr3.Caption;
end;

Coloque esto en el evento "OnPrint" y funciona a la perfeccion.

No quiero llevarme el credito de esta solucion, solo hice pequeños cambios a una solucion anterior. Curiosamente lo saque de otro post de un usuario con un problema similar y CARAL lo estuvo ayudando y esta era una de las sugerencias, nuevamente gracias!!!
Responder Con Cita
  #5  
Antiguo 14-09-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Viendo este codigo que me parece muy interesante pregunto:
No sera lo mismo independizando la funcion?.
Código Delphi [-]
function Deletrear(numero: real) : string; 
var
letras: TLetras;
begin
letras := TLetras.Create(nil);
try
letras.Numero := numero;
Result := letras.AsString;
finally
letras.Free;
end;
end;


procedure TFCLIENTE.QRExpr3Print(sender: TObject; var Value: string);
var n:string;
begin
n:= Deletrear(StrToFloat(Value));
QRExpr3.Caption:=uppercase(''+n+'');
value:=QRExpr3.Caption;
end;

Saludos
__________________
Siempre Novato

Última edición por Caral fecha: 14-09-2010 a las 20:06:03.
Responder Con Cita
  #6  
Antiguo 14-09-2010
Lenny Lenny is offline
Miembro
 
Registrado: jun 2007
Posts: 161
Poder: 17
Lenny Va por buen camino
Wink

Jajajajajaja, Tienes toda la razon, casi siempre suelo REINVENTAR la rueda mil veces y buscar soluciones "chasquillas" cometiendo el error de no corregirlas u optimizarlas una vez funcionan, lo hare como dices, gracias nuevamente Caral!!!
Responder Con Cita
  #7  
Antiguo 14-09-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Pues la verdad es que lo dije como pregunta por que no se si funcionara o no.
Da la impresion de que tendria que, pero no lo se.
Si funciona, dilo, sera bueno aprender algo mas.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #8  
Antiguo 14-09-2010
Lenny Lenny is offline
Miembro
 
Registrado: jun 2007
Posts: 161
Poder: 17
Lenny Va por buen camino
Talking

CARAL!!! FUNCIONA A LA PERFECCION!!!

Código Delphi [-]
implementation

{$R *.dfm}

uses BD;

function Deletrear(numero: real) : string; var
letras: TLetras;
begin
letras := TLetras.Create(nil);
try
letras.Numero := numero;
Result := letras.AsString;
finally
letras.Free;
end;
end;

procedure TFCLIENTE.QRExpr3Print(sender: TObject; var Value: string);
var
n:string;
begin
n:= Deletrear(StrToFloat(Value));
QRExpr3.Caption:=uppercase(''+n+'');
value:=QRExpr3.Caption;
end;

end.

Asi tal cual funciona de maravillas, lo unico a tener en cuenta, es que en Chile no trabajamos con decimales, por lo cual hay que cambiar la propiedad "MASK" de los QRExpr a ###,###,##0, pero OJO!!! al que quieras convertir en Letras deve quedar asi ########0 o si no nos genera error, al menos de esta manera me funciona a mi, gracias nuevamente Caral por las sugerencias, un abrazo!!!
Responder Con Cita
  #9  
Antiguo 14-09-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Con gusto.
Me alegra poder ayudar y aprender a la vez.
Saludos
__________________
Siempre Novato
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
Numeros y letras Caral Varios 11 28-03-2008 18:22:53
Numeros En Letras Cañones Impresión 2 11-06-2007 23:55:12
Numero En Letras keys Varios 8 21-06-2006 20:27:39
Numeros a Letras!! jmedina Varios 26 20-10-2005 20:19:42
nros a letras pmfras Varios 3 29-09-2005 08:42:50


La franja horaria es GMT +2. Ahora son las 10:01:45.


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