nsouza Postado Agosto 10, 2009 Denunciar Share Postado Agosto 10, 2009 Colegas,o procedimento abaixo esta funcionando, mas gostaria de colocar a opção de Yes, No, CancelTentei mas duplicou a mensagem.SE Yes, arquiva o registro e depois deleta,SE No, deleta o arquivo Se Cancel, cancela a operação. Poderiam incrementar este codigo para mim.obrigado!procedure TF_Condominio.Excluir1Click(Sender: TObject);begin if Application.MessageBox('Deseja arquivar antes de excluir excluir este registro?','Exclusão', + MB_YESNO + MB_ICONQUESTION) = IDYES then begin arquivar; DMConsultas.CDs_ListaMorador.Delete; DMConsultas.CDs_ListaMorador.ApplyUpdates(-1); DMConsultas.CDs_ListaMorador.Refresh; exit; end else begin DMConsultas.CDs_ListaMorador.Delete; DMConsultas.CDs_ListaMorador.ApplyUpdates(-1); DMConsultas.CDs_ListaMorador.Refresh; exit; end; end; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Daniel Sanches Postado Agosto 10, 2009 Denunciar Share Postado Agosto 10, 2009 não entendi muito bem o que você deseja, mas para você fazer uma pergunta com 3 opções, você poderia fazer algo assim:case MessageDlg('Pergunta que você quiser.',mtConfirmation,[mbYes,mbNo,mbCancel],0) of 2: begin showmessage('Selecionado botão Cancela'); ...comandos... end; 6: begin showmessage('Selecionado botão Sim'); ...comandos... end; 7: begin showmessage('Selecionado botão Não'); ...comandos... end; end;obs: declare Dialogs na cláusula uses...abraços !!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Douglas Soares Postado Agosto 10, 2009 Denunciar Share Postado Agosto 10, 2009 Ou você pode fazer assim:Declare 2 Procedures:Procedure YES;Procedure NO;em seguida o código delas:procedure TForm1.YES; begin Arquivar; DMConsultas.CDs_ListaMorador.Delete; DMConsultas.CDs_ListaMorador.ApplyUpdates(-1); DMConsultas.CDs_ListaMorador.Refresh; exit; end; procedure TForm1.NO; begin DMConsultas.CDs_ListaMorador.Delete; DMConsultas.CDs_ListaMorador.ApplyUpdates(-1); DMConsultas.CDs_ListaMorador.Refresh; exit; end; Após isso, na sua procedure TF_Condominio.Excluir1Click(Sender: TObject); insira o seguinte código: Case application.MessageBox('Deseja arquivar antes de excluir excluir este registro?', 'Exclusão', mb_yesnocancel) of IDNO : NO; IDYES : YES; IDCANCEL:; end;Só isso, rsrs, espero ter ajudado.Abraços! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 nsouza Postado Agosto 10, 2009 Autor Denunciar Share Postado Agosto 10, 2009 Ou você pode fazer assim:Declare 2 Procedures:Procedure YES;Procedure NO;em seguida o código delas:procedure TForm1.YES; begin Arquivar; DMConsultas.CDs_ListaMorador.Delete; DMConsultas.CDs_ListaMorador.ApplyUpdates(-1); DMConsultas.CDs_ListaMorador.Refresh; exit; end; procedure TForm1.NO; begin DMConsultas.CDs_ListaMorador.Delete; DMConsultas.CDs_ListaMorador.ApplyUpdates(-1); DMConsultas.CDs_ListaMorador.Refresh; exit; end; Após isso, na sua procedure TF_Condominio.Excluir1Click(Sender: TObject); insira o seguinte código: Case application.MessageBox('Deseja arquivar antes de excluir excluir este registro?', 'Exclusão', mb_yesnocancel) of IDNO : NO; IDYES : YES; IDCANCEL:; end;Só isso, rsrs, espero ter ajudado.Abraços!(Resolvido) Incrementar procedimento para excluirObrigado aos dois colegas por ter ajudado.No fim apliquei o exemplo do Douglas. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Frega Postado Agosto 10, 2009 Denunciar Share Postado Agosto 10, 2009 (editado) O Jeito mais facil, e ainda traduzindo as opçoes do messageDlg para portugues (para ficar Yes= Sim No=Não e Cancel=Cancelar)var mensagem : TForm;begin//MOSTRA O MESSAGEDLG (TRADUZIDO PARA PORTUGES)Mensagem:=CreateMessageDialog(' MENSAGEM ',MtConfirmation,[MbYes,MbNo]);Mensagem.Caption:='TITULO';TButton(Mensagem.FindComponent('Yes')).Caption:='Sim';TButton(Mensagem.FindComponent('No')).Caption:='Não';Mensagem.ShowModal; if Mensagem.ModalResult=MrYes then begin Arquivar;DMConsultas.CDs_ListaMorador.Delete;DMConsultas.CDs_ListaMorador.ApplyUpdates(-1);DMConsultas.CDs_ListaMorador.Refresh;exit; end; if Mensagem.ModalResult=MrNo then beginDMConsultas.CDs_ListaMorador.Delete;DMConsultas.CDs_ListaMorador.ApplyUpdates(-1);DMConsultas.CDs_ListaMorador.Refresh;exit;end;end;para adicionar o cancelar as opçoes seria só alterar MtConfirmation,[MbYes,MbNo] para MtConfirmation,[MbYes,MbNo,MBCancel] Editado Agosto 10, 2009 por Frega Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 nsouza Postado Agosto 12, 2009 Autor Denunciar Share Postado Agosto 12, 2009 O Jeito mais facil, e ainda traduzindo as opçoes do messageDlg para portugues (para ficar Yes= Sim No=Não e Cancel=Cancelar)var mensagem : TForm;begin//MOSTRA O MESSAGEDLG (TRADUZIDO PARA PORTUGES)Mensagem:=CreateMessageDialog(' MENSAGEM ',MtConfirmation,[MbYes,MbNo]);Mensagem.Caption:='TITULO';TButton(Mensagem.FindComponent('Yes')).Caption:='Sim';TButton(Mensagem.FindComponent('No')).Caption:='Não';Mensagem.ShowModal; if Mensagem.ModalResult=MrYes then begin Arquivar;DMConsultas.CDs_ListaMorador.Delete;DMConsultas.CDs_ListaMorador.ApplyUpdates(-1);DMConsultas.CDs_ListaMorador.Refresh;exit; end; if Mensagem.ModalResult=MrNo then beginDMConsultas.CDs_ListaMorador.Delete;DMConsultas.CDs_ListaMorador.ApplyUpdates(-1);DMConsultas.CDs_ListaMorador.Refresh;exit;end;end;para adicionar o cancelar as opçoes seria só alterar MtConfirmation,[MbYes,MbNo] para MtConfirmation,[MbYes,MbNo,MBCancel](Resolvido) Incrementar procedimento para excluir Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
nsouza
Colegas,
o procedimento abaixo esta funcionando, mas gostaria de colocar a opção de Yes, No, Cancel
Tentei mas duplicou a mensagem.
SE Yes, arquiva o registro e depois deleta,
SE No, deleta o arquivo
Se Cancel, cancela a operação.
Poderiam incrementar este codigo para mim.
obrigado!
procedure TF_Condominio.Excluir1Click(Sender: TObject);
begin
if Application.MessageBox('Deseja arquivar antes de excluir excluir este registro?','Exclusão', +
MB_YESNO + MB_ICONQUESTION) = IDYES then
begin
arquivar;
DMConsultas.CDs_ListaMorador.Delete;
DMConsultas.CDs_ListaMorador.ApplyUpdates(-1);
DMConsultas.CDs_ListaMorador.Refresh;
exit;
end
else
begin
DMConsultas.CDs_ListaMorador.Delete;
DMConsultas.CDs_ListaMorador.ApplyUpdates(-1);
DMConsultas.CDs_ListaMorador.Refresh;
exit;
end;
end;
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.