[Lazarus-es] trabajando con horas
Ismael L. Donis García
ismael en citricos.co.cu
Lun Oct 18 19:19:32 CEST 2010
Se me olvidó decirte que si tienes los fuentes de esa UDF le puedes agregar la función que desees o caso contrario te puedes crear una UDF para ti con las funciones que desees, también las puedes solicitar que sean agregadas al proyecto de Firebird y si se unen más personas a tu pedido se incorpora para las nuevas versiones. Y ahí unas de las ventajas de este proyecto al ser libre.
También te puedes bajar el código fuente de estas librerías y agregarle la función que desees. Recuerden que Firebird al igual que Lazarus es free y de código abierto, ósea puedes descargar el código fuente y modificarlo a tu antojo.
Saludos reiterados
=========
|| ISMAEL ||
=========
----- Original Message -----
From: Paola Bruccoleri
To: Spanish version of Lazarus List
Sent: Monday, October 18, 2010 12:21 PM
Subject: Re: [Lazarus-es] trabajando con horas
El 18/10/2010 01:14 p.m., Ismael L. Donis García escribió:
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.
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.
por ejemplo el procedimiento almacenado sería así:
Hola Ismael..
ayer estuve mirando una librería de funciones para firebird: freeadhocudf
http://freeadhocudf.org/documentation_english/dok_eng_datum.html#umwandeln
que tiene esta función:
F_SECONDS2PERIOD function from adhoc
Entrypoint seconds2period compatible with UTF-8
Input INTEGER seconds of a period
Output CSTRING(254) period in pattern d:h:m:s
The output is allways in pattern days:hours:minutes:seconds (4 * 2 digit intervalls).
Negativ periods starts with "-".
TestSQL
SELECT '00:01:10:05' AS ISCORRECT, F_SECONDS2PERIOD(4205) FROM RDB$DATABASE;
SELECT '-00:01:10:05' AS ISCORRECT, F_SECONDS2PERIOD(-4205) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_SECONDS2PERIOD(NULL) FROM RDB$DATABASE;
la cosa que no lo pude hacer funcionar!!..
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..
chauuuuuuuu
------------------------------------------------------------------------------
_______________________________________________
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/20101018/aca80e5f/attachment-0002.html>
More information about the Lazarus-es
mailing list