EderDias 0 Denunciar post Postado Julho 20, 2007 Ola..pessoal...tenho que fazer uma rotina envolvendo contagem de horas....eu até fiz um if...mas é muito trabalhoso.....acho que teria uma maneira de fazer com codigo mais enxuto e simples..mas não to conseguindo montar o codigo. fiz assim atraves de if...funcionar perfeito: procedure TForm1.Button1Click(Sender: TObject);var HrTotal : TdateTime;beginHrTotal:=STRTOTIME(Maskedit1.Text);//If Hrtotal <= StrToTime('12:00:00') thenBeginMaskedit2.Text:=('09:00:00');Exit;end;{se for hora superior a 12:00:00 ele paga 09:00:00e assim por diante como esta abaixo até zerar a hora do maskedit2 }If Hrtotal = strtotime('12:01:00') then Begin Maskedit2.Text:=('08:59:00'); end;If Hrtotal = strtotime('12:02:00') then Begin Maskedit2.Text:=('08:58:00'); end;If Hrtotal = strtotime('12:03:00') then Begin Maskedit2.Text:=('08:57:00'); end;If Hrtotal = strtotime('12:04:00') then Begin Maskedit2.Text:=('08:58:00'); end;end; é como esta no codigo acima o raciocinio...mas note que fiz um if pra verificar as horas minutos e dizer o que vai receber no maskedit2 mas é muito codigo...acho que um contador resolveria... O racioncinio é a cada minuto que o camarada chega atrazado ele é penalizado(descontado) O Problema é como fazer...alguma dica?? muito Grato Compartilhar este post Link para o post Compartilhar em outros sites
EderDias 0 Denunciar post Postado Julho 23, 2007 Ok...Resolvido 12:00 +09:00 = 21:00 - então se o cara chegar após as 12:00, é diminuido este valor da hora de chegada procedure TForm1.Button1Click(Sender: TObject);var HrTotal : TdateTime;begin HrTotal := StrToTime(Maskedit1.Text); If Hrtotal >= StrToTime('12:00:00') then // calcula se hora for 12:00 ou mais Maskedit2.Text := TimeToStr(StrToTime(21:00:00) -Hrtotal);end;Valew http://forum.imasters.com.br/public/style_emoticons/default/grin.gif Compartilhar este post Link para o post Compartilhar em outros sites