Aumentando a Biblioteca – Parte I
Vamos começar uma série de artigos com funções muito usadas por programadores nas mais variadas aplicações. Se colocarmos todas elas em uma DLL, por exemplo, poderemos assim otimizar tempo e ganhar em rendimento no executável final.
Vamos começar com três pequenas funções que envolvem operação e validação de tempo, vejamos:
1 – OperaHora
Descrição: Função que recebe uma hora inicial tipo string e comandos para efeturar uma operação e retorna a Hora modificada tipo string.
Parâmetros:
Hora,HMS,MaisOuMenos,Quantidade – Todos os parâmentros são tipo String.
Hora: Hora que vai ser modificada.
HMS: ‘H’ para modificar Hora, ‘M’ para modificar minuto e ‘S’ para modificar segundo.
MaisOuMenos: ‘Mais’ para operação de soma e ‘Menos’ para operação de subtração.
Quantidade: Quantidade a ser efetuada.
Exemplo: OperaHora(’10:00:00′,’M',’Mais’,’10′) – Retorno: ’10:10:00′.
Limitações: a ‘Hora’ tem que estar no formato ‘HH:MM:SS’, você não pode efetuar operações com horas maiores que 23 e minutos e segundos maiores que 59. Nenhum valor pode ser negativo.
function OperaHora(Hora: String;HMS: String;MaisOuMenos: String;Quantidade:String):String; var  Prim : TDateTime;  Opera: TDateTime; begin  Prim := StrToTime(Hora);  if (HMS='H') then Opera:= StrToTime(Quantidade+':00:00')  else if (HMS='M') then Opera:= StrToTime('00:'+Quantidade+':00')  else if (HMS='S') then Opera:= StrToTime('00:00:'+Quantidade);  if (MaisOuMenos='Mais') then Result := TimeToStr(Prim+Opera)  else Result := TimeToStr(Prim-Opera); end;
2 – AnoBis
Descrição: Função que retorna se uma ano é bissexto.
Parâmetros: Ano – parâmetro tipo string.
Exemplo: AnoBis(1972) – Retorno: False.
Limitações: A entrada tem que ser tipo ‘integer’ e no formato de quatro algarismos AAAA.
function AnoBis(Ano: Integer):Boolean; var  Resto:Integer; begin  Resto:=Ano mod 4;  if Resto=0 then Result:=True     else Result:=False; end;
3 – DiaSemana
Descrição: Retorna o dia da semana por extenso.
Parâmetros: Data – parâmetro tipo string (Formato: DD/MM/AAAA).
Exemplo: DiaSemana(’25/12/2003′) – Retorno: ‘Quinta-Feira’.
Limitações: Não existe limitações se respeitados os parâmetros.
function DiaSemana(Data:Tdate): String;  Const Dia: array [1..7] of String=('Domingo','Segunda-Feira','Terça-Feira','Quarta-Feira',          'Quinta-Feira','Sexta-Feira','Sábado'); begin  Result:=Dia[DayOfWeek(Data)]; end;
Agora você guarda essas rotinas para acrescentar as próximas que iremos fazer. Até a próxima!

Deixe seu comentário