<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=ISO-8859-1" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 8.00.6001.18975"></HEAD>
<BODY bgColor=#ffffff text=#000000>
<DIV><FONT face=Arial>Paola perfecto. Quedó como sigue:</FONT></DIV>
<DIV><FONT face=Arial></FONT> </DIV>
<DIV><FONT face=Arial>procedure Tdm.rptUserFunction(const AName: String; p1, p2, 
p3: Variant;<BR>  var Val: Variant);<BR>var<BR>  sdato: 
double;<BR>begin<BR>  sdato:=frParser.Calc(P1);<BR>  if 
lowercase(AName) = 'noceros' then begin<BR>    if sdato = 0 
then<BR>   Val:='-'<BR>    
else<BR>      Val:=format('%n', [sdato]);<BR>  
end;<BR>end; </FONT></DIV>
<DIV><FONT face=Arial></FONT> </DIV>
<DIV><FONT face=Arial>***</FONT></DIV>
<DIV><FONT face=Arial>Una pregunta: que hace la función  
frParser.Calc</FONT></DIV>
<DIV><FONT 
face=Arial>             
</FONT></DIV>
<DIV><FONT face=Arial></FONT> </DIV>
<DIV><FONT face=Arial>Saludos Cordiales</FONT></DIV>
<DIV>=========<BR>|| ISMAEL ||<BR>=========</DIV>
<BLOCKQUOTE 
style="BORDER-LEFT: #000000 2px solid; PADDING-LEFT: 5px; PADDING-RIGHT: 0px; MARGIN-LEFT: 5px; MARGIN-RIGHT: 0px">
  <DIV style="FONT: 10pt arial">----- Original Message ----- </DIV>
  <DIV 
  style="FONT: 10pt arial; BACKGROUND: #e4e4e4; font-color: black"><B>From:</B> 
  <A title=pbruccoleri@adinet.com.uy 
  href="mailto:pbruccoleri@adinet.com.uy">Paola Bruccoleri</A> </DIV>
  <DIV style="FONT: 10pt arial"><B>To:</B> <A 
  title=lazarus-es@lists.lazarus.freepascal.org 
  href="mailto:lazarus-es@lists.lazarus.freepascal.org">Spanish version of 
  Lazarus List</A> </DIV>
  <DIV style="FONT: 10pt arial"><B>Sent:</B> Tuesday, April 26, 2011 10:07 
  AM</DIV>
  <DIV style="FONT: 10pt arial"><B>Subject:</B> Re: [Lazarus-es] Formatos 
  númericos en Lazreport</DIV>
  <DIV><BR></DIV>El 26/04/2011 09:52 a.m., Ismael L. Donis García escribió: 
  <BLOCKQUOTE cite=mid:6CEC45DE8CA14792B8BC19F1B4B1EAAB@virpc05 type="cite">
    <META name=GENERATOR content="MSHTML 8.00.6001.18975">
    <STYLE></STYLE>

    <DIV><FONT face=Arial>Como podría formatear un campo numérico para cuando 
    tenga valor 0 me salga -, ósea un signo de menos.</FONT></DIV>
    <DIV> </DIV>
    <DIV><FONT face=Arial>Ejemplo:</FONT></DIV>
    <DIV> </DIV>
    <DIV><FONT face=Arial>Num       
    Fecha        Valor 
    CUC     Valor CUP</FONT></DIV>
    <DIV><FONT face=Arial>===       
    =======    =========    ========</FONT></DIV>
    <DIV><FONT 
    face=Arial>1           
    1/4/2011                 
      
    -              120.59 
    </FONT></DIV>
    <DIV><FONT 
    face=Arial>2           
    1/4/2011             
    10.85                    -  
    </FONT></DIV>
    <DIV> </DIV><BR></BLOCKQUOTE>Hola Ismael..<BR>te puedes definir una 
  función propia, por ejemplo llamada FORMATO<BR><BR>en el reporte, pones donde 
  va el valor, en vez de 
  [qry."CAMPO"]<BR>esto:<BR>[FORMATO([qry."CAMPO"])]<BR><BR>¿dónde la defines? 
  en el evento OnUserFunction del componente frreport.<BR>Acá te pego un ejemplo 
  que uso (obtengo segundos de la consulta,  que quiero mostrarlos con el 
  formato d hh:mm:ss<BR><BR><BR>procedure 
  THorasOperario.rptInformeUserFunction(const AName: String; p1, p2,<BR>  
  p3: Variant; var Val: Variant);<BR>var<BR>  Secs: 
  integer;<BR>begin<BR>  if AName='SEG2TIME' then 
  begin<BR>    Secs := 
  frParser.Calc(P1);<BR><BR>    Val :=  format('%dd ',[Secs 
  div SecsPerDay]);<BR>    Secs := Secs mod 
  SecsPerDay;<BR>    Val := Val + format('%.2d:', [Secs div 
  3600]);<BR>    Secs := Secs mod 3600;<BR>    Val 
  := Val + format('%.2d:',[Secs div 60]);<BR>    Secs := Secs mod 
  60;<BR>    Val := Val + format('%.2d',[Secs]);<BR>  
  end;<BR>end;        <BR><BR>Espero te 
  sirva!<BR>chauuuuuuu<BR><BR>
  <P>
  <HR>

  <P></P>_______________________________________________<BR>Lazarus-es mailing 
  list<BR>Lazarus-es@lists.lazarus.freepascal.org<BR>http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es<BR></BLOCKQUOTE></BODY></HTML>