Problemas com Time no dbgrid!
Boa tarde de novo pessoal. O meu problema com time é o seguinte o usuario tera que colocar a hora de entrada e hora de saida dai vou subtrair para saber a quantidade exata de horas trabalhadas até ai tudo certo a conta é feita no evento oncalcFields da tb. Agora começa o problema é que tenho que analisar este resultado da subtração e separar em um campo até duas horas trabalhadas e no outro de duas pra cima. Usei uma função If para analisar mas ele não faz a conta ja tentei tudo o pior é que ja tinha tudo isto pronto mas esqueci por falta de pratica, estou mandando um pedaço do meu codigo no evento oncalcfields para vocês me darem uma luz:
var horaini,horafim,horadif,t50,t100 : Ttime;
begin
horaini:=0;
horafim:=0;
horadif:=0;
T50:=0;
T100:=0;
horaini:=dm.tbdetalhesHmanha1.value;
horafim:=dm.tbdetalhesHmanha2.value;
horadif:=dm.tbdetalhesHmanha2.value - dm.tbdetalhesHmanha1.value;
DM.TBDETALHESTOTAL.ASDATETIME:=HORADIF; // aqui ele me mostra o total de horas
// aqui começo a analisar do total se as horas passaram de duas ou não
if (DM.TBDETALHESTOTAL.VALUE) < ( 2 )
then begin
t50:=DM.TBDETALHESTOTAL.value;
end ;
else if DM.TBDETALHESTOTAL.ASDATETIME >(2)
then begin
t100:=DM.TBDETALHESTOTAL.value-2;
end;
DM.TBDETALHEScalculado.ASDATETIME:=t50; // se for menor que duas
//DM.TBDETALHEScalculado2.ASDATETIME:=t100; // se for maior que duas
uso delphi 5 e tb paradox e os camposcalculados ---> calculado e calculado2 e total são do tipo timer
var horaini,horafim,horadif,t50,t100 : Ttime;
begin
horaini:=0;
horafim:=0;
horadif:=0;
T50:=0;
T100:=0;
horaini:=dm.tbdetalhesHmanha1.value;
horafim:=dm.tbdetalhesHmanha2.value;
horadif:=dm.tbdetalhesHmanha2.value - dm.tbdetalhesHmanha1.value;
DM.TBDETALHESTOTAL.ASDATETIME:=HORADIF; // aqui ele me mostra o total de horas
// aqui começo a analisar do total se as horas passaram de duas ou não
if (DM.TBDETALHESTOTAL.VALUE) < ( 2 )
then begin
t50:=DM.TBDETALHESTOTAL.value;
end ;
else if DM.TBDETALHESTOTAL.ASDATETIME >(2)
then begin
t100:=DM.TBDETALHESTOTAL.value-2;
end;
DM.TBDETALHEScalculado.ASDATETIME:=t50; // se for menor que duas
//DM.TBDETALHEScalculado2.ASDATETIME:=t100; // se for maior que duas
uso delphi 5 e tb paradox e os camposcalculados ---> calculado e calculado2 e total são do tipo timer
Miguel
Curtidas 0
Respostas
Tiago.arrosi
02/04/2003
// aqui começo a analisar do total se as horas passaram de duas ou não
if (DM.TBDETALHESTOTAL.VALUE) < ( 2 )
then begin
t50:=DM.TBDETALHESTOTAL.value;
[color=red:527d8e9c09]end ; [/color:527d8e9c09]
else if DM.TBDETALHESTOTAL.ASDATETIME >(2)
then begin
t100:=DM.TBDETALHESTOTAL.value-2;
end;
na parte em vermelho tire o ponto e virgula após o end, fica assim:
// aqui começo a analisar do total se as horas passaram de duas ou não
if (DM.TBDETALHESTOTAL.VALUE) < ( 2 )
then begin
t50:=DM.TBDETALHESTOTAL.value;
[color=red:527d8e9c09]end [/color:527d8e9c09]
else if DM.TBDETALHESTOTAL.ASDATETIME >(2)
then begin
t100:=DM.TBDETALHESTOTAL.value-2;
end;
if (DM.TBDETALHESTOTAL.VALUE) < ( 2 )
then begin
t50:=DM.TBDETALHESTOTAL.value;
[color=red:527d8e9c09]end ; [/color:527d8e9c09]
else if DM.TBDETALHESTOTAL.ASDATETIME >(2)
then begin
t100:=DM.TBDETALHESTOTAL.value-2;
end;
na parte em vermelho tire o ponto e virgula após o end, fica assim:
// aqui começo a analisar do total se as horas passaram de duas ou não
if (DM.TBDETALHESTOTAL.VALUE) < ( 2 )
then begin
t50:=DM.TBDETALHESTOTAL.value;
[color=red:527d8e9c09]end [/color:527d8e9c09]
else if DM.TBDETALHESTOTAL.ASDATETIME >(2)
then begin
t100:=DM.TBDETALHESTOTAL.value-2;
end;
GOSTEI 0