Olá pessoal nesta Quick irei continuar mostrando funções de data no Delphi

Obtendo a quantidade de dias para um determinado ano

                Quando estamos trabalhando com datas, geralmente precisamos saber a quantidade de dias

que um determinado ano possui, ou seja, alguns anos possuem 365 dias, outros possuem 366.

A unit DateUtils possui uma função chamada DaysInAYear() que serve para este propósito. Ela

aceita um inteiro representando o ano desejado e retorna um inteiro representando a

quantidade de dias que tal ano possui. Veja o exemplo:

procedure TForm1.Button1Click(Sender: TObject);

var

ano, dias_ano: Integer;

begin

ano := 2010;

// vamos obter a quantidade de dias para o

// ano de 2010

dias_ano := DaysInAYear(ano);

// exibe o resultado

ShowMessage('O ano informado contém ' + IntToStr(dias_ano) +

' dias');

end;

                Este trecho de código nos informará que o ano de 2010 possui 365 dias. Note que o

argumento para a função DaysInAYear() deve estar entre 1 e 9999 (inclusive).

INSERINDO UMA BARRA DE STATUS

Vamos criar uma barra de status num formulário para mostrar a data por extenso.

. Insira um Componente StatusBar, da paleta WIN32 e mude a propriedade

Name para stbDatahora;

. No Object Inspector selecione a propriedade Panels e dê um clique

no símbolo [...];

.Clique no botão add New para adicionar um painel no Componente

StatusBar;

. Insira mais dois Painéis no componente Status Bar como

demonstra figura 07:

. Mude as seguintes propriedades dos Componentes TstatusPanel:

Alignment taCenter

Width 120

MONSTRANDO A DATA NA BARRA DE STATUS

Iremos Criar agora uma função para mostrar a Data na Barra

de Status. Para isso, selecione o formulário e tecle F12. receberá o código do formuláriol, no

editor de código, localize a Palavra Public:

private

{ Private declarations }

public

{ Public declarations }

end;

. Depois da Linha “{Public declarations}” digite o seguinte código:

Public

{ Public declarations }

Function DataStatus: String;

. Localize a palavra Implementation e digite após ele o seguinte código

para a função DataStatus ou tecle Ctrl + Shift + C:

implementation

{$R *.dfm}

Function Tform.DataStatus:String;

Const

Meses :Array[1..12] of String =

(‘janeiro’,’Fevereiro’,’Março’,’Abril’,’Maio’,

‘Junho’,’Julho’,’Agosto’,’Setembro’,’Outubro’,

‘Novembro’,’Dezembro’);

Semana:Array[1..7] of string =

(‘Domingo’,’Segunda-Feira’,’Terça-Feira’,

‘Quarta-Feira’,’Quinta-Feira’,’Sexta-Feira’,

‘Sabado’);

var

Dia, Mes, Ano, DiaSem:Word;

begin

DecodeDate(Date,Ano, Mes,Dia);

DiaSem:=DayofWeek(Date);

Result:=Semana[DiaSem]+ ‘,’+InttoStr(dia) +

‘ de ‘+ Meses[Mes] + ‘ de ‘ + IntToStr(Ano);

end;

                O Vetor Meses representa o nome de todos os meses do ano, e o Vetor Semana o nome de todos os dias da semana. Através da função DecodeDate, o Delphi permite que o programa armazene nas variáveis Dia, Mês e Ano os valores da data atual do sistema. A função DayOfWeek retorna um número inteiro que indica o dia da semana, sendo que o valor pode variar de 1 a 7, onde o valor 1 corresponde ao “Domingo”. Para escrever o dia da semana por extenso, a função posiciona o vetor Semana no valor indicado pela variável DiaSem.

. Tecle F12 e Coloque um componente Timer, da paleta System

no formulário. Dê um Duplo Clique no componente Timer e

digite o código:

procedure Tform.Timer1Timer(Sender: TObject);

begin

stbDataHora.Panels[0].text:=DateToStr(Date); //Transformando a

data em String

stbDataHora.Panels[1].text:=TimeToStr(time);//Transformando a

hora em String

stbDataHora.Panels[2].text:=DataStatus;

end;

Vou ficando por aqui, na próxima continuaremos trabalhando com Data no Delphi

Um abraço

Rubens Antunes

Leia todos artigos da série