Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Copiar varias lineas de un stringlist en una sola de otro stringlist (https://www.clubdelphi.com/foros/showthread.php?t=90755)

Anel Hernandez 29-08-2016 19:35:11

Copiar varias lineas de un stringlist en una sola de otro stringlist
 
hola,

quisiera copiar varias lineas de un stringlist en una sola de otro stringlist. por ejemplo:

strinlist1:
linea1
linea2
linea3
....
linea100

strinlist2:
linea1+linea2+linea3+linea4...linea10
linea11+linea12+linea13..linea20
...
linea91+linea92...linea100.

lo hago adicionando las lineas del stringlist1 en un string temporal y luego los adiciono al 2do stringlist.

quisiera saber si hay una forma de hacerlo directamente de stringlist a otro sin usar el temporal.

gracias
A

roman 29-08-2016 20:15:43

No entiendo para qué usarías un stringlist temporal. Con un sencillo bucle puedes almacenar la concatenación de cadenas en una cadena temporal y luega ésta agregarla al segundo stringlist.

Por otra parte, la propiedad StringList.Text contiene el texto de todas las líeas juntas, pero separadas por #13#10 (CRLF, fín de línea), así que bastaría reemplazar todos los #13#10 por una cadena vacía para obtener el mismo resultado. Por ejemplo, usando la función AnsiReplaceStr:

Código Delphi [-]
StringList2.Add(StrUtils.AnsiReplaceStr(StringList1.Text, #13#10, ''));

LineComment Saludos

ecfisa 29-08-2016 20:39:42

Hola.

A mi tampoco me queda claro el caso, pero el almacenamiento auxiliar no es necesario en absoluto.

Podes usar la propiedad vectorial Strings para realizar la concatenación de forma directa y un contador para acceder al índice, vg.:
Código Delphi [-]
 
 for i := desde to hasta do 
   StringList1.Strings[inx_orig] := StringList1[inx_orig] + StringList2[i]; //(*)
(*) Strings es propiedad por defecto por lo que podes omitir su nombre

Saludos :)

Anel Hernandez 29-08-2016 23:07:27

hola,

muchas gracias, debi decir string temporal o cadena temporal que es lo que realmente uso.
gracias por sus sugerencias.


La franja horaria es GMT +2. Ahora son las 11:59:15.

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