Fechar formulário e perguntar se deseja gravar...
13/08/2004
0
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
Posts
13/08/2004
Paullus
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
13/08/2004
Lucas Silva
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
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:
13/08/2004
Placido
Abraço a todos...
13/08/2004
Tnaires
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.
Clique aqui para fazer login e interagir na Comunidade :)