Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Problema con Stringlist (https://www.clubdelphi.com/foros/showthread.php?t=76141)

Anel Hernandez 11-10-2011 16:42:06

Problema con Stringlist
 
Hola,

estoy intentando separar un string donde he colocado como delimitador el caracter '|'. El string tiene frases que incluyen espacios.

utilizo las 2 porque ninguna me resuelve:
ss.Delimiter:='|';
ss.QuoteChar:='|';

readln(fichero,saux);
ss.DelimitedText:=saux;

luego cuando voy a asignar las partes me separa teniendo en cuenta los espacios ademas del separador que le indique.

stg.cells[i,j]:=ss.strings[0];
...etc

y me separa las frases segun sus espacios ademas del separador que le indique, es decir, es como si tuvuiera dos separadores.

que me falta?

aqui un strin de ejemplo:
"A Coruña|5.40|7.21|parte delantera"

Y como lo tengo separa "A", "Coruña", "parte" y "delantera" ademas de los numeros que si lo hace bien.

pueden ayudarme?

gracias

ecfisa 11-10-2011 17:26:17

Hola Anel.

Revisá si te sirve alguna opción de las que se trataron en este enlace.

Un saludo.

Anel Hernandez 11-10-2011 17:40:32

Gracias mil ecfisa,

la idea es usar una funcion definida del delfi y los stringlist por todas sus ventajas. No crear una propia.

Alguien puede ayudarme a usar los stringlist en mi ejemplo?

gracias

Caro 11-10-2011 17:46:41

Hola Anel Hernandez, la función ExtractString que mencionan en ese hilo es de delphi, pruebalo:

Código Delphi [-]
 ExtractStrings(['|'], [' '], PCHAR(sAux), ss);

Saluditos

Anel Hernandez 11-10-2011 18:12:56

Remedio santo!

gracias Caro.

maeyanes 11-10-2011 21:55:16

Hola...

Un ejemplo usando solo un TStringList:

Código Delphi [-]
Strings := TStringList.Create;
try
  Strings.LoadFormFile('archivo.txt');
  Strings.DelimitedText := Strings.Text;
  Strings.Delimiter := '|';
  Strings.StrictDelimiter:= True;
  // ...
  stg.cells[i,j]:=Strings[0]
finally
  Strings.Free
end

Esto no lo he probado, pero te debería funcionar bien.


Saludos...


La franja horaria es GMT +2. Ahora son las 11:07:45.

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