Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Excluindo um registro do ClientDataSet e ao mesmo tempo mo


nilegor

Pergunta

Ao excluir um item do estoque, gostaria que me mostra-se a descrição do item a ser excluído junto com a mensagem de confirmação de exclusão. veja código abaixo :
if Application.MessageBox('Deseja realmente excluir este Produto ?','Confirme',
MB_ICONQUESTION+MB_YESNO) = ID_YES then
begin
ClientDataSet_estoque.Delete;
ClientDataSet_estoque.ApplyUpdates(0);
end;
Como poderia então fazer com que apareça a descrição do item que foi selecionado para exclusão ? alguém poderia me ajudar ?
Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

Application.MessageBox e MessageDlg são a mesma coisa

if MessageDlg('Deseja Apagar o Registro ?' + #13 + #13 + 'COD N° : ' +
   ClientDataSet_estoqueCOD.AsString + #13 + #13 + 'PRODUTO : ' + ClientDataSet_estoquePRODUTO.AsString ,
   mtConfirmation, [mbYes, mbNo], 0) = mrYes then
   begin
      ClientDataSet_estoque.Delete;
      ClientDataSet_estoque.ApplyUpdates(0);
   end;

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Jhonas, utilizando MessageDlg funciona perfeitamente, porem preciso que seja Application.MessageBox, e com o mesmo não funciona, imaginei que seria igual o código, porem acredito que tenha mudar algum detalhe. Verifique abaixo por gentileza como ficou :

if Application.MessageBox('Deseja Apagar o Registro ?' +#13 +#13 + 'Código nº : '+
ClientDataSet_estoqueCOD_PRODUTO.AsString + #13 +#13 +
'Descrição: '+ClientDataSet_estoqueDESCRICAO.AsString,
MB_ICONQUESTION+MB_YESNO) = ID_YES then
begin
ClientDataSet_estoque.Delete;
ClientDataSet_estoque.ApplyUpdates(0);
end;

[dcc32 Error] ESTOQUE.pas(706): E2010 Incompatible types: 'PWideChar' and 'string'

Link para o comentário
Compartilhar em outros sites

  • 0

veja o que voce esqueceu no código

if Application.MessageBox('Deseja realmente excluir este Produto ?','Confirme',

MB_ICONQUESTION+MB_YESNO) = ID_YES then
if Application.MessageBox('Deseja Apagar o Registro ?' +#13 +#13 + 'Código nº : '+
ClientDataSet_estoqueCOD_PRODUTO.AsString + #13 +#13 +
'Descrição: '+ClientDataSet_estoqueDESCRICAO.AsString, 'Confirme',
MB_ICONQUESTION+MB_YESNO) = ID_YES then

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Boa noite Jhonas, na verdade eu já havia testado colocando o ('confirme') no final, porem o mesmo erro persiste, por este motivo tentei tirar para ver se dava certo, mas não deu, independentemente se colocar o ('confirme') ou não, o erro prossegue igual. E usando MessageDlg não precisa colocar o ('confirme') no final da linha, e também com o MessageDlg funciona o código, porem preciso que seja Application.MessageBox.

O que mais poderia ser sera que esta dando erro ? Agradeço sua atenção.

Link para o comentário
Compartilhar em outros sites

  • 0

ok... esqueci-me de um pequeno detalhe ( o Pchar )

veja e teste esse exemplo

aqui estou simulando a entrada de dados do registro da tabela

procedure TForm1.Button1Click(Sender: TObject);
var
    ClientDataSet_estoqueCOD_PRODUTO_AsString, ClientDataSet_estoqueDESCRICAO_AsString: string;
begin
   ClientDataSet_estoqueCOD_PRODUTO_AsString := '00001';
   ClientDataSet_estoqueDESCRICAO_AsString := 'REGULADOR DE VOLTAGEM';

   if Application.messageBox(Pchar('Deseja Excluir esse Registro?'+#13+#13+
   'Código nº :  '+ClientDataSet_estoqueCOD_PRODUTO_AsString + #13+#13+
   'Descrição:  '+ ClientDataSet_estoqueDESCRICAO_AsString)
   ,'Confirmação',mb_YesNo+mb_IconInformation) = id_Yes then
   showmessage('PRODUTO EXCLUIDO!');
end;

agora no seu caso


procedure TForm1.Button1Click(Sender: TObject);
begin
   if Application.messageBox(Pchar('Deseja Excluir esse Registro?'+#13+#13+
   'Código nº :  '+ClientDataSet_estoqueCOD_PRODUTO.AsString + #13+#13+
   'Descrição:  '+ ClientDataSet_estoqueDESCRICAO.AsString)
   ,'Confirmação',mb_YesNo+mb_IconInformation) = id_Yes then
    begin
       ClientDataSet_estoque.Delete;
       ClientDataSet_estoque.ApplyUpdates(0);
       showmessage('PRODUTO EXCLUIDO!');
    end;
end;

abraço

Link para o comentário
Compartilhar em outros sites

  • 0
function Application.MessageBox(Text, Caption: PChar; Flags: LongInt): Integer;

O PChar genérico representa um ponteiro para um valor de Char. ( Caracteres )

Este ponteiro de caracteres é usado para manipular strings terminadas em nulos.

OBS: Strings terminadas em nulo são na realidade apenas arrays de caracteres que tem em sua ultima posição um caracter nulo (#0) para marcar o fim da string. Devido à ausência de um indicador de comprimento da string, as operações que dependem dessa informação são normalmente executadas mais rapidamente quando realizadas sobre strings padrão Pascal.

O Delphi, define estas strings como sendo ponteiros para caracteres com o nome de PChar.

Ele também pode ser usado para apontar caracteres dentro de uma cadeia
, ou seja, um PChar pode ser indexado como se fosse um array de caracteres.

de maneira mais simples:

if Application.MessageBox('Deseja realmente excluir este Produto ?','Confirme',

MB_ICONQUESTION+MB_YESNO) = ID_YES then
se voce não usar o Pchar não seria possível incluir na string o controle de quebra de linha para esse comando: Application.MessageBox
'Deseja realmente excluir este Produto ?' +#13+#13+
abraço
Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...