Jump to content
Fórum Script Brasil
  • 0

Caixa De Confirmação De Exclusão


Guest --Danilo --
 Share

Question

Guest --Danilo --

Olá, então estou com uma dúvida, tenho uma tela de cadastro de usuario, faço tudo, inserir, gravar, cancelar, excluir e blabla, mas quando mando excluir, queria que aparecese uma tela dizendo "Você tem certeza que quer excluir este cadastro?" e aparece as opções sim e não

isso é possivel, se é me dizem como, sou um pouco novato no delphi ainda

agradeço desde já pela atenção

um abraço

Link to comment
Share on other sites

8 answers to this question

Recommended Posts

  • 0

Cara acho que isto deve de ajudar

procedure TFRCadRim.BTexcluirClick(Sender: TObject);
begin
  If Application.MessageBox('Confirma Exclusão ?','Cuidado !!!',MB_YESNO +
                           MB_ICONQUESTION + MB_DEFBUTTON2) = IDYES Then
  DMdados.TBCadRim.Delete;
  DMdados.TBCadRim.ApplyUpdates(-1);
end;

Abraço

Link to comment
Share on other sites

  • 0
Entendo, também trabalho com a função MessageBox.

Será que não existe alguma função que faça mesma coisa, mas no lugar de Yes e No, colocar Sim e Não?

Estas funções fazem uso de recurso do SO, logo, se o seu Windows é em Inglês, estes textos aparecerão neste idioma.

Para a versão 2006 tem uma dica do colega Titanius no DevMedia - Tradução das mensagens do Delphi 2006

Eu sei que existe um procedimento similar para as versões anteriores do Delphi, mas não tenho conhecimento de algum link.

Abraços

Link to comment
Share on other sites

  • 0
Guest --Jonas --

CHEGA DE YES/NO !!! Uma dica muito util....

messagedlg('Confirma ? mtConfirmation, [mbYes, mbNo], 0);

Aí vai:

1 - No diretório DELPHI3,4,5,6,7,8\LIB, copie o arquivo consts.dcu para consts.old;

2 - Inicie o Delphi e crie um nova Unit;

3 - Insira nesta, o arquivo consts.int do diretório DELPHI3,4,5,6,7,8\DOC E faça as devidas alterações nas mensagens que desejar alterar e nas partes duplicadas da Unit como "implement" e etc, também deixe o cabeçalho como Unit Consts.

4 - Salve esta nova Unit no diretório DELPHI3,4,5,6,7,8\LIB e pronto todas as mensagens alteradas por você estarão aplicadas nos seus próximos programas sem uma linha de programa e da forma que você quiser.

Link to comment
Share on other sites

  • 0
Guest --Jonas --

Retificação ..... o diretorio especificado acima vale para o delphi 3 e 4

para o delphi5 em diante o arquivo Consts esta no diretorio:

C:\Arquivos de programas\Borland\Delphi5\Source\Vcl

mas o procedimento para traduzir as mensagens é a mesma.

Link to comment
Share on other sites

  • 0

é, esta dica também tinha achado, mas como em um dos foruns um cara perguntou:

se eu estiver compilando o programa com os pacotes em runtime não é traduzido. como proceder? (ref Planeta Delphi)

e ficou sem resposta, achei melhor não postar. ;)

Talvez, seja necessário fazer o mesmo procedimento sugerido pelo colega que cite: matar as respectivas .DCU e dar um rebuild no projeto.

Link to comment
Share on other sites

  • 0

Danilo Tenho uma função parecida ao que você necessita verifica se vai corresponder à sua precisão:

No caso aqui se você não tem uma unit de fuções e procedimentos crie uma em:

File>New>Unit

E e salva ela como funcoes:

No caso vai ser assim a Unit:

unit Unit1;

interface

implementation

end.
E ai você deixa assim sua Unit
unit funcoes;

interface

uses dialogs, forms, controls, windows, classes, variants, SysUtils;

procedure excluirregistro (ptabela, pcondicao : string);
function pergunta (mensagem : string) : boolean;

implementation

Uses FDtmiza; // Aqui você vai colocar em uso o seu banco de dados para manter conexão com ele em hora de exclusão.

procedure excluirregistro (ptabela, pcondicao : string);
   var instrucaosql :string;
begin
   instrucaosql:= 'delete from ' +ptabela;
   if (pcondicao<>'') then
      begin
         instrucaosql:= instrucaosql+ ' where ' + pcondicao;
      end;
//   showmessage (instrucaosql);
   with [b]dtmiza.qryiza[/b] do  // esse em negrito no caso eu uso um IbDataBase e IbQuery, mas para teste seu e visualização apague do showmessage ate o Penultimo end;
      begin
         close;
         sql.Clear;
         sql.add (instrucaosql);
         execsql;
      end;
end;

function pergunta (mensagem : string) : boolean;
begin
   Result:=(application.messagebox(pchar(mensagem),pchar ('confirmação'), mb_yesno)= idyes);  //esta função é para perguntar para o usuario.
end;

procedure mensagem(msg:string);
begin
   showmessage(msg);
end;
Esse vai ser o codigo da Sua Unit de Funções, agora no Formulario seu que você quer excluir registros click duas vezes no botão excluir e coloque os seguintes codigos
procedure Tfrmcadinst.spbexcClick(Sender: TObject);
begin
  if (not pergunta('Tem certeza que deseja excluir este registro?')) then exit;
  excluirregistro ('instrutores','codigo=' + txtcod.text);
  inherited;
end;
Não se esqueça de colocar em baixo da implementação do formulario a unit Funcoes em uso, por exemplo
.....

implementation

{$R *.dfm}

uses funcoes;

......

Espero que isso possa te ajudar.

Link to comment
Share on other sites

  • 0
Guest --Jonas --
--Jonas -- disse:
Retificação ..... o diretorio especificado acima vale para o delphi 3 e 4

para o delphi5 em diante o arquivo Consts esta no diretorio:

C:\Arquivos de programas\Borland\Delphi5\Source\Vcl

mas o procedimento para traduzir as mensagens é a mesma.

Para quem se interessar o arquivo Consts.dcu traduzido esta neste endereço:

https://marcosalles.wordpress.com/2010/06/29/traduzir-mensagems-do-delphi/

https://www.devmedia.com.br/chega-de-yes-e-no-no-delphi/13878

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      150.2k
    • Total Posts
      647.5k
×
×
  • Create New...