Ir para conteúdo

POWERED BY:

Arquivado

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

EderDias

[Resolvido] Cancelar operação

Recommended Posts

Ola..tenhinha assim:

Onde no edit ta assim no Onexit:

procedure TForm1.Edit1Exit(Sender: TObject);
begin
if edit1.text = '' then
begin
showMessage('digite a nf');
edit1.setfocus;
exit;
end;
	end;

Notem que eu tou forçando o camarada a digitar A NF.

mas vamos supor que o usuario queira cancelar a operação, não queira mais continuar..CANCELAR

 

 

Teria alguma forma de cancelar esta opção, TIPO um codigo mais fort que derruge o SETFOCUS ??

 

Grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

hum... acho que aqui você pode simplesmente adicionar uma variável boolean lá no private ou public do form. Mais ou Menos assim:

 

var
   Form1: TForm1;
   IgnoraOnExit: Boolean;
{...}
//>>No OnCreate do Form setamos para False
procedure TForm1.FormCreate(Sender: TObject);
begin
   IgnoraOnExit := False;
end;
//>>Código do OnExit ficaria assim
procedure TForm1.Edit1Exit(Sender: TObject);
begin
   if not IgnoraOnExit then
   if Edit1.Text = '' then
   begin
	  ShowMessage('digite a nf');
	  Edit1.SetFocus;
	  Exit;
   end;
end;
//>>Código do botão cancelar
procedure TForm1.btnCancelarClick(Sender: TObject);
begin
   IgnoraOnExit := True;
end;

Dessa forma ele vai chamar o OnExit, mas não vai realizar a validação.

 

t+!

Compartilhar este post


Link para o post
Compartilhar em outros sites

carinha..obrigado em ajudar mas não deu certo http://forum.imasters.com.br/public/style_emoticons/default/natal_sad.gif

 

var
  Form1: TForm1;
  IgnoraOnExit: Boolean;

implementation

{$R *.DFM}

procedure TForm1.Edit1Exit(Sender: TObject);
begin
if not IgnoraOnExit then
   if Edit1.Text = '' then
begin
showMessage('digite a nf');
edit1.setfocus;
exit;
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
IgnoraOnExit := False;
end;

end.

ele insiste e não quebra o setfocus!!

http://forum.imasters.com.br/public/style_emoticons/default/natal_sad.gif

 

Grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você passou a variável IgnoraOnExit para True quando o usuário pressiona o botão Cancelar?

Se em nenhuma parte do código você passar essa variável para True, então realmente ele vai sempre validar o OnExit.

 

Espero sua resposta para que possa te ajudar. Caso não consiga, eu faço um projeto de exemplo e mando, ok?

 

t+!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você passou a variável IgnoraOnExit para True quando o usuário pressiona o botão Cancelar?

Se em nenhuma parte do código você passar essa variável para True, então realmente ele vai sempre validar o OnExit.

R.: Oba...perdão....na correria acabei não colocando pra TRUE(..hehehe..ai não iria funcionar mesmo...)

 

ai fechou deu certinho.....

 

valew...mto grato pela dica e ajuda..

 

abraços http://forum.imasters.com.br/public/style_emoticons/default/natal_smile.gif

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.