<!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.18939">
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff text=#000000>
<DIV><FONT face=Arial>La declaraste dentro de la base de datos?</FONT></DIV>
<DIV><FONT face=Arial><FONT face=Arial></FONT></FONT> </DIV><FONT size=2
face=Courier><FONT size=2 face=Courier>
<DIV align=left><FONT size=3 face=Arial>DECLARE EXTERNAL FUNCTION
F_SECONDS2PERIOD</FONT></DIV>
<DIV align=left><FONT size=3 face=Arial>INTEGER</FONT></DIV>
<DIV align=left><FONT size=3 face=Arial>RETURNS CSTRING(254)
FREE_IT</FONT></DIV>
<DIV><FONT size=3 face=Arial>ENTRY_POINT 'seconds2period' MODULE_NAME
'freeadhocudf';</FONT></DIV>
<DIV><FONT size=3 face=Arial></FONT> </DIV>
<DIV><FONT size=3 face=Arial>Saludos cordiales</FONT></DIV>
<DIV></FONT></FONT>=========<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> Monday, October 18, 2010 12:21
PM</DIV>
<DIV style="FONT: 10pt arial"><B>Subject:</B> Re: [Lazarus-es] trabajando con
horas</DIV>
<DIV><BR></DIV>El 18/10/2010 01:14 p.m., Ismael L. Donis García escribió:
<BLOCKQUOTE cite=mid:D86DFF5294F74795AF31736E2D617008@virpc05 type="cite">
<META name=GENERATOR content="MSHTML 8.00.6001.18939">
<DIV><FONT face=Arial>Paula hacerlo dentro de un procedimiento tienes que
hacer el chorrete como dices, o caso contrario tienes que hacer un while e
ir llenando los datos con la suma ya que un procedimiento almacenado no se
puede llamar desde un select.</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial>Por tal motivo es mejor hacer una función dentro de
una udf, para eso debes usar delphi o C, lo cual no tengo instalado, pero si
no sabes hacerlo dime que lo instalo y lo hago.</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial>por ejemplo el procedimiento almacenado sería
así:</FONT></DIV><BR></BLOCKQUOTE>Hola Ismael..<BR>ayer estuve mirando una
librería de funciones para firebird: freeadhocudf<BR><A
class=moz-txt-link-freetext
href="http://freeadhocudf.org/documentation_english/dok_eng_datum.html#umwandeln">http://freeadhocudf.org/documentation_english/dok_eng_datum.html#umwandeln</A><BR><BR>que
tiene esta función:<BR>
<TABLE border=0 cellSpacing=0 cellPadding=0 width=795>
<TBODY>
<TR>
<TD style="BACKGROUND-COLOR: rgb(255,255,204); FONT-WEIGHT: bold"
vAlign=top colSpan=2 align=left>F_SECONDS2PERIOD</TD>
<TD style="BACKGROUND-COLOR: rgb(255,255,204)" vAlign=top
align=left><SPAN style="FONT-WEIGHT: bold"></SPAN><SPAN
style="FONT-WEIGHT: bold"></SPAN><SPAN
style="FONT-WEIGHT: bold">function from adhoc</SPAN></TD></TR>
<TR>
<TD vAlign=top align=left>Entrypoint </TD>
<TD vAlign=top align=left>seconds2period</TD>
<TD vAlign=top align=left><SPAN style="COLOR: rgb(0,153,0)">compatible
with UTF-8</SPAN></TD></TR>
<TR>
<TD style="BACKGROUND-COLOR: rgb(232,232,255)" vAlign=top
align=left>Input</TD>
<TD style="BACKGROUND-COLOR: rgb(232,232,255)" vAlign=top
align=left>INTEGER</TD>
<TD style="BACKGROUND-COLOR: rgb(232,232,255)" vAlign=top
align=left>seconds of a period</TD></TR>
<TR>
<TD style="BACKGROUND-COLOR: rgb(232,232,255)" vAlign=top
align=left>Output</TD>
<TD style="BACKGROUND-COLOR: rgb(232,232,255)" vAlign=top
align=left>CSTRING(254) </TD>
<TD style="BACKGROUND-COLOR: rgb(232,232,255)" vAlign=top
align=left>period in pattern d:h:m:s </TD></TR>
<TR>
<TD vAlign=top colSpan=3 align=left>The output is allways in pattern
days:hours:minutes:seconds (4 * 2 digit intervalls).<BR>Negativ periods
starts with "-".<BR>TestSQL<BR>SELECT '00:01:10:05' AS
ISCORRECT, F_SECONDS2PERIOD(4205) FROM RDB$DATABASE;<BR>SELECT
'-00:01:10:05' AS ISCORRECT, F_SECONDS2PERIOD(-4205) FROM
RDB$DATABASE;<BR>SELECT NULL AS ISCORRECT, F_SECONDS2PERIOD(NULL) FROM
RDB$DATABASE;</TD></TR></TBODY></TABLE><BR>la cosa que no lo pude hacer
funcionar!!..<BR>coloqué la dll en la carpeta UDF de firebird, reinicié el
server, pero cuando voy a probarla desde el ibexpert me dice que la función no
existe. Quizás me esté faltando hacer algo..<BR>chauuuuuuuu<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>