Calculos com Currency

Delphi

12/10/2006

Olá amigos!!!!!

Criei uma tela onde de fechamento de conta, que possui um dbedt que traz o valor no formato R$ 100,00. Há um edit onde digito o valor pago e um outro do saldo, que será valorconta + valorpago. O problema é que não está sendo calculado o débito, a mensagem que aparece é
´is not a valid point value.

O valor da conta está formatado da seguinte forma:
procedure TdmFechamento.cdsContasPendVLR_CTAGetText(Sender: TField;
var Text: string; DisplayText: Boolean);
begin

if not dmFechamento.cdsContasPend.IsEmpty then
if not Sender.IsNull then
Text := ´R$ ´ + FormatFloat(´#,,0.00´, Sender.Value);

end;

A minha dúvida é como extrair apenas o valor (sem o R$) para calcular o saldo?

Vejam o código que digitei e, se possível, apontem os erros.

procedure TfrmFechamento.edtValorPagoExit(Sender: TObject);
var
saldo, valorconta, valorpago : real;
begin
valorconta := strtofloat(dbedtConta.Text);
valorpago := strtofloat(edtValorPago.Text);
saldo := strtofloat(edtSaldo.Text);

Saldo := valorconta + valorpago;
edtSaldo.Text := FloatToStr(saldo);

end;

Estou trabalhando com Firebird + DBExpress

Desde já agradeço a atenção de todos.

Abraço,

Rogério


Roger1976

Roger1976

Curtidas 0

Respostas

Roger1976

Roger1976

12/10/2006

Caros amigos, resolvi o meu problema.

procedure TfrmFechamento.edtValorPagoExit(Sender: TObject);
var
saldo, valorconta, valorpago : currency;
begin
valorconta := strtocurr(copy(dbedtValor.Text, 4, 9));
valorpago := strtocurr(copy(edtValorPago.Text, 4, 9));

Saldo := valorconta + valorpago;

edtSaldo.Text := ´R$´ + FormatCurr(´#,,0.00´, saldo);
end;

Não sei se é a melhor solução, se tiverem uma dica melhor, por favor postem, pois poderá ser útil para àqueles que tiverem esta dúvida.

Um ótimo feriado a todos....


GOSTEI 0
POSTAR