Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   problema con if FileExist (https://www.clubdelphi.com/foros/showthread.php?t=76546)

jonydread 08-11-2011 17:49:08

problema con if FileExist
 
hola amigos tengo el sgte problema espero me ayuden
tengo este codigo
Código Delphi [-]
procedure TForm1.Button3Click(Sender: TObject);
begin
if FileExists(OpenDialog1.FileName) then if MessageDlg('Realmente desea Cerrar aplicación?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
             close;
                 else close;
end;

me he estado enredando mucho lo que pasa que quiero que se muestre solo cuando le de cerrar y tenga un archivo abierto y cuando no haya nada abierto cierre nada mas y si hay alguna forma de funcionar con el form osea al cerrar la ventana de la esquina tambien muestre este mensaje

muchas gracias exelente foro!!

duilioisola 08-11-2011 18:11:19

El título dice que tienes problemas con FileExists... no parece según tu descripción de tu mensaje.

No entiendo bien cuando se debe cerrar la aplicación:
Cita:

quiero que se muestre solo cuando le de cerrar
¿Qué es lo que quieres que se muestre?
Cita:

cuando le de cerrar y tenga un archivo abierto
¿Qué archivo? ¿Qué tipo de archivo? ¿No sabes como saber si has abierto un archivo?

Supongo que tienes que utilizar el evento del Form OnClose y OnCloseQuery. Ponte sobre ellos y presiona F1 para aprender como funcionan.
De un ejemplo del Delphi 6
Código Delphi [-]
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  if MessageDlg('Close the form?', mtConfirmation, [mbOk, mbCancel], 0) = mrCancel then
     CanClose := False;
end;

En tu caso debería ser algo así:
Código Delphi [-]
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  if (ArchivoAbierto) then
  begin
     if MessageDlg('Close the form?', mtConfirmation, [mbOk, mbCancel], 0) = mrCancel then
        CanClose := False;
  end 
  else
     CanClose := True;
end;

jonydread 08-11-2011 19:02:31

disculpa si no me exprese bien
pero gracias por entender lo que buscaba funciono perfecto!!
muchas gracias!


La franja horaria es GMT +2. Ahora son las 08:31:27.

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