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 03-03-2009
THACKER THACKER is offline
Miembro
 
Registrado: jun 2008
Posts: 44
Poder: 0
THACKER Va por buen camino
Question Cual es el problema con este codigo?

Bueno no puedo ejecutar la aplicasion por que este codigo me da error:

Código Delphi [-]
procedure TMDIChild.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if synedit1.Modified = true then
begin

  if messagebox(handle, 'Press Y to Exit ? [Y or N]', 'Select...', MB_YESNO)=IDYES then
  messagebox (handle, 'YES', 'YEA', mb_iconinformation);
    end else begin
      messagebox (handle, 'NO', 'NO', mb_iconinformation);
     end;
  end else begin
close;
end;

Aver quien me ayuda :S
Responder Con Cita
  #2  
Antiguo 03-03-2009
Avatar de Crandel
[Crandel] Crandel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Parana, Argentina
Posts: 1.475
Poder: 23
Crandel Va por buen camino
Hola THACKER, hay varios errores

1. Hay un end que no cierra ningun begin, por lo que no te va a compilar.
2. En el evento CloseQuery lo unico que debes modificar es el parametro CanClose y no denes llamar de nuevo a Close porque te va a dar error

Asi que el codigo deberia quedar asi:

Código Delphi [-]
procedure TMDIChild.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  if synedit1.Modified then
    CanClose := MessageBox(handle, 'Press Y to Exit ? [Y or N]', 'Select...', MB_YESNO) = IDYES;
end;

Suerte
__________________
[Crandel]
Responder Con Cita
  #3  
Antiguo 03-03-2009
THACKER THACKER is offline
Miembro
 
Registrado: jun 2008
Posts: 44
Poder: 0
THACKER Va por buen camino
Question

Hmmm no me funciona :S
Se queda el No pegado sera que puedes completar el script con el IF para si el usuario selecciona si para guardar los cambios?

Espero respuesta que no quiero raspar ! :'(
Código Delphi [-]
procedure TMDIChild.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if synedit1.Modified = true then
begin
CanClose := messagebox(handle, 'Press Y to Exit ? [Y or N]', 'Select...', MB_YESNO)=IDYES;
  messagebox (handle, 'YES', 'YEA', mb_iconinformation);
    end else begin
      messagebox (handle, 'NO', 'NO', mb_iconinformation);
     end;
close;
end;

Última edición por THACKER fecha: 03-03-2009 a las 08:12:06.
Responder Con Cita
  #4  
Antiguo 03-03-2009
Avatar de Crandel
[Crandel] Crandel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Parana, Argentina
Posts: 1.475
Poder: 23
Crandel Va por buen camino
Por que no explicas cual es la logica que quieres implementar ?

La pregunta es si quiere salir ? si quiere guardar ? son dos preguntas por separado ?
__________________
[Crandel]
Responder Con Cita
  #5  
Antiguo 03-03-2009
THACKER THACKER is offline
Miembro
 
Registrado: jun 2008
Posts: 44
Poder: 0
THACKER Va por buen camino
Question

Osea dejame explicarme.

Se trataria algo asi, que el synedit al estar modificado y al tratar de cerrarlo este pregunte si se desean guardar los cambios.
Código Delphi [-]
procedure TMDIChild.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if synedit1.Modified = true then
begin
CanClose := messagebox(handle, 'Desea guardar los cambios al script?', 'Selecciona', MB_YESNO)=IDYES;
  messagebox (handle, 'YES', 'YEA', mb_iconinformation);
    end else begin
      messagebox (handle, 'NO', 'NO', mb_iconinformation);
     end;
close;
end;

Y que se ejecute cierto savedialog y que al seleccionar No el mismo se cierre sin guardar cambios.
Pero claro ese script no sirve me da error :S
Responder Con Cita
  #6  
Antiguo 03-03-2009
Avatar de Crandel
[Crandel] Crandel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Parana, Argentina
Posts: 1.475
Poder: 23
Crandel Va por buen camino
entonces no debes modificar CanClose, porque la idea es salir siempre, solo saber si desea guardar antes los cambios o no.

Código Delphi [-]
procedure TMDIChild.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  if synedit1.Modified = true then
  begin
    if messagebox(handle, 'Desea guardar los cambios antes de salir?', 'Selecciona', MB_YESNO)=IDYES then
      messagebox (handle, 'YES', 'YEA', mb_iconinformation);
    else
      messagebox (handle, 'NO', 'NO', mb_iconinformation);
  end;
end;
__________________
[Crandel]
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
codigo de la tecla tab cual es? sakuragi OOP 8 17-03-2010 04:01:21
ayuda con este codigo kurono Varios 4 13-06-2008 01:03:29
Problemas con funciones de tiempo..cual es el error en este codigo rubencho PHP 5 29-04-2007 22:28:39
Que significa este codigo? D-MO PHP 14 23-01-2006 10:08:21
Por que no funciona este codigo en XP? kia Varios 3 15-10-2003 21:39:33


La franja horaria es GMT +2. Ahora son las 02:10:21.


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