[Lazarus-es] Formatos númericos en Lazreport
Ismael L. Donis García
ismael en citricos.co.cu
Mar Abr 26 20:44:12 CEST 2011
Paola perfecto. Quedó como sigue:
procedure Tdm.rptUserFunction(const AName: String; p1, p2, p3: Variant;
var Val: Variant);
var
sdato: double;
begin
sdato:=frParser.Calc(P1);
if lowercase(AName) = 'noceros' then begin
if sdato = 0 then
Val:='-'
else
Val:=format('%n', [sdato]);
end;
end;
***
Una pregunta: que hace la función frParser.Calc
Saludos Cordiales
=========
|| ISMAEL ||
=========
----- Original Message -----
From: Paola Bruccoleri
To: Spanish version of Lazarus List
Sent: Tuesday, April 26, 2011 10:07 AM
Subject: Re: [Lazarus-es] Formatos númericos en Lazreport
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
------------------------------------------------------------------------------
_______________________________________________
Lazarus-es mailing list
Lazarus-es en lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20110426/fcffe658/attachment-0002.html>
More information about the Lazarus-es
mailing list