estou montando um codigo até muito simples porem não fecha o calculo.
eu tenho o valor da hora pago e ai tenho um dbedit que é digitado a quantidade horas(campo Timer paradox).
a ideia é....pegar o valor da hora e multiplicar pelo tempo de trabalho(00:00:00)
eu fiz assim porem não ta funcionando:
//Função converter Hora para Segundos
function Hora_Seg( Horas:string ):LongInt;
Var Hor,Min,Seg:LongInt;
begin
Horas[Pos(':',Horas)]:= '[';
Horas[Pos(':',Horas)]:= ']';
Hor := StrToInt(Copy(Horas,1,Pos('[',Horas)-1));
Min := StrToInt(Copy(Horas,Pos('[',Horas)+1,(Pos(']',Horas)-Pos('[',Horas)-1)));
if Pos(':',Horas) > 0 then
Seg := StrToInt(Copy(Horas,Pos(']',Horas)+1,(Pos(':',Horas)-Pos(']',Horas)-1)))
else
Seg := StrToInt(Copy(Horas,Pos(']',Horas)+1,2));
Result := Seg + (Hor*3600) + (Min*60);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
Hora1 : Integer;
sub, sub1, tot:real;
begin
Hora1 := hora1 + Hora_Seg( TimeToStr( Table1.FieldByName('HORA').AsdateTIME )); //total de horas convertendo para segundos
showmessage(Floattostr(HORA1)+' Total de segundos'); //mostra o testezinho.
sub:=strtoFloat(table1Vhora.asstring); //pega o valor da hora
showmessage(FloatTostr(sub)+' Valor da Hora'); //mostra
sub1:=((sub / 60)/60); // aqui calculo o valor por segundo
showmessage(FloatTostr(sub1)+' Valor p/ segundo'); mostra
Tot := hora1 * sub1; //aqui multiplicada a quantidade de segundos pelo valor do segundo
showmessage(Floattostr(tot)+' Valor da Hora Calculado'); //mostra o valor a ser pago.
end;
é apenas um testezinho que estou brincando para montar um calculo no programa...mas não funca la no primeiro showmessage
eu coloquei 01:00:00 (uma hora) e a mensagem diz que uma hora é 1311636 segundos. mas é 3600 segundos
Por fafor alguém poderia me dizer o que esta de errado? :blush:
Pergunta
Eder
Ola..
estou montando um codigo até muito simples porem não fecha o calculo.
eu tenho o valor da hora pago e ai tenho um dbedit que é digitado a quantidade horas(campo Timer paradox).
a ideia é....pegar o valor da hora e multiplicar pelo tempo de trabalho(00:00:00)
eu fiz assim porem não ta funcionando:
é apenas um testezinho que estou brincando para montar um calculo no programa...mas não funca la no primeiro showmessage
eu coloquei 01:00:00 (uma hora) e a mensagem diz que uma hora é 1311636 segundos. mas é 3600 segundos
Por fafor alguém poderia me dizer o que esta de errado? :blush:
Grato
Editado por EderLink para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.