Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Guardar Archivo (https://www.clubdelphi.com/foros/showthread.php?t=19939)

BlueSteel 31-03-2005 18:17:57

Guardar Archivo
 
Hola Delphimaniaticos...

tengo una consultita....

Como puedo guardar un archivo en un Directorio X con un Nombre Y, pero sin utilizar el Cuadro de Diagolo que viene con el Dephi 7.

como dato, conozco el Directorio, El nombre del Archivo, y la Extención....

y si no se puede, existe alguna manera de utilisar el SaveDialog en modo invisible o algo parecido....

la idea es que cuando el usuario presione guardar, este se guarde en el directorio por defecto y con el nombre por defecto....:D

delphi.com.ar 31-03-2005 18:29:32

No entiendo bien la duda, pero: ¿No quieres que el usuario seleccione el directorio?... entonces obvias el TSaveDialog y asignas desde el código el directorio que mas te guste!

jachguate 31-03-2005 18:48:09

De hecho, el SaveDialog en realidad no guarda ningún archivo... simplemente permite al usaurio seleccionar la ubicación y el nombre que quiere darle... y espera que el programador use esta información para enviarlo al disco.

:confused:

BlueSteel 31-03-2005 21:11:35

shuata.. y como seria la sentencia ?

sera algo asi SaveAs(Unidad,Directorio,Nombre_Archivo) ?

delphi.com.ar 31-03-2005 21:27:54

Que es lo que quieres guardar????... dónde lo tienes almacenado???

maeyanes 31-03-2005 21:37:20

Depende de que tipo de archivo quieres guardar y desde donde?

Si es un archivo de texto y lo quieres guardar desde un TStringList, sería algo como:

Código Delphi [-]
MiStringList.SaveToFile('C:\RutaCompletadelArchivo\ElArchivo.txt');

Si es un bitmap o cualquier formato gráfico desde un TImage o TPicture podría ser algo como:

Código Delphi [-]
// Es un TImage
MiImagen.Picture.SaveToFile('C:\RutaCompletadelArchivo\ElArchivo.bmp');

// Es un TPicture
MiPicture.SaveToFile('C:\RutaCompletadelArchivo\ElArchivo.bmp');


Saludos...

delphi.com.ar 31-03-2005 22:07:09

Estas utilizando un TActionManager con un TFileAction????

BlueSteel 31-03-2005 23:05:28

Quiero guardarlo en formato PDF :p .... lo cual hasta el momento me funciona muy bien.... (Estoy traspasando un Informe de QReport a PDF.... y todo bien...)

El código que utilizo es el siguiente
Código:


procedure TOrdenes.Generar_PDF;
Var
aPDFFilt : TQRPDFDocumentFilter;
Nom : String;
begin
        Filtra_Orden;
        Guarda_Pdf.Title := 'Orden de Compra - Club Deportivo Huachipato';
        Guarda_Pdf.FileName := Concat(IntToStr(IBQ_Select['Ord_Numero']),'.pdf');
        If Guarda_Pdf.Execute Then
        Begin
                  ChDir(ExtractFilePath(Guarda_Pdf.Filename));
                  Nom := Guarda_Pdf.FileName;
                  aPDFFilt := TQRPDFDocumentFilter.Create(Nom);
                  With TOrdenes.Create(Application) Do
                  Try
                        Imprime_Orden.QuickRep1.ExportToFilter( aPDFFilt);
                  Except
                          ShowMessage('Error al crear el archivo');
                          Raise;
                  End;
                  aPDFFilt.Free;
        End
end;

mi consulta es saber como guardo el archivo sin utilizar el SaveDialog....

Además, otra consulta, como puedo hacer para verificar si el Archivo ya Existe ?... para que no lo sobreescriba.... y se evite un paso....:D

maeyanes 31-03-2005 23:22:38

Prueba con estas modificaciones:
Código Delphi [-]
procedure TOrdenes.Generar_PDF;
Var
  aPDFFilt : TQRPDFDocumentFilter;
  Nom : String;

begin
  Filtra_Orden;
  //Guarda_Pdf.Title := 'Orden de Compra - Club Deportivo Huachipato';
  //Guarda_Pdf.FileName := Concat(IntToStr(IBQ_Select['Ord_Numero']),'.pdf');
  //ChDir('C:\Ruta del archivo');
  //Nom := Guarda_Pdf.FileName;
  aPDFFilt := TQRPDFDocumentFilter.Create('C:\RutaCompleta\' +
    IntToStr(IBQ_Select]'Ord_Numero']) + '.pdf');
  try
    With TOrdenes.Create(Application) Do
    try
      Try
        Imprime_Orden.QuickRep1.ExportToFilter(aPDFFilt)
      Except
        ShowMessage('Error al crear el archivo');
        Raise;
      End
    finally
      Free
    end
  finally
    aPDFFilt.Free
  end
end;

Si te fijas, le agregué 2 try...finally al código, esto es para liberar los objetos creados dentro del método...


Saludos...

roman 31-03-2005 23:26:15

Yo creo que a ti te hace falta un poco de descanso :p Tómate un respiro y reexamina el código y la pregunta que haces.

A ver, en ¿qué parte del código usas lo que devuelve el SaveDialog?

En estas dos líneas:

ChDir(ExtractFilePath(Guarda_Pdf.Filename));
Nom := Guarda_Pdf.FileName;

La primera es para cambiarte de directorio y la segunda para crear TQRPDFDocumentFilter quien recibe el nombre del archivo.

Pero estas dos cosas tú ya las tienes sin necesidad del SaveDialog.

Entonces úsalas directamente.

// Saludos

jachguate 01-04-2005 00:43:08

Yo creo que el problema es que has copiado el código de otro lado y estas tratando de modificarlo sin entender lo que hace primero.

Lo primero no es un pecado, si el autor lo ha publicado para eso, pero lo segundo (para mi) si lo es.

Hasta luego.

;)


La franja horaria es GMT +2. Ahora son las 22:13:02.

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