Fórum erro de conversion erro from string #426709

20/10/2012

0

Tenho esta pesquina que com 2 maskedit funciona, más em edits normais não dá erro de conversion erro from string "2,402"

procedure TFCadProduto.PesquisaCFOPNCM;
var
  CFOP,NCM : string;
begin

  NCM :=  Trim(DBEdit10.Text);
  CFOP := Trim(DBEdit11.Text);

  with TClientDataSet(Dts_PescNCM_CFOP.DataSet) do
  begin
    Close;
    CommandText:= 'SELECT * FROM NCM_CFOP WHERE COD_NCM =' + Quotedstr(Trim(NCM)) + 'and COD_CFOP =' + Quotedstr(Trim(CFOP));
    Open;
  end;


é uma pesquisa entre 2 campos e ela dever ser exata..vlw

Gilmar Moraes

Gilmar Moraes

Responder

Posts

20/10/2012

Gilmar Moraes

Tenho esta pesquina que com 2 maskedit funciona, más em edits normais não dá erro de conversion erro from string "2,402"

procedure TFCadProduto.PesquisaCFOPNCM;
var
  CFOP,NCM : string;
begin

  NCM :=  Trim(DBEdit10.Text);
  CFOP := Trim(DBEdit11.Text);

  with TClientDataSet(Dts_PescNCM_CFOP.DataSet) do
  begin
    Close;

A variavel NCM tem somente pontos em seu registro e é do tipo string, a variavel CFOP tem virgula no lugar de ponto..
    CommandText:= 'SELECT * FROM NCM_CFOP WHERE COD_NCM =' + Quotedstr(Trim(NCM)) + 'and COD_CFOP =' + Quotedstr(Trim(CFOP));
    Open;
  end;


é uma pesquisa entre 2 campos e ela dever ser exata..vlw

Responder

Gostei + 0

20/10/2012

Gilvanio Gonçalves

Tenho esta pesquina que com 2 maskedit funciona, más em edits normais não dá erro de conversion erro from string "2,402"

procedure TFCadProduto.PesquisaCFOPNCM;
var
  CFOP,NCM : string;
begin

  NCM :=  Trim(DBEdit10.Text);
  CFOP := Trim(DBEdit11.Text);

  with TClientDataSet(Dts_PescNCM_CFOP.DataSet) do
  begin
    Close;

A variavel NCM tem somente pontos em seu registro e é do tipo string, a variavel CFOP tem virgula no lugar de ponto..
    CommandText:= 'SELECT * FROM NCM_CFOP WHERE COD_NCM =' + Quotedstr(Trim(NCM)) + 'and COD_CFOP =' + Quotedstr(Trim(CFOP));
    Open;
  end;


é uma pesquisa entre 2 campos e ela dever ser exata..vlw



var
  CFOP,NCM : Real;
begin

  NCM :=  Trim(strtofloat(DBEdit10.Text));
  CFOP := Trims(trtofloat(DBEdit11.Text));


2,42 amigo é flutuante, assim resolve o ponto flutuante tipo 2,42 e 2.42 ponto ou virgula.




Responder

Gostei + 0

20/10/2012

Gilvanio Gonçalves

var
  CFOP,NCM : Real;
begin

  NCM :=  Trim(strtofloat(DBEdit10.Text));
  CFOP := Trim(strtofloat(DBEdit11.Text));



Correção de Digitação;

Responder

Gostei + 0

20/10/2012

Gilmar Moraes

var
  CFOP,NCM : Real;
begin

  NCM :=  Trim(strtofloat(DBEdit10.Text));
  CFOP := Trim(strtofloat(DBEdit11.Text));



Correção de Digitação;



Esquecí de um detalhe importante

a variavel NCM recebe valores com este padrão de formatação 0000.00.00
e a cfop recebe valores 0,0 ou 0,00 ou 0,000

o problema depois que coloquei a sua função agora o MCN dá erro tbm..
Responder

Gostei + 0

20/10/2012

Gilmar Moraes

var
  CFOP,NCM : Real;
begin

  NCM :=  Trim(strtofloat(DBEdit10.Text));
  CFOP := Trim(strtofloat(DBEdit11.Text));



Correção de Digitação;



Esquecí de um detalhe importante

a variavel NCM recebe valores com este padrão de formatação 0000.00.00
e a cfop recebe valores 0,0 ou 0,00 ou 0,000

o problema depois que coloquei a sua função agora o MCN dá erro tbm..


outro detalhe é o seguinte, eu tenho um Form de busca onde tenho dois maskedit e o padrão de formatação 0000.00.00 e o cfop tbm 0.000 e funciona redondinho.. o problema é que agora a informação vem de edits com valores gravados e estes valores tem a vígula..
Responder

Gostei + 0

20/10/2012

Gilmar Moraes

Problema resolvido..

bom, os edits estavam trocados ou seja os códigos nuncam iam bater mesmo,NCM no lugar do cfop e virce e versa..falta de atenção mesmo..más depois tinha a questão da virgula, qu fazia a pesquisa não funcionar corretamente aí usei uma função do delhpi para contornar o problema..segue o código.

procedure TFCadProduto.PesquisaCFOPNCM;
var
  CFOP,NCM : string;
  L: TstringList;
 begin
  L := TStringList.Create;
  L.Add(DBEdit11.Text);
  L.Text := StringReplace(L.text, ',', '.', [rfReplaceAll]);
  CFOP := Trim(L.Text);
  NCM :=  Trim(DBEdit10.Text);
  Label72.Caption := CFOP;
  Label73.Caption := NCM ;

  with TClientDataSet(Dts_PescNCM_CFOP.DataSet) do
  begin
    Close;
    CommandText:= 'SELECT * FROM NCM_CFOP WHERE COD_NCM =' + Quotedstr(Trim(NCM)) + 'and COD_CFOP =' + Quotedstr(Trim(CFOP));
    Open;
  end;
  end;

Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar