[firebase-br] Procedure em C para UDF

Gelson Borsoi Lista Firebird firebase em borsoi.com.br
Sex Set 28 09:38:03 -03 2007


Olá a todos.

Gostaria de saber se alguém da lista poderia transcrever 
a procedure Delphi abaixo para C. A mesma recebe uma data completa qualquer 
e retorna o último dia do mês referente a data informada. Por exemplo: 
informo 15102007, a função retorne 31102007.

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 TIMESTAMP
ENTRY_POINT 'UltDiaMesData' MODULE_NAME 'vsudf'

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

Desde já agradeço.

Gelson Borsoi




Mais detalhes sobre a lista de discussão lista