Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Problema con una funcion (https://www.clubdelphi.com/foros/showthread.php?t=60651)

Alliance 08-10-2008 22:46:11

Problema con una funcion
 
Hola, esta funcion la saque de un programa editor de texto que vi por internet, el problema es que hay un error en el codigo y no se como solucionarlo.

Código Delphi [-]
function TForm1.Filetext: Boolean;
begin
   Result := true;
   if MemoEditor.Modified then
     begin
       case MessageDlg('Quieres guardar los cambios',
       mtInformation, mbYesNoCancel, 0) of
       mrYes: if SaveDialog.Execute then
       begin
         FileName := SaveDialog.FileName;
         MemoEditor.Lines.SaveToFile(FileName);
      end else
        Result := false;
        mrNo: Result := true;
        mrCancel: Result := false;
       end;
   end;
end;


Como ven en el codigo, cuando tenemos un archivo editado y modificado, cuando intentamos salir de el programa nos dice que si queremos guardar los cambios, si aceptamos para que se cierre el programa guadando los cambios.

Pues este codigo, lo que hace es abrir el dialogo de guardar, en vez de guardar sin ejecutarlo, asi silenciosamente, se cierra el programa y guada los cambios echos en el archivo de texto.

este codigo no es mio, alguien sabe como solucionarlo.

:D

enecumene 08-10-2008 22:53:35

El problema está en estas dos líneas:

Código Delphi [-]
function TForm1.Filetext: Boolean;
begin
   Result := true;
   if MemoEditor.Modified then
     begin
       case MessageDlg('Quieres guardar los cambios',
       mtInformation, mbYesNoCancel, 0) of
       mrYes: if SaveDialog.Execute then
       begin
         FileName := SaveDialog.FileName;
         MemoEditor.Lines.SaveToFile(FileName);
      end else
        Result := false;
        mrNo: Result := true;
        mrCancel: Result := false;
       end;
   end;
end;

Ahora, para que te podamos ayudarte, deberías dar un poco más de información, la razón del uso de este código, etc, etc.

Saludos.

Caro 08-10-2008 22:55:46

Hola, no te entiendo muy bien, tu no quieres que se muestre el cuadro de dialogo es así solo quita esa parte

Código Delphi [-]
function TForm1.Filetext: Boolean;
begin
   Result := true;
   if MemoEditor.Modified then
     begin
       case MessageDlg('Quieres guardar los cambios',
       mtInformation, mbYesNoCancel, 0) of
       mrYes: MemoEditor.Lines.SaveToFile('C:\NombreDeTuArchivo.txt');
      end else
        Result := false;
        mrNo: Result := true;
        mrCancel: Result := false;
       end;
   end;
end;

Saluditos

enecumene 08-10-2008 22:58:40

Yo concuerdo contigo amiga Caro, pero hay que él dice:

Cita:

...cuando tenemos un archivo editado y modificado
Así que creo que hay algo más que eso :eek:.

Saludos.

Caro 08-10-2008 23:05:53

Cita:

Empezado por enecumene (Mensaje 319045)
Así que creo que hay algo más que eso :eek:.

Yo también concuerdo contigo amiguito, mejor que nos aclare un poco mas el asunto ;).

Saluditos

Neeruu 09-10-2008 02:38:32

Problema con una funcion
 
Hola a todos

Código Delphi [-]
function TForm1.Filetext: Boolean;
var Filemane:String
begin   
   Result := true;   
   if MemoEditor.Modified then     
      begin       
         case MessageDlg('Quieres guardar los cambios',       
                mtInformation, mbYesNoCancel, 0) of       
                mrYes: if SaveDialog.Execute then       
                             begin         
                             FileName := SaveDialog.FileName;         
                                 MemoEditor.Lines.SaveToFile(FileName);
            MemoEditor.Lines.SaveToFile(SaveDialog.FileName);      
                             end else Result := false;        
                mrNo: Result := true;        
                mrCancel: Result := false;       
         end;   
     end;
end;

Para mi el problema esta de donde sale la variable 'Filemane', o la agregas o
puedes poner como lo pongo en el ejemplo(No probe si esta bien, pero deberia)

Cualquier cosa avisa!!!

Saluda Atte Neeruu!!!:)


La franja horaria es GMT +2. Ahora son las 10:19:29.

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