Fórum Calcular pulso... #211234
03/02/2004
0
Como faço para que o Delphi calcule isso?
Uma ligação de 03 Min = R$ 0,12
Uma ligação de 05 Min = R$ 0,24
Uma ligação de 07 Min = R$ 0,24
Uma ligação de 13 Min = R$ 0,48
Desde já, obrigado...
Fariasps
Curtir tópico
+ 0Posts
03/02/2004
Beppe
Succ(Trunc(Min) shr 2) * 0.12
Gostei + 0
03/02/2004
Lucas Silva
function TForm1.CalculaLigacao(Tempo: Integer): Real begin case tempo of 03: Result := 0,12; 05: Result := 0,24; 07: Result := 0,24; 13: Result := 0,48; end; end;
Gostei + 0
03/02/2004
Marconi
Function ValorDaLigação(tempo:Integer):real;
begin
result:=(tempo div 4)*0.12 ;
if (tempo mod 4)>0 then result:=result + 0.12;
end;
Ou seja o valor aumente em 12 centavos a cada 4 minutos.
Se o tempo passar de múltiplos de 4, acrestamos + 12 centavos.
Na verdade é bem melhor voce substituir o número 0.12 por um campo onde voce possa cadastrar a taxa. Quando ela variar bastaria cadastrar o novo valor, sem precisar mexer no programa.
Espero ter ajudado
Marconi
Gostei + 0
03/02/2004
Fariasps
Gostei + 0
03/02/2004
Fariasps
sabe por que?
Gostei + 0
03/02/2004
Beppe
O que eu te respondi, não funcionou não?
Gostei + 0
03/02/2004
Fariasps
te respondo já...
Gostei + 0
03/02/2004
Beppe
É uma expressão. Utilize-a para retorna o valor tarifado. Min é o tempo em minutos.
Ex:
var Min, Valor: Double; begin ... Valor := Succ(Trunc(Min) shr 2) * 0.12; ... end;
Gostei + 0
03/02/2004
Fariasps
obrigado...
mais, se nao for pedir muito, o que é esse 2 depois do shr
até mais
Gostei + 0
03/02/2004
Beppe
A expressão (A shr B) é a mesma* coisa que (A div (2 elevado à B)).
* Tem uma diferença pra números com e sem sinal, mas deixa isso pra lá.
Se tivesse feito como eu disse logo, já teria pronto a muito tempo... :cry:
Gostei + 0
04/02/2004
Fariasps
voce me ajudou muito
valeu
até mas...
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)