Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   leer varios ficheros en un solo stringlist (https://www.clubdelphi.com/foros/showthread.php?t=80321)

Anel Hernandez 18-09-2012 18:11:04

leer varios ficheros en un solo stringlist
 
Hola:

Necesito abrir varios ficheros y guardar la informacion de todos en un solo stringlist, usando ademas LoadFromFile.
Se me ocurren 2 vias:

1. Leer en un stringlist el primer fichero y copiarlo a un 2do stringlist. Despues leo el segundo fichero y se los adiciono al 2do stringlist al final del ultimo string. y asi hasta el ultimo fichero.

2. Usar un solo stringlist y cada vez que leo un fichero los adiciono al final.

hay varias dudas que tengo en esto:

a. en la via 1, como se asignan los valores de un stringlist a otro de un solo paso? es posible? o hay que hacerlo de 1 en 1? se pueden adicionar en 1 solo paso al final?

b. en el 2do caso, se puede usar LoadFromFile y adicionar al final? o hay que usar otro metodo parecido?

he leido la ayuda, el foro y aun no puedo resolver esto.

mil gracias al que pueda ayudar.

roman 18-09-2012 18:15:31

Primera vía, usando el método AddStrings del segundo StringList.

// Saludos

Anel Hernandez 19-09-2012 12:09:22

hola,

mil gracias. remedio santo.

ahora tengo otro problema similar al anterior, pero es en modo dinamico, los ficheros texto que necesito leer no se crean en el orden logico consecutivo.

me explico mejor:
los ficheros se nombran 1a, 1b, 1c, 2a, 2b, 2c, 3a, 3b, 3c, etc. y necesito leerlos y ordenarlos en ese mismo orden. si los tuviera todos pues no hay problema, con la solucion de roman es remedio santo.

pero esos ficheros se generan siguiendo el orden 1a, 2a, 3a,.. 1b, 2b,3b,... 1c,2c,3c, etc. y necesito leerlos mientras se crean e irlos guardando para ordenarlos y al final guardarlos en un solo stringlist. no me vale esperar al final. Debo leerlos asi.

se me ocurren igualmente dos vias:

1 leer los archivos y adicionarlos o insertarlos segun sea necesario. aqui las dudas son si se pueden insertar una lista entera dentro de otra o hay que hacerlo string a string?

2 hacer un array de Tstringlist, guardar por cada elemento del array, adicionando al final del necesario y al concluir adicionarlos todos al final del 1er elemento del array y solo salvar array[1]. La duda aqui: Existe algun type o estructura de datos que me permita hacer esto?

que me sugieren?

mil gracias

roman 19-09-2012 15:59:06

Creo que la segunda opción es la más manejable pero depnderá de cuántos archivos sean ya que tendrías todos en memoria.

Puedes usar un arreglo bidimiensional dinámico:

Código Delphi [-]
type
  TMatriz = array of array of TStringList;

Usando la función SetLength puedes asignar y reasignar las dimensiones de la matriz.

// Saludos


La franja horaria es GMT +2. Ahora son las 03:18:24.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi