Programación General > Visual C++

 Codigo Seleccion Archivo

(1/2) > >>

spyfly:
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.

spyfly:
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();
   }

inforsystem:
Hola.

Existe una funcion API que se llama GetCurrentPath.
Saludos.

spyfly:
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.

spyfly:
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);

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa