[firebase-br] Procedure em C para UDF

Paulo Geloramo paulogeloramo em terra.com.br
Qua Jan 17 18:43:21 -03 2007


Pode usar uma instrução SQL ou uma SP, pois
basta subtrair 1 do dia primeiro do mes seguinte:

Exemplo:
Ultimo dia de fevereiro :=
01/03/AAAA - 1

[]s
Paulo Geloramo

-----Mensagem Original----- 
De: "Gelson Borsoi Lista Firebase" <firebase em borsoi.com.br>
Para: <lista em firebase.com.br>
Enviada em: quarta-feira, 17 de janeiro de 2007 17:19
Assunto: [firebase-br] Procedure em C para UDF


Olá a todos.

Gostaria de saber se alguém da lista teria disponibilidade para transcrever
a procedure Delphi abaixo para C:

procedure UltDiaMesData(Ret: PFBTS; var dData: TFBDate); cdecl; export;
var
  R: TDateRec;
begin
  R := FBDecDate(dData);
  Ret^.Date := FBEncDate(DateRec(R.Year, R.Month, LastDay(R.Year, R.Month)));
  Ret^.Time := FBEncTime(TimeRec(23, 59, 59));
end;

A mesma está registrada no Firebird da seguinte maneira:

DECLARE EXTERNAL FUNCTION ULTDIAMESDATA
    TIMESTAMP,
    TIMESTAMP
RETURNS PARAMETER 1
ENTRY_POINT 'UltDiaMesData' MODULE_NAME 'vsudf'

Essa declaração poderá ser alterada se necessário.

Desde já agradeço.

Gelson Borsoi

--
http://www.borsoi.com.br)






Mais detalhes sobre a lista de discussão lista