Fórum Como fazer este calculo!!!!! #231061
10/05/2004
0
Estou fazendo um sistema que recebe a quantidade de horas que o usuario usou o
computador. Exemplo: HoraTotal = 05:00:00
Em outro campo eu tenho o preço da hora Exemplo: ValorHora = R$ 2,00
Gostaria de multiplicar estes campos para poder gerar o valor total ... mas so da
erro de conversão de dados... Alguem poderia me ajudar a converter estes dados para
que eu possa fazer o calculo sem problemas !?
Abraços
Igor
I_prada
Curtir tópico
+ 0Posts
10/05/2004
Kandrus
De maiores informações para que possamos te ajudar
Gostei + 0
10/05/2004
Rodolpho123
Tente isto:
procedure TForm1.Button1Click(Sender: TObject); var hora: TTime; format: string; resultado,moeda: Double; begin hora:= StrToTime(MaskEdit1.Text); // Aqui converte a sua hora para o formato horário Format:= FormatDateTime(´hh,nn´,hora);//Aqui formata para valor decimal a sua hora resultado:= StrToFloat(format) * 2.50; // Aqui faz o cálculo ShowMessage(FloatToStr(resultado)); // Resultado end;
Gostei + 0
10/05/2004
Eduardo_lcouto
Acho que isso pode te ajudar.
Gostei + 0
10/05/2004
Aroldo Zanela
1. Crie uma unit para implementar a seguinte classe:
unit Unit2;
interface
uses Controls, SysUtils;
Type
TCalcularPreco = Class(TObject)
private
FTempo: TTime;
FValorTotal: Currency;
FValorHora: Currency;
public
property TempoDecorrido: TTime read FTempo write FTempo;
property ValorTotal: Currency read FValorTotal;
property ValorHora: Currency read FValorHora write FValorHora;
procedure Execute;
end;
implementation
{ TCalcularPreco }
procedure TCalcularPreco.Execute;
var TempoTotalMinutos: Integer;
Horas, Minutos, Segundos, mSegundos: Word;
begin
DecodeTime(FTempo, Horas, Minutos, Segundos, mSegundos);
TempoTotalMinutos:= (Horas * 60) + Minutos + Integer(Segundos>30);
FValorTotal := TempoTotalMinutos * (FValorHora / 60 );
end;
end.Note que a função calcula o valor para hora e minutos, sendo que, se passar de trinta segundos, será calculado o minuto completo (type casting).
2. Adicione a mesma na lista de uses de seu formulário, e poderá utilizar conforme o exemplo abaixo:
procedure TForm1.Button1Click(Sender: TObject); begin with TCalcularPreco.Create do begin TempoDecorrido:= StrToTime(MaskEdit1.Text); // 05:00:00 ValorHora:= rxCalcEdit1.Value; // 2.00 Execute; ShowMessage(CurrToStr(ValorTotal)); Free; end; end;
Gostei + 0
11/05/2004
I_prada
Vou tentar todos opções que vcs me passaram ... valeu mesmo !!!
[]´s
Igor
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)