Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-06-2007
Avatar de jorgegetafe
jorgegetafe jorgegetafe is offline
Miembro
 
Registrado: dic 2006
Posts: 238
Poder: 18
jorgegetafe Va por buen camino
Mensaje antes de salir

Leí hace tiempo que habia una función para mostrar un mensaje antes de cerrar la aplicación.

Me explico mejor con un ejemplo: Cuando estamos por ejemplo con el block de notas y damos a salir, nos sale un mensaje que dice "¿Desea usted guardar los cambios antes de salir?" pues bien, eso es lo que quiero hacer yo, que se muestre ese mensaje con los botoncitos respectivos de aceptar y cancelar. Lo tengo que hacer creando una form nueva a mano, o hay algo que te lo de.

gracias y un saludo.
Responder Con Cita
  #2  
Antiguo 05-06-2007
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
En el evento OnCloseQuery se suministra un parámetro booleano (CanClose). Este parámetro determina si el formulario debe o no cerrarse.

Investiga un poco sobre este evento. Busca en los foros por onCloseQuery y obtendras buenos resultados.

tu deberás hacer algo como:

Código Delphi [-]
if Respuesta_usuario = OK
   then CanClose := TRUE
   else CanClose := FALSE

No tengo Delphi a mano.
Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #3  
Antiguo 05-06-2007
Avatar de jorgegetafe
jorgegetafe jorgegetafe is offline
Miembro
 
Registrado: dic 2006
Posts: 238
Poder: 18
jorgegetafe Va por buen camino
Vale buscare, gracias.
Responder Con Cita
  #4  
Antiguo 05-06-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Para salir del programa en el evento onclose:
Código Delphi [-]
if MessageDlg('¿Está seguro que desea salir del Programa?', mtConfirmation,
       [mbYes, mbNo], 0) = mrYes then
       Action := caFree
     else
       Action := caNone;
Para validar o guardar etc:
Código Delphi [-]
If MessageDlg('¿Desea guardar los cambios',mtConfirmation,[mbYes,mbNo],0) = mrYes 
then
// lo que sea
else
// lo contrario
Bueno me imagino que es asi.
Saludos
Responder Con Cita
  #5  
Antiguo 05-06-2007
sinalocarlos sinalocarlos is offline
Miembro
 
Registrado: sep 2006
Posts: 152
Poder: 18
sinalocarlos Va por buen camino
Caundo usas formas heredadas es facil utilizar en la forma base:

Código Delphi [-]
procedure formabase_frm.FormCloseQuery(Sender: TObject;
  var CanClose: Boolean);
var
i,opcionelegida:integer;
begin
  inherited;
  i:=0;
  opcionelegida:=-1;
  while (i<=ComponentCount - 1) do
  begin
    if (Components[i] is Tdatasource) then
    begin

        if TdataSource(Components[i]).State in [dsedit, dsinsert] then
        begin

           if opcionelegida = -1 then
              opcionelegida:=Application.MessageBox('Existen Datos sin guardar, Desea Grabar los Cambios',
                              'Guardar', MB_YESNOCANCEL + MB_ICONINFORMATION );
           if opcionelegida <> -1 then
           begin
              case opcionelegida of
                  ID_NO:begin
                          TdataSource(Components[i]).DataSet.Cancel;
                  end;//ID_NO
                  ID_YES:begin
                          TdataSource(Components[i]).DataSet.Post;
                  end;//IS_YES
                  ID_CANCEL: begin
                          CanClose := False;

                  end;
              end;//case
           end;//if opcionelegida<>-1 then
        end;//if Tdatasorce
    end;//if components [i]
    inc(i);
 end;//while
end;//proc


Con lo cual Validas todos los datasources de tu forma, que porque datasource y no dataset, es por los que usamos los datasets en un modulo

Espero te sirva de algo
Responder Con Cita
  #6  
Antiguo 05-06-2007
Avatar de jorgegetafe
jorgegetafe jorgegetafe is offline
Miembro
 
Registrado: dic 2006
Posts: 238
Poder: 18
jorgegetafe Va por buen camino
Gracias, despues de ponerlo ha quedado muy chulo jejeje
Responder Con Cita
Respuesta



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
Mensaje - Evento... antes de perder el foco, es posible??? ariefez Varios 11 13-07-2007 23:28:21
Mensaje Raro al Salir aplicacion JULIOCTORRESG Varios 6 14-12-2006 22:06:30
Preguntar antes de salir de aplicacion jorgesl Varios 6 19-04-2006 20:25:15
Salir de un While alfredosg19 Varios 5 17-03-2005 02:09:07
COmo genero un mensaje antes de un Sysutils.Abort Bitbanner Conexión con bases de datos 19 16-02-2005 17:41:58


La franja horaria es GMT +2. Ahora son las 06:17:51.


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