Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

marvazoler

Erro no meu IF com locate

Recommended Posts

Olá galera beleza?

 

If not Table1.Locate('CODIGO',StrToInt(Edit1.Text+Edit2.Text),[loPartialKey]) then

 

erro

 

is not a valid integer value

 

O que pode ser?

 

Desde já agradeço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta converter os valores antes do IF.

você está tentando somar as strings e depois transformar em inteiro. Talvez seja esse o erro.

--

Espero ter ajudado.

Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites
  marvazoler disse:

Olá galera beleza?

 

If not Table1.Locate('CODIGO',StrToInt(Edit1.Text+Edit2.Text),[loPartialKey]) then

 

erro

 

is not a valid integer value

 

O que pode ser?

 

Desde já agradeço

1o. uma cheve, CODIGO, no seu caso, sempre se procura o valor integral e não parte dele, sou seja, você nunca vai procurar parte de um codigo, poderia

procurar parte de um nome.

2o. o ideal seria você transforma o valor antes do locate

ex:

 

functio testa_codigo:boolean;

var

iCodigo:Integer;

begin

iCodigo := 0;

try

iCodigo := StrToInt(Edit1.Text+Edit2.Text);

except

MessageDlg( 'Código inválido', mtError, [mbOK], 0 );

exit;

end;

result := Table1.Locate('CODIGO',iCodigo,[]);

end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

é.. falta a conversão ... você ta somando TEXTOS e textos sao STRING e para somar no minimo tem q ser um numero interio.

 

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.