Quick Tips: Data no Delphi - Parte VI

Veja nesta Quick como trabalhar com datas no Delphi.

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

Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados