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

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