<!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>