SoloCodigo

Programación General => C/C++ => C++ Builder => Mensaje iniciado por: rompecabezas en Lunes 21 de Diciembre de 2009, 16:37

Título: seleccion multiple
Publicado por: rompecabezas en Lunes 21 de Diciembre de 2009, 16:37
hola

Si selecciono varios ficheros desde un open dialog, como los abro uno a uno?

FILE *FOpen;
FOpen = fopen(SelectFile->FileName.c_str(), "r+");

solamente abre el primero. Hay alguna forma de indexar SelectFile?

(SelectFile es de clase TOpenDialog)

gracias de nuevo!
Título: Re: seleccion multiple
Publicado por: lair en Martes 22 de Diciembre de 2009, 01:26
Hola.

por que intentas con el debugeador la siguiente vairable:
SelectFile->FileName
me imagino que debe de formar algun arreglo o algo asi, la verdad nunca lo he hecho pero me imagino que debe de ser algo asi

suerte
Título: Re: seleccion multiple
Publicado por: TRod en Martes 22 de Diciembre de 2009, 04:13
La propiedad Files es de tipo TStrings*... y... listo  :rolleyes:
Título: Re: seleccion multiple
Publicado por: rompecabezas en Martes 22 de Diciembre de 2009, 10:32
ya, pero, como se indexa? estoy un poco verde en builder...
Título: Re: seleccion multiple
Publicado por: TRod en Miércoles 23 de Diciembre de 2009, 03:59
Los objetos TStrings tienen una propiedad llamada Strings. En ella se 'enlistan' todas las cadenas contenidas. Ejemplo:
OpenDialog1->Files->Strings[0]    //1er. elemento
OpenDialog1->Files->Strings[1]    //2do elemento
OpenDialog1->Files->Strings[2]    //3er elemento
...
El número de elementos contenidos esta definido por la propiedad 'Count'.
Código: Text
  1.  
  2. i = 0;
  3. while(i < OpenDialog1->Files->Count){
  4.  OpenDialog1->Files->Strings[i];  //¿Qué quieres hacerle?  Lo que quieras
  5.  i++;
  6. }
  7.  
  8.  

Si eres nuevo en Builder, sugiero que estudies los tipos AnsiString y TStrings (NO SON estandar de C++) porque los tendras que manejar muchísimo en componentes... no es dificil... pero es necesario que los repases y te familiarices con ellos.
Suerte :hola: