[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