[Lazarus-es] Formatos númericos en Lazreport

Paola Bruccoleri pbruccoleri en adinet.com.uy
Mar Abr 26 16:07:44 CEST 2011


El 26/04/2011 09:52 a.m., Ismael L. Donis García escribió:
> Como podría formatear un campo numérico para cuando tenga valor 0 me 
> salga -, ósea un signo de menos.
> Ejemplo:
> Num       Fecha        Valor CUC     Valor CUP
> ===       =======    =========    ========
> 1           1/4/2011                   -              120.59
> 2           1/4/2011             10.85                    -
>
Hola Ismael..
te puedes definir una función propia, por ejemplo llamada FORMATO

en el reporte, pones donde va el valor, en vez de [qry."CAMPO"]
esto:
[FORMATO([qry."CAMPO"])]

¿dónde la defines? en el evento OnUserFunction del componente frreport.
Acá te pego un ejemplo que uso (obtengo segundos de la consulta,  que 
quiero mostrarlos con el formato d hh:mm:ss


procedure THorasOperario.rptInformeUserFunction(const AName: String; p1, p2,
   p3: Variant; var Val: Variant);
var
   Secs: integer;
begin
   if AName='SEG2TIME' then begin
     Secs := frParser.Calc(P1);

     Val :=  format('%dd ',[Secs div SecsPerDay]);
     Secs := Secs mod SecsPerDay;
     Val := Val + format('%.2d:', [Secs div 3600]);
     Secs := Secs mod 3600;
     Val := Val + format('%.2d:',[Secs div 60]);
     Secs := Secs mod 60;
     Val := Val + format('%.2d',[Secs]);
   end;
end;

Espero te sirva!
chauuuuuuu

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20110426/2e048389/attachment-0002.html>


More information about the Lazarus-es mailing list