Esse artigo faz parte da revista Clube Delphi edição 20. Clique aqui para ler todos os artigos desta edição

 

Atenção: por essa edição ser muito antiga não há arquivo PDF para download. Os artigos dessa edição estão disponíveis somente através do formato HTML. 

 

CRIANDO UDF’S PARA O INTERBASE

Parte II - Datas

 

Na edição anterior, vimos como criar funções dentro de DLL’s para serem usadas dentro do Interbase. Essas funções são as chamadas UDF’s que, como vimos, são funções criadas pelo usuário do Interbase em qualquer linguagem de programação capaz de gerar uma DLL.

Vimos também como importá-las para dentro do Interbase, assim como detalhes sobre suas funcionalidades. Agora, damos continuidade à matéria, com a criação de mais duas UDF’s. Uma delas será bastante interessante, pois ela trabalhará com o tipo DATA. Só que para criar uma UDF que utilize tipos DATA é diferente de criar uma variável do tipo TDate no Delphi.

Criaremos duas UDF’s; a primeira trará o dia de uma data e a segunda trará o total de dias de um determinado mês e de um determinado ano (incluindo anos bissextos). Veja o código completo a seguir.

 

library Datas;

 

uses Windows, Sysutils;

 

const

  IBASE_DLL = 'gds32.dll';

 

  MonthDays: array [Boolean] of

     array[1..12] of Word =

     ((31, 28, 31, 30, 31, 30, 31,

       31, 30, 31, 30, 31),

      (31, 29, 31, 30, 31, 30, 31,

       31, 30, 31, 30, 31));

type

  Long      = LongInt; // 32 bit signed

  ULong     = DWord;   // 32 bit unsigned

  ISC_LONG  = Long;    // 32 bit signed

  UISC_LONG = ULong;

...

Quer ler esse conteúdo completo? Tenha acesso completo