Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-02-2018
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: May 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 18
BlueSteel Va por buen camino
Exclamation MessageDlg XE8

Hola de nuevo...

Esto de cambiarse de version desde el Delphi 7 al XE8 me ha traido varias complicaciones ... y eso que recién empece hace 1 semana con esto...

Otro de los codigos que no me ha funcionado bien, es el del MessageDlg

Cuando queria eliminar un registro, utilizaba la siguiente en el boton

Código Delphi [-]
     Try
         // La linea siguiente es la que usaba 
        //If MessageDlg('Seguro de Eliminar al Cliente '+#13+#13+DM_Datos.AQ_Socio['Soc_Nombre'], mtConfirmation, [mbYes, mbNo], 0) = mrYes then

     // If (MessageDlg('Seguro de Eliminar al Socios '+#13+#13+DM_Datos.AQ_Socio['Soc_Nombre'] , mtConfirmation, [mbYes, mbNo], 0, mbYes) = mrYes ) then
        if  MessageDlg('Seguro de Eliminar al Socios ', mtConfirmation, [mbYes,mbNo], 0) = mrYes then
        Begin
             DM_Datos.AQ_Elimina.SQL.Clear;
             DM_Datos.AQ_Elimina.SQL.Add('Delete From Socio Where Soc_Rut=:Var1');
             DM_Datos.AQ_Elimina.Parameters[0].Value := DM_Datos.AQ_Socio['Soc_Rut'];
             DM_Datos.AQ_Elimina.ExecSQL;
             Selecciona;
        End
     Except
         ShowMessage('No existen registros que se puedan eliminar');
     End;

Bueno, despues de varios problemas de compilacion, lo logre ejecutar...

Problemas detectados:
- Antes podia incluir datos dentro del mensaje... ahora no lo hace (si pongo un dato de una tabla, simplemente no muestra el mensaje y no hace nada mas)
- Si bien ahora me muestra el mensaje, no me ejecuta la sentencia de eliminar el registro

A ver si me dan una manito, o por ultimo me indican que tipo de mensaje puedo utilizar para que se ejecute el codigo que necesito...

Gracias.. .y Salu2
__________________
BlueSteel
Responder Con Cita
  #2  
Antiguo 23-02-2018
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: Sep 2004
Ubicación: En algún lugar.
Posts: 28.242
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿MessageDlg espera un string, un ansistring o un pchar?
Responder Con Cita
  #3  
Antiguo 23-02-2018
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: May 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 18
BlueSteel Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
¿MessageDlg espera un string, un ansistring o un pchar?
En realidad no se que entrega, pero eso es lo que usaba en D7 y me funcionaba super bien...

La idea es que cuando quiera eliminar un registro me pregunte si estoy seguro de borrar,, si indica que si, lo elimina o traspasa a otra tabla...
__________________
BlueSteel
Responder Con Cita
  #4  
Antiguo 24-02-2018
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: Jul 2004
Ubicación: Barcelona - España
Posts: 15.608
Poder: 10
Neftali [Germán.Estévez] Tiene un aura espectacularNeftali [Germán.Estévez] Tiene un aura espectacular
Es raro, porque no es algo que debiera haber cambiado.
Este código, por ejemplo, funciona en Delphi 10 Seatle:

Código Delphi [-]
  Try
    // La linea siguiente es la que usaba
    If MessageDlg('Seguro de Eliminar al Cliente '+#13+#13+ 'Soc_Nombre', mtConfirmation, [mbYes, mbNo], 0) = mrYes then begin

      If (MessageDlg('Seguro de Eliminar al Socios '+#13+#13+ 'Soc_Nombre' , mtConfirmation, [mbYes, mbNo], 0, mbYes) = mrYes ) then begin
        if  MessageDlg('Seguro de Eliminar al Socios ', mtConfirmation, [mbYes,mbNo], 0) = mrYes then  Begin
             {
             DM_Datos.AQ_Elimina.SQL.Clear;
             DM_Datos.AQ_Elimina.SQL.Add('Delete From Socio Where Soc_Rut=:Var1');
             DM_Datos.AQ_Elimina.Parameters[0].Value := DM_Datos.AQ_Socio['Soc_Rut'];
             DM_Datos.AQ_Elimina.ExecSQL;
             Selecciona;
             }
        End
      end;
    end;
  Except
     ShowMessage('No existen registros que se puedan eliminar');
  End;

He comentado la parte del DM para probar, pero los diálogos funcoinan como se espera.





__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #5  
Antiguo 24-02-2018
aposi aposi is offline
Miembro
 
Registrado: Dec 2006
Posts: 118
Poder: 12
aposi Va por buen camino
has probado con:
If MessageDlg('Seguro de Eliminar al Cliente '+#13+#13+DM_Datos.AQ_Socio['Soc_Nombre'].AsString, mtConfirmation, [mbYes, mbNo], 0) = mrYes then
Responder Con Cita
  #6  
Antiguo 24-02-2018
Avatar de Soa Pelaez
Soa Pelaez Soa Pelaez is offline
Miembro
 
Registrado: Nov 2015
Posts: 106
Poder: 3
Soa Pelaez Va por buen camino
Una solución podría ser meter el mensaje en PChar () y adentro lo que requieras, debería funcionarte.
Código Delphi [-]
     If (MessageDlg(PChar('Seguro de Eliminar al Socios '+#13+#13+DM_Datos.AQ_Socio['Soc_Nombre'] ), mtConfirmation, [mbYes, mbNo], 0, mbYes) = mrYes ) then

Última edición por Casimiro Notevi fecha: 24-02-2018 a las 19:08:42.
Responder Con Cita
  #7  
Antiguo 26-02-2018
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: May 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 18
BlueSteel Va por buen camino
Wink

Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
Es raro, porque no es algo que debiera haber cambiado.
Este código, por ejemplo, funciona en Delphi 10 Seatle:

Código Delphi [-]
  Try
    // La linea siguiente es la que usaba
    If MessageDlg('Seguro de Eliminar al Cliente '+#13+#13+ 'Soc_Nombre', mtConfirmation, [mbYes, mbNo], 0) = mrYes then begin

      If (MessageDlg('Seguro de Eliminar al Socios '+#13+#13+ 'Soc_Nombre' , mtConfirmation, [mbYes, mbNo], 0, mbYes) = mrYes ) then begin
        if  MessageDlg('Seguro de Eliminar al Socios ', mtConfirmation, [mbYes,mbNo], 0) = mrYes then  Begin
             {
             DM_Datos.AQ_Elimina.SQL.Clear;
             DM_Datos.AQ_Elimina.SQL.Add('Delete From Socio Where Soc_Rut=:Var1');
             DM_Datos.AQ_Elimina.Parameters[0].Value := DM_Datos.AQ_Socio['Soc_Rut'];
             DM_Datos.AQ_Elimina.ExecSQL;
             Selecciona;
             }
        End
      end;
    end;
  Except
     ShowMessage('No existen registros que se puedan eliminar');
  End;

He comentado la parte del DM para probar, pero los diálogos funcoinan como se espera.





Gracias por vuestra ayuda..

El código que tu dejaste si me funciono... y no se porque el que tenia no funcionaba, pero bueno...

Aqui os dejo el codigo que ahora me funciona
Código Delphi [-]
  Try
     // La linea siguiente es la que usaba
     If MessageDlg('Seguro de Eliminar al Cliente '+#13+#13+ DM_Datos.AQ_Socio['Soc_Nombre']+' '+DM_Datos.AQ_Socio['Soc_APaterno'], mtConfirmation, [mbYes, mbNo], 0) = mrYes then
        begin
             DM_Datos.AQ_Elimina.SQL.Clear;
             DM_Datos.AQ_Elimina.SQL.Add('Delete From Socio Where Soc_Rut=:Var1');
             DM_Datos.AQ_Elimina.Parameters[0].Value := DM_Datos.AQ_Socio['Soc_Rut'];
             DM_Datos.AQ_Elimina.ExecSQL;
             Selecciona;
        End
  Except
     ShowMessage('No existen registros que se puedan eliminar');
  End;
__________________
BlueSteel
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
MessageDlg FENIXadr Varios 3 07-06-2010 21:59:24
MessageDlg en Intraweb LVDE Internet 3 08-12-2005 23:53:45
MessageDlg automatico rex Varios 2 02-06-2005 00:18:57
Problema con MessageDlg mgaray Varios 4 11-05-2005 18:28:25
MessageDlg scooterjgm OOP 4 22-10-2004 09:41:05


La franja horaria es GMT +2. Ahora son las 16:54:43.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi