Fechar formulário e perguntar se deseja gravar...

13/08/2004

0

Meus amigos do forum

Como proceder para perguntar para o usuário se deseja gravar as alterações
efetuadas no momento que clica no botão fechar?

Utilizo o componente do dbexpress e delphi7.

Ex o meu cliente fez algumas alterações e fechou o formulário, consequente nao
gravou.

Se o usuario faz uma alteração não da o enter, mas fecha o formulário, tambem
quero perguntar se deseja gravar a alterção.
Algume poderia me ajudar?



´Nós servimos a Deus quando servimos os outros´


Plácido/Ellen


Placido

Placido

Responder

Posts

13/08/2004

Paullus

No evento OnCloseQuery do seu Form você adiciona o seguinte código:

  CanClose := Application.MessageBox(´Deseja gravar as alterações?´, ´Confirmação´, MB_ICONQUESTION + MB_YESNO) = IDYES;

  if CanClose then
  begin
    // execute a sua rotina de gravação
  end;


Espero ter ajudado.
Até mais


Responder

13/08/2004

Lucas Silva

Eu faço o seguinte:
Crio uma variável boleana no form.
e no form create eu seto ela para False;

Em cada componente no OnChange, ou onKeyPress eu seto esta variável pra true

* No clique do botão salvar, vc seta ela pra False tb...


No form close, se esta variavel for True, vc exibe uma msg perguntando se o usuário deseja salvar


Responder

13/08/2004

Rômulo Barros

Evento OnClose do Seu Formulário(Var Action : TCloseAction; Sender : TObject);
Var
  Resposta : Word;
Begin
  With(Query)Do
  Begin
    If(State In [dsInsert,dsEdit])Then // Se estava inserindo ou alterando...
    Begin
       Resposta := MessageDlg(´Deseja Salvar as Alterações?´,mtInformation,mbYesNoCancel,0);
       Case Resposta Of
         mrYes: Post();
         mrNo: Cancel();
         Else
           Action := caNone; // Não deixa fechar o formulário
       End;
    End;
  End;
End;


:cry: :cry: :cry: :cry: :cry:


Responder

13/08/2004

Placido

Meus amigos e amigas obrigaduuuu pelas dicas, implementei e funcionou.
Abraço a todos...


Responder

13/08/2004

Tnaires

Olá
Só pra complementar: vc precisa tratar qualquer erro q possa vir a acontecer no momento do fechamento do form. Por exemplo: se o cara deu um insert e depois foi fechar o form, o programa pergunta se ele quer gravar. Então, ele clica em sim, e daí ocorre um erro. Isso pq campos requeridos não foram preenchidos.
Abraços.


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar