Tema: UDF Firebird
Ver Mensaje Individual
  #3  
Antiguo 09-03-2010
subzero subzero is offline
No confirmado
 
Registrado: ene 2004
Ubicación: Móntería - Córdoba - Colombia
Posts: 289
Reputación: 0
subzero Va por buen camino
Creo que si la tengo declara es más ejecuto el siguiente script

Código SQL [-]
DECLARE EXTERNAL FUNCTION ECUACION
  DECIMAL(18, 4),
  DECIMAL(18, 4),
  DECIMAL(18, 4),
  DECIMAL(18, 4),
  DECIMAL(18, 4),
  DECIMAL(18, 4),
  DECIMAL(18, 4)
RETURNS DECIMAL(18, 4) BY VALUE
ENTRY_POINT 'ecuacion' MODULE_NAME 'MIS_UDFS';

Para más info anexo el codigo de la dll hecha en delphi:

Código Delphi [-]
library MIS_UDFS;

uses
  SysUtils,
  Classes;

function ecuacion(var cant, bonif, costo, desc, desc2, desc3, present : real) : Real;stdcall;
var dt1, dt2, dt3, costo_dts : real;
begin
  dt1 := 0; dt2  := 0; dt3  := 0; costo_dts  := 0;
  dt1       := Costo * (desc/100);
  costo_dts := Costo - dt1;
  dt2       := costo_dts * (desc2/100);
  costo_dts := costo_dts - dt2;
  dt3       := costo_dts * (desc3/100);
  costo_dts := costo_dts - dt3;
  costo_dts := (costo_dts * cant)/(cant + bonif);
  result := costo_dts / Present;
end;

exports ecuacion;

begin
end.
Responder Con Cita