Erro no Try/Except

12/12/2005

0

Falaeee galera..... blzra.

Estou com um problema, coloquei em uma parte do código fonte do programa um try except para verificar se o conteúdo de um edit eh string ou integer(Código abaixo):

Try
  StrToInt(edtBusca.Text);
  qryConsulta.ParamByName(´CODIGO´).AsString := ´¬´ + edtBusca.Text;
Except
  qryConsulta.ParamByName(´CODIGO´).AsString := edtBusca.Text + ´¬´;
End;


Acontece o seguinte: chega até a função StrToInt e para lá sai de tudo como se eu não tivesse digitado nada !!!!! :?: :?: :?:

Não sei mais o que fazer Alguem tem alguma sugestão???
Desde já Obrigado.


Alexferri

Alexferri

Responder

Posts

12/12/2005

Eniorm

Olá, a função StrToInt RETORNA um inteiro a partir de uma string, então vc deve usar assim

var
  inteiro : integer;
...
try
   inteiro := StrToInt(edBusca.Text);
   qryConsulta.ParamByName(´CODIGO´).AsInteger := inteiro
...


vc pode tbm mudar o ParamByName(´CODIGO´).AsInteger para:

qryConsulta.ParamByName(´CODIGO´).AsString := edConsulta.Text;
...


para isso vc deve mudar o SQL:

... FROM TABELA
WHERE CAMPO LIKE :PARAMETRO


assim não havera erro caso o valor de edConsulta.Text for letras,...

abraço


Responder

12/12/2005

Alexferri

E ai blz, Cara a minha intenção de colocar desse jeito eh a seguite, se der erro o ´¬´ do sql vai muda de lugar entendeu para que se eu digita um codigo o parametro fica assim ´¬123´ e se for letras ficara assim ´¬abc´.

só que sai do try except no strtoint, sai e não da erro nenhum.

c sabe o q eh isso sai sem da erro nenhum ???

Valeu pela resposta.


Responder

12/12/2005

Adriano Santos

E ai blz, Cara a minha intenção de colocar desse jeito eh a seguite, se der erro o ´¬´ do sql vai muda de lugar entendeu para que se eu digita um codigo o parametro fica assim ´¬123´ e se for letras ficara assim ´¬abc´. só que sai do try except no strtoint, sai e não da erro nenhum. c sabe o q eh isso sai sem da erro nenhum ??? Valeu pela resposta.


Vc não tem nenhum componente ou função que esteja desviando o evento de erro? Tente fazer o seguinte.

Antes do StrToInt jogue o codigo:

   Application.onException := nil;



Responder

12/12/2005

Massuda

...fica assim ´¬123´ e se for letras ficara assim ´¬abc´.
O código que você postou, no caso de não ser um número, resulta em ´abc¬´; se o campo estiver vazio, acho que seu código retorna apenas ´¬´. Se você estiver executando passo-a-passo, acho que a IDE não irá pular para o código entre o except...end, mas esse código é executado.


Responder

12/12/2005

Alexferri

VALEU GALERA ERA ISSO MESMO O PASSO A PASSO NÃO ENTRAVA ENTRE O EXCEPT E O END, MAS TAVA EXECUTANDO VALEW MEMO FLW... :D


Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

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

Aceitar