quinta-feira, 26 de abril de 2012

Delphi - Calcular diferença entre datas

Boa noite amigos,
Mostrarei algumas funções que podem ser úteis para calcular a diferença entre datas. Mostrarei uma função chamada numa tela que possui dois combos de data, um memo e um botão para calcular a diferença entre as datas. Essa diferença pode ser calculada em anos, meses, dias, horas, minuto ou segundos. Veja abaixo:

procedure Tfrm1.btnMostrarTempoClick(Sender: TObject);
var
  iAnos, iMeses, iDias, iHoras, iMinutos, iSegundos : Integer;
  dTempoAtendimento, dDataInicial, dDataFinal : TDateTime;
  sTexto : string;
begin
  dDataInicial := dtinicial.Date;
  dDataFinal   := dtFinal.Date;
  dTempoAtendimento := (dDataFinal - dDataInicial);

  iAnos     := YearsBetween(dDataInicial, dDataFinal);
  iMeses    := MonthsBetween(dDataInicial, dDataFinal);
  iDias     := DaysBetween(dDataInicial, dDataFinal);
  iHoras    := HoursBetween(dDataInicial, dDataFinal);
  iMinutos  := MinutesBetween(dDataInicial, dDataFinal);
  iSegundos := SecondsBetween(dDataInicial, dDataFinal);

  sTexto := sTexto + 'Modo DateUtils:';
  sTexto := sTexto + #13#10;
  sTexto := sTexto + 'Anos: ' + IntToStr(iAnos);
  sTexto := sTexto + #13#10;
  sTexto := sTexto + 'Meses: ' + IntToStr(iMeses);
  sTexto := sTexto + #13#10;
  sTexto := sTexto + 'Dias: ' + IntToStr(idias);
  sTexto := sTexto + #13#10;
  sTexto := sTexto + 'Horas: ' + IntToStr(iHoras);
  sTexto := sTexto + #13#10;
  sTexto := sTexto + 'Minutos: ' + IntToStr(iMinutos);
  sTexto := sTexto + #13#10;
  sTexto := sTexto + 'Segundos: ' + IntToStr(iSegundos);
  sTexto := sTexto + #13#10;
  sTexto := sTexto + #13#10;

  sTexto    := sTexto + 'Modo Calculo Manual:';
  sTexto    := sTexto + #13#10;
  iHoras    := StrToIntDef( FormatDateTime('hh', dTempoAtendimento ), 0);
  iMinutos  := StrToIntDef( FormatDateTime('nn', dTempoAtendimento ), 0);
  iSegundos := StrToIntDef( FormatDateTime('ss', dTempoAtendimento ), 0);
  sTexto    := sTexto + 'Horas: ' + IntToStr(iHoras);
  sTexto    := sTexto + #13#10;
  sTexto    := sTexto + 'Minutos: ' + IntToStr(iMinutos);
  sTexto    := sTexto + #13#10;
  sTexto    := sTexto + 'Segundos: ' + IntToStr(iSegundos);


  mmo1.Text := sTexto;
end;

Obs.: Declare a unit "DateUtils" na sua classe.

quarta-feira, 18 de abril de 2012

Como habilitar o IIS no Windows 7

Pessoal, segue abaixo o link com o passo a passo:
http://technet.microsoft.com/pt-br/library/cc731911%28v=ws.10%29.aspx
Muiti direto e prático! Boa sorte!