Jump to content


Photo

savepicturedialog


  • Please log in to reply
5 replies to this topic

#1 marthamelo

marthamelo

    Advanced Member

  • Miembros
  • PipPipPip
  • 106 posts
  • LocationA Coruña

Posted 04 August 2014 - 10:43 AM

Hola como puedo hacer para que un Tsavepicturedialog cuando se abra valla a un archivo específico he probado con esto pero no funciona


delphi
  1. savepicturedialog1.InitialDir:=Application.ExeName+'/imagenes';


  • 0

#2 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6301 posts
  • LocationArgentina

Posted 04 August 2014 - 11:01 AM

No dispongo de Delphi, pero de lo que recuerdo, Application.ExeName devuelve justamente el directorio MAS el nombre del ejecutable y la extensión. Es decir algo como: Ruta/NombreEjecutable.exe

Por tanto tu código contatena todo: Ruta/NombreEjecutable.exe/Imagenes

Para hacer lo que buscas debes extraer la ruta solamente. Para ello está la función ExtractFilePath. Luego concatenar.

Es decir:



delphi
  1. ExtrafFilePath(Application.ExeName) + '/Imagenes';



Saludos,
  • 0

#3 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14477 posts
  • LocationMéxico

Posted 04 August 2014 - 11:05 AM

Lo que tienes que hacer es lo siguiente:



delphi
  1.   SavePictureDialog1.InitialDir := 'C:\Documentos\Imagenes';
  2.   SavePictureDialog1.FileName := 'sat1.png';
  3.   if not SavePictureDialog1.Execute then exit;



Saludos

Attached Files


  • 0

#4 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14477 posts
  • LocationMéxico

Posted 04 August 2014 - 11:08 AM

No dispongo de Delphi, pero de lo que recuerdo, Application.ExeName devuelve justamente el directorio MAS el nombre del ejecutable y la extensión. Es decir algo como: Ruta/NombreEjecutable.exe

Por tanto tu código contatena todo: Ruta/NombreEjecutable.exe/Imagenes

Para hacer lo que buscas debes extraer la ruta solamente. Para ello está la función ExtractFilePath. Luego concatenar.

Es decir:



delphi
  1. ExtrafFilePath(Application.ExeName) + '/Imagenes';



Saludos,


Cierto, eso es lo que pregunta, yo me fui por mostrar el nombre del archivo a guardar, que no es lo que está preguntando.  *-)

Saludos
  • 0

#5 cram

cram

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 832 posts
  • LocationMisiones, Argentina

Posted 04 August 2014 - 11:41 AM

Deberías ver la propiedad FileName y DefaultExt.

En filename va el nombre y defaultext la extensión como por ejemplo: *.JPG
la propiedad Filter es para filtrar los archivos que se ven en la lista.

Saludos

PD: No vi el primer mensaje de Egostar, si el segundo, pues escribía justo en el mismo momento, por lo que cometí el mismo error que cita él.
  • 0

#6 Wilson

Wilson

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2137 posts

Posted 04 August 2014 - 01:37 PM

Si lo que quieres es que vaya a un archivo específico (como dice tu pregunta), entonces debes pasarle la ruta completa del archivo icluida la extensión, ahora, deduciendo algo de tu código, supongamos que tienes una carpeta de nombre "imagenes" que a su vez reside dentro de la carpeta del ejecutable y en dicha carpeta tienes el archivo del que habla tu pregunta, entonces la solución sería:



delphi
  1. SavePictureDialog1.FileName := ExtrafFilePath(Application.ExeName) +'\imagenes\TuArchivo.TuExtension';



Ahora, si lo que quieres es que vaya a una carpeta  determinada entonces sería:



delphi
  1. SavePictureDialog1.InitialDir := ExtrafFilePath(Application.ExeName) +'\imagenes';// En tu código tienes la barra al reves .





No dispongo de Delphi, pero de lo que recuerdo, Application.ExeName devuelve justamente el directorio MAS el nombre del ejecutable y la extensión.


No amigo Delphius,  dicha función solo devuelve la ruta de la carpeta en donde reside el ejecutable.

Saludos
  • 0




IP.Board spam blocked by CleanTalk.