Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-07-2006
Avatar de armadillo
armadillo armadillo is offline
Miembro
 
Registrado: abr 2005
Posts: 35
Poder: 0
armadillo Va por buen camino
UDF's para Firebird con FreePascal/Lazarus

Colegas del Foro,
Estoy empezando a hacer mis primeros pinitos programando librerias, y
las estoy haciendo en Lazarus/FreePascal, ya que yo utilizo Firebird
con Linux, y Lazarus me da la ventaja de poder compilar en varios SO.
Bien, no he tenido mucha suerte con el tema, asi que pregunto a ver si
alguien podría darme una mano.
Buscando información en Internet, cosa que mucho no encontré (en
castellano por supuesto), he llegado a crear esto:

Código Delphi [-]library MisUDFs; {$mode objfpc}{$H+} uses Classes; function Duplicar(var valor:real):real;export; begin result:=valor*2; end; exports Duplicar name 'Duplicar'; begin end.


Como ven es una simple libreria con una sola funcion llamada Duplicar
que simplemente toma un valor y lo multimplica por 2 y listo.

Luego publique esta UDF en Firebird 1.5 (la que uso), de la siguiente
manera:

Código SQL [-]DECLARE EXTERNAL FUNCTION DOBLE DOUBLE PRECISION RETURNS DOUBLE PRECISION BY VALUE ENTRY_POINT 'Duplicar' MODULE_NAME 'libMisUDFs';


Hasta aqui todo perfecto, ningun error, luego para probar la UDF en
Firebird, ejecute la siguiente sentencia:

Código SQL [-]SELECT precio, doble(precio) FROM ventaDET


pero el resultado no es el deseado, lo que sale es lo siguiente:
PRECIO DOBLE
------ -----
698.940 0.000
412.790 0.000
....... .....
123.010 0.000

Como ven en la columna DOBLE siempre obtengo el resultado 0.000.
Puede ser que el problema este en los tipos de datos, cosa que yo
realmente no tengo claro, si en este caso en FreePascal utilizo un
dato de tipo real, que tipo de dato debería utilizar en FireBird?



Disculpen si este no es la lista adecuada para hacer esa consulta,
pero se que hay gente muy capacitada en la lista que utiliza este
tipo de herramientas.

Desde ya muchas gracias
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
ayuda para usar lazarus Robert01 Linux 9 21-08-2006 12:09:35
FreePascal Compilar en Linux marceloalegre Linux 0 30-05-2005 21:24:48
...Freepascal o Delphi 2005.... Jure Noticias 0 21-05-2005 17:16:51
Problema con parámetros en UDF's Héctor Randolph Firebird e Interbase 5 21-12-2004 08:59:55
UDF's y php laaccaal Firebird e Interbase 1 05-07-2004 14:58:22


La franja horaria es GMT +2. Ahora son las 22:37:51.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi