Como colocar o horário correto?

13/05/2003

0

:lol:
Estou desenvolvendo um programa de ponto eletrônico e preciso colocar o horário correto.
Se o funcionário entrar antes das 8h deverá aparecer no Label, no caso Label3, o horário 8h. Se ele entrar após as 8h, o horário real deverá ser mostrado no Label3.
Depois, se o funcionário sair antes das 18h, o horário de saída deve ser marcado no Label4, como o horário real de saída.
Se ele sair entre 18h a 18h15, o horário marcado no Label4 deve ser 18h.
Se ele sair após 18h15, o horário de saída deve ser o horário real e deverá ser mostrado no Label4.
Estou enviando o código que fiz, porém não está funcionando de acordo com essas condições. Os horários sempre aparecem no Label4 e sempre são o horário real.
Se alguém puder, por favor, me ajude!!!


procedure TForm1.BitBtn1Click(Sender: TObject);

var
Ano,Mes,Dia:Word;
Hora,Min,Sec,MSec:Word;
HoraEntrada, HoraSaida: Word;

Begin
Edit2.Enabled:= True;

If (Edit1.text = ´karen´) and (Edit2.Text = ´kaka´) then
begin

If (HoraEntrada >= 1) and (HoraEntrada <= 8) then
Label4.Visible:= False;
Label3.Visible:= True;
Begin
DecodeDate(Now,Ano,Mes,Dia);
DecodeTime(Now,HoraEntrada,Min,Sec,MSec);
ShortDateFormat := ´dd/mm/yyyy´;
LongTimeFormat := ´hh:nn´;
LongDayNames[1] := ´Domingo´; LongDayNames[2] := ´Segunda´; LongDayNames[3] := ´Terça´;
LongDayNames[4] := ´Quarta´; LongDayNames[5] := ´Quinta´; LongDayNames[6] := ´Sexta´;
LongDayNames[7] := ´Sábado´;
Label3.Caption := FormatDateTime(´´Hoje é´ dddd, c´,
StrToDateTime(IntToStr(Dia) + ´/´ + IntToStr(Mes) + ´/´ +
IntToStr(Ano) + ´ ´ + IntToStr(8) + ´:´ +
IntToStr(00) + ´:´ + IntToStr(Sec)));

end;

If (HoraEntrada > 8) and (HoraEntrada <= 18) then
Label4.Visible:= False;
Label3.Visible:= True;
Begin
DecodeDate(Now,Ano,Mes,Dia);
DecodeTime(Now,HoraEntrada,Min,Sec,MSec);
ShortDateFormat := ´dd/mm/yyyy´;
LongTimeFormat := ´hh:nn´;
LongDayNames[1] := ´Domingo´; LongDayNames[2] := ´Segunda´; LongDayNames[3] := ´Terça´;
LongDayNames[4] := ´Quarta´; LongDayNames[5] := ´Quinta´; LongDayNames[6] := ´Sexta´;
LongDayNames[7] := ´Sábado´;
Label3.Caption := FormatDateTime(´´Hoje é´ dddd, c´,
StrToDateTime(IntToStr(Dia) + ´/´ + IntToStr(Mes) + ´/´ +
IntToStr(Ano) + ´ ´ + IntToStr(HoraEntrada) + ´:´ +
IntToStr(Min) + ´:´ + IntToStr(Sec)));


End;

If (HoraSaida > 18) and (HoraSaida <= 18.25 )then
Label4.Visible:= True;
Label3.Visible:= False;
Begin
DecodeDate(Now,Ano,Mes,Dia);
DecodeTime(Now,HoraSaida,Min,Sec,MSec);
ShortDateFormat := ´dd/mm/yyyy´;
LongTimeFormat := ´hh:nn´;
LongDayNames[1] := ´Domingo´; LongDayNames[2] := ´Segunda´; LongDayNames[3] := ´Terça´;
LongDayNames[4] := ´Quarta´; LongDayNames[5] := ´Quinta´; LongDayNames[6] := ´Sexta´;
LongDayNames[7] := ´Sábado´;
Label4.Caption := FormatDateTime(´´Hoje é´ dddd, c´,
StrToDateTime(IntToStr(Dia) + ´/´ + IntToStr(Mes) + ´/´ +
IntToStr(Ano) + ´ ´ + IntToStr(18) + ´:´ +
IntToStr(00) + ´:´ + IntToStr(Sec)));
end;


If (HoraSaida > 18) and (HoraSaida < 1) then
Label3.Visible:= False;
Label4.Visible:= True;
Begin
DecodeDate(Now,Ano,Mes,Dia);
DecodeTime(Now,HoraSaida,Min,Sec,MSec);
ShortDateFormat := ´dd/mm/yyyy´;
LongTimeFormat := ´hh:nn´;
LongDayNames[1] := ´Domingo´; LongDayNames[2] := ´Segunda´; LongDayNames[3] := ´Terça´;
LongDayNames[4] := ´Quarta´; LongDayNames[5] := ´Quinta´; LongDayNames[6] := ´Sexta´;
LongDayNames[7] := ´Sábado´;
Label4.Caption := FormatDateTime(´´Hoje é´ dddd, c´,
StrToDateTime(IntToStr(Dia) + ´/´ + IntToStr(Mes) + ´/´ +
IntToStr(Ano) + ´ ´ + IntToStr(HoraSaida) + ´:´ +
IntToStr(Min) + ´:´ + IntToStr(Sec)));


end;
end
Else
Begin
Edit1.SetFocus;
End;


Case Edit1.Text = ´karen´ of False:
MessageBox (Form1.Handle, ´Nome não encontrado. Verifique se o nome foi digitado corretamente.´, ´Atenção!!!´, 0+64);
End;

Case Edit1.Text = ´karen´ of False:
Edit2.Enabled:= False;
End;

Case Edit1.Text = ´karen´ of True:
Edit2.SetFocus;
End;

Case Edit1.Text = ´karen´ of True:
Edit2.Enabled:= True;
End;


End;

End.


Kaybueno

Kaybueno

Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar