• Lunes 6 de Mayo de 2024, 13:47

Autor Tema:  Codigo Seleccion Archivo  (Leído 2361 veces)

spyfly

  • Miembro activo
  • **
  • Mensajes: 81
    • Ver Perfil
Codigo Seleccion Archivo
« en: Martes 18 de Julio de 2006, 19:19 »
0
Queremos abrir una ventana de dialogo para seleccionar un archivo, lo queremos hacer de una manera estandar y tipica. Hemos descubierto esto :

   CFileDialog DlgGuardar(FALSE);

creemos que se puede hacer con esto pero no lo tenemos claro ¿alguien podria ayudarnos?¿existe un codigo tipico para hacer esto?.Un ejemplo nos vendria bién.

Un saludo. Gracias.
La vida es dura
             SPYFLY


spyfly

  • Miembro activo
  • **
  • Mensajes: 81
    • Ver Perfil
Re: Codigo Seleccion Archivo
« Respuesta #1 en: Martes 18 de Julio de 2006, 20:53 »
0
Hemos hecho esto y parece que funciona, pero nos queda por defecto la ruta donde selecionamos el archivo, y queremos que nos quede la que teniamos antes (donde esta el programa).


   CString strRuta;
   
   CFileDialog DlgAbrir(TRUE); // llama al constructor

   // Definir los pares descripción|filtro
   DlgAbrir.m_ofn.lpstrFilter = "Ficheros de experiencias (*.txt)\0*.txt\0Todos los ficheros (*.*)\0*.*\0";
   // Definir el titulo
   DlgAbrir.m_ofn.lpstrTitle = "Seleccionar Archivo a Borrar";
   
   if ( DlgAbrir.DoModal() == IDOK )
   {
      // Visualizar el nombre del fichero en la caja de texto
      strRuta = DlgAbrir.GetPathName();
   }
La vida es dura
             SPYFLY


inforsystem

  • Nuevo Miembro
  • *
  • Mensajes: 15
    • Ver Perfil
Re: Codigo Seleccion Archivo
« Respuesta #2 en: Miércoles 19 de Julio de 2006, 05:05 »
0
Hola.

Existe una funcion API que se llama GetCurrentPath.
Saludos.

spyfly

  • Miembro activo
  • **
  • Mensajes: 81
    • Ver Perfil
Re: Codigo Seleccion Archivo
« Respuesta #3 en: Miércoles 19 de Julio de 2006, 08:00 »
0
Ya la hemos intentado usar pero no sabemos como funciona, ni los parametros que hay que pasar. ¿Alguien no hecha un mano?

Lo que nosotros queremos es seleccionar un archivo y meter la ruta de este en una cadena para que despues sea borrado, pero sin cambiar el directorio por defecto(Donde esta nuestro programa).

Un saludo. Gracias.
La vida es dura
             SPYFLY


spyfly

  • Miembro activo
  • **
  • Mensajes: 81
    • Ver Perfil
Re: Codigo Seleccion Archivo
« Respuesta #4 en: Miércoles 19 de Julio de 2006, 08:42 »
0
Al final hemos utilizado esto y parece que nos realiza lo que buscabamos. Gracias por las indicaciones. Saludos.

   // TODO: Add your control notification handler code here
   CString Ruta;
   char RutaPpal[128];
   FILE *papelera;

   GetCurrentDirectory(128,RutaPpal);

   CFileDialog DlgAbrir(TRUE); // llama al constructor
   
   // Definir los pares descripción|filtro
   DlgAbrir.m_ofn.lpstrFilter = "Ficheros de experiencias (*.txt)\0*.txt\0Todos los ficheros (*.*)\0*.*\0";
   // Definir el titulo
   DlgAbrir.m_ofn.lpstrTitle = "Seleccionar Archivo a Borrar";

   if (DlgAbrir.DoModal()==IDOK)
   {
      // Visualizar el nombre del fichero en la caja de texto
      Ruta = DlgAbrir.GetPathName();
   }

   SetCurrentDirectory(RutaPpal);
   papelera=fopen("papelera.txt","a");
   fprintf(papelera,"%s",Ruta);
   fclose(papelera);
La vida es dura
             SPYFLY


spyfly

  • Miembro activo
  • **
  • Mensajes: 81
    • Ver Perfil
Re: Codigo Seleccion Archivo
« Respuesta #5 en: Miércoles 19 de Julio de 2006, 12:33 »
0
Asi como lo tenemos recuerda la ultima ruta en la que estuve y al abrir de nuevo la ventana aparece ne ese directorio.
Se le puede indicar que la ventana aparezca por defecto en una ruta que nosotros le indiquemos y que no recuerde la ultima donde estuvo?


Gracias. Un saludo.
La vida es dura
             SPYFLY


ivancp

  • Miembro activo
  • **
  • Mensajes: 70
    • Ver Perfil
Re: Codigo Seleccion Archivo
« Respuesta #6 en: Miércoles 19 de Julio de 2006, 16:46 »
0
Escribe esta linea antes del DoModal.
Código: Text
  1.  
  2. DlgAbrir.m_ofn.lpstrInitialDir = "E:\\TuRuta";
  3.  
ivancp                

spyfly

  • Miembro activo
  • **
  • Mensajes: 81
    • Ver Perfil
Re: Codigo Seleccion Archivo
« Respuesta #7 en: Miércoles 19 de Julio de 2006, 17:10 »
0
Hemos usado esto que tambien funciona, guardamos la ruta anterior y luego la volvemos a dejar como estaba.



antes de la llamada DoModal:

GetCurrentDirectory(128,RutaPpal);

despues de DoModal:

SetCurrentDirectory(RutaPpal);
La vida es dura
             SPYFLY