Ir para conteúdo

POWERED BY:

Arquivado

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

[VAZA]

Erro com botão limpar

Recommended Posts

Tenho 3 edits Valor1, Valor2 e resultado.e no onchange do resultado, tenho os seguintes comandos:procedure TForm1.resultadoChange(Sender: TObject);begin if(strtoint(resultado.Text)<0)then begin resultado.Font.Color:=clred; showmessage('Valor menor que 0'); end else resultado.Font.Color:=clskyblue; showmessage('Valor maior que 0')end;Quando mando limpar o resultado com resultado.text := '', o Delphi me retorna um erro:Is not a value integer value.Pq ta dando esse erro? tem alguma coisa a ver com a cor?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigão.. não tem nada a ver com a Cor mas Notei alguns Erros no seu Código! você copiou eles do Delphi e Colou diretamente aqui ou transcreveu?procedure TForm1.resultadoChange(Sender: TObject);beginif(strtoint(resultado.Text)<0)thenbeginresultado.Font.Color:=clred;showmessage('Valor menor que 0');endelseresultado.Font.Color:=clskyblue;showmessage('Valor maior que 0'); // Faltava ; aqui!end;resultado.text := ''; // Tem ; no Final aqui tb

Compartilhar este post


Link para o post
Compartilhar em outros sites

É apenas problemas com validações, pois quando limpar o campo RESULTADO ele fica sem nada, mas vai executar o OnChange, tentando fazer o StrToInt e gerando o erro, tente algo do tipo:

 

procedure TForm1.resultadoChange(Sender: TObject);beginif Trim(resultado.Text) <> '' then	begin	try		if(strtoint(resultado.Text) < 0)then			begin			resultado.Font.Color:=clred;			showmessage('Valor menor que 0');			end		else			begin			resultado.Font.Color:=clskyblue;			showmessage('Valor maior que 0');			end;	except		end;	end;end;

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.