soma de datas

Delphi

19/01/2004

Amigos,

Tenho que calcular a quantidade de tempo de trabalho dos funcionários de uma empresa!
Tenho 4 DBs onde aparecem os horário de entrada e saída que estão à seguir
dbedit5.Text (saída)
dbedit4.Text (chegada do almoço)
dbedit3.Text(saída para almoço)
dbedit2.Text(chegada)

Como faço para calcular esta quantia?
Usei a fórmula:
ltotal.Caption := (dbedit5.Text - dbedit4.Text)+(dbedit3.Text - edit2.Text)
Claro que está dando erro, no banco está armazenado como time! Alguém sabe como posso fazer isso?

Abraços!


Leonardo Bonoto

Leonardo Bonoto

Curtidas 0

Respostas

Maicongabriel

Maicongabriel

19/01/2004

Utilize a função [b:335fde7210]StrToTime()[/b:335fde7210] sobre os dados antes de soma-los ou subtrai-los!


GOSTEI 0
Leonardo Bonoto

Leonardo Bonoto

19/01/2004

Já tentei isso, amigo. mas deu erro
ltotal.Caption := strtotime(dbedit5.Text) - strtotime(dbedit4.Text)

dá tipos incompatíveis: String e Extended


GOSTEI 0
Maicongabriel

Maicongabriel

19/01/2004

ltotal.Caption := TimeToStr(StrToTime(dbedit5.Text) - StrToTime(dbedit4.Text));


Então é só você voltar os dados de Time para String com a função [b:cdd9ef8c08]TimeToStr()[/b:cdd9ef8c08] !!! :evil:


GOSTEI 0
Leonardo Bonoto

Leonardo Bonoto

19/01/2004

AMigo, muito obrigado!
Que Deus lhe retribue em dobro!
Obrigado pela atenção e muita Sorte e Paz, pra você!


GOSTEI 0
Lucas Silva

Lucas Silva

19/01/2004

por que você não transforma tudo em segundos, faz seus cálculos, e depois converte em hora denovo, eu acho bem mais fácil..


Lucas!


GOSTEI 0
Maicongabriel

Maicongabriel

19/01/2004

[quote:344f81f879=´Lucas Alves Silva´]por que você não transforma tudo em segundos, faz seus cálculos, e depois converte em hora denovo, eu acho bem mais fácil..[/quote:344f81f879]

Pode ser que seja!
Mas eu segui a lógica do Leonardo, e alias, por que você não respondeu a pergunta ? Ao invés de criticar o modo como foi feito ?
Então só para constar, solicito à você que poste a sua função ai !

[]´s


GOSTEI 0
POSTAR