funcao de soma da erro c/ currencyedit
Tenho a seguinte funcao para soma de valores
function Tfrm_abre_fecha_caixa.soma_valores(valor1,valor2,valor3 :string):string;
var
valor1_real,valor2_real,valor3_real:double;
soma:double;
begin
//elimina separador de milhar e ponto decimal da string
while (pos(ThousandSeparator,valor1)>0) do delete (valor1,pos(ThousandSeparator,valor1),1);
while (pos(DecimalSeparator,valor1)>0) do delete (valor1,pos(DecimalSeparator,valor1),1);
valor1_real:=(StrToInt(valor1));
while (pos(ThousandSeparator,valor2)>0) do delete (valor2,pos(ThousandSeparator,valor2),1);
while (pos(DecimalSeparator,valor2)>0) do delete (valor2,pos(DecimalSeparator,valor2),1);
valor2_real:=(StrToInt(valor2));
while (pos(ThousandSeparator,valor3)>0) do delete (valor3,pos(ThousandSeparator,valor3),1);
while (pos(DecimalSeparator,valor3)>0) do delete (valor3,pos(DecimalSeparator,valor3),1);
valor3_real:=(StrToInt(valor3));
soma:=valor1_real+valor2_real+valor3_real;
//transforma a variavel em string com a funcao FloatToStr gerando uma string
//com 12 digitos 2 casas decimais o valor é atribuido a variavelpadrao Result
//e sera o retorno da funcao
result:=FloatToStrF(soma,FFnumber,12,2);
depois jogo o resultado soma em um edit, a soma acontece no OnExit de tres componentes maskedit, esses que tem sua propriedade text:=0.
Só que quando troca esses maskedit´s por currencyedit me erro de conversao ´not valid integer value´.
passos os parametros da funcao da seguinte maneira
edit14.Text:=soma_valores(Currencyedit2.Text,Currencyedit3.Text,Currencyedit4.Text);
lembrando que com maskedit da certo, mas não tem o formato para moeda que preciso.
Obrigado
function Tfrm_abre_fecha_caixa.soma_valores(valor1,valor2,valor3 :string):string;
var
valor1_real,valor2_real,valor3_real:double;
soma:double;
begin
//elimina separador de milhar e ponto decimal da string
while (pos(ThousandSeparator,valor1)>0) do delete (valor1,pos(ThousandSeparator,valor1),1);
while (pos(DecimalSeparator,valor1)>0) do delete (valor1,pos(DecimalSeparator,valor1),1);
valor1_real:=(StrToInt(valor1));
while (pos(ThousandSeparator,valor2)>0) do delete (valor2,pos(ThousandSeparator,valor2),1);
while (pos(DecimalSeparator,valor2)>0) do delete (valor2,pos(DecimalSeparator,valor2),1);
valor2_real:=(StrToInt(valor2));
while (pos(ThousandSeparator,valor3)>0) do delete (valor3,pos(ThousandSeparator,valor3),1);
while (pos(DecimalSeparator,valor3)>0) do delete (valor3,pos(DecimalSeparator,valor3),1);
valor3_real:=(StrToInt(valor3));
soma:=valor1_real+valor2_real+valor3_real;
//transforma a variavel em string com a funcao FloatToStr gerando uma string
//com 12 digitos 2 casas decimais o valor é atribuido a variavelpadrao Result
//e sera o retorno da funcao
result:=FloatToStrF(soma,FFnumber,12,2);
depois jogo o resultado soma em um edit, a soma acontece no OnExit de tres componentes maskedit, esses que tem sua propriedade text:=0.
Só que quando troca esses maskedit´s por currencyedit me erro de conversao ´not valid integer value´.
passos os parametros da funcao da seguinte maneira
edit14.Text:=soma_valores(Currencyedit2.Text,Currencyedit3.Text,Currencyedit4.Text);
lembrando que com maskedit da certo, mas não tem o formato para moeda que preciso.
Obrigado
Gameiro
Curtidas 0