Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

arthur1919

Delphi

Recommended Posts

GALERA ESTOU FAZENDO UM CURSO PARA APRENDER DELPHI, ESTOU TENTANDO RESPONDER ESTA QUESTÃO MAS DANDO UM ERRO E EU Ñ SEI O QUE FAZER

 

A QUESTÃO É

 

CRIE UM PROJETO QUE DESCUBRA O DIA DA SEMANA EM QUE UMA PESSOA NASCEU, DE ACORDO COM A DATA DIGITADA.

 

EU COMECEI FAZENDO

 

COLOQUEI UM LABEL E UMA EDIT PARA A DATA SER DIGITADA E DEPOIS UM BUTTON PARA EXIBIR O DIA DA SEMANA AO CLICAR NELE.

 

var

Form1: TForm1;

Data:TDateTime;

 

implementation

 

{$R *.dfm}

 

procedure TForm1.Edit1Change(Sender: TObject);

begin

Data:=StrtoDate(Edit1.text);

end;

 

procedure TForm1.Button1Click(Sender: TObject);

begin

ShowMessage('O dia é: '+ DateToStr(DayOfWeek(Data)))

end;

 

end.

 

AJUDEM POR FAVOR

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigo!

 

Na realidade, a função DayOfWeek irá te retornar um inteiro correspondente ao dia da semana, sendo que:

 

1 = Domingo

2 = Segunda-feira

3 = Terça-feira

4 = Quarta-feira

5 = Quinta-feira

6 = Sexta-feira

7 = Sábado

 

Para ficar da forma como eu "imagino" que você deseja, você poderia fazer assim:

 

case DayOfWeek( Data ) of

1: sDia := 'Domingo';

2: sDia := 'Segunda-feira';

3: sDia := 'Terça-feira';

4: sDia := 'Quarta-feira';

5: sDia := 'Quinta-feira';

6: sDia := 'Sexta-feira';

7: sDia := 'Sábado';

end;

 

ShowMessage( sDia );

 

Compreendeu a idéia? :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

sDia é uma variavel string?

ta dando o seguinte erro

 

project project2.exe raised exception class EConvertion Error with message "5" is not a valid date.Process stopped use step or run to continue

 

5 foi o numero digitado na edit para testar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigo!

 

 

 

COLOQUEI UM LABEL E UMA EDIT PARA A DATA SER DIGITADA E DEPOIS UM BUTTON PARA EXIBIR O DIA DA SEMANA AO CLICAR NELE.

 

Até aonde eu li e compreendi, no seu Edit você digita a data, e não um número qualquer.

 

Abaixo, segue um exemplo para facilitar sua compreensão com a utilização da função DayOfWeek.

 

[ Download ]

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigo!

 

Você chegou a baixar o exemplo que compartilhei com você para ver como funciona a função DayOfWeek?

 

 

procedure TForm1.Edit1Change(Sender: TObject);

begin
Data:=StrtoDate(Edit1.text);
end;

 

O erro é provocado por causa do código acima. Comente essa linha e troque para o evento OnExit do Edit1.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.