Cita:
Empezado por ungrande87
Recien acabo de darme cuenta que al espacio tambien me lo toma como separar y eso que yo puse al punto . porque me pasa esto????
|
Hola.
Creo que a partir de Delphi 2006 existe la propiedad
StrictDelimiter que soluciona ese problema. Pero para los que aún tenemos Delphi 7 hay que escribir un poco de código.
Una forma puede ser:
Código Delphi
[-]
function SepararCadena(Cadena: string; const Delim: Char): TStrings;
var
p: Integer;
begin
Result:= TStringList.Create;
Cadena:= Cadena + Delim;
while Length(Cadena) > 0 do
begin
p:= Pos(Delim, Cadena);
if p = Length(Cadena) then
SetLength(Cadena,Length(Cadena)-1);
Result.Add(Copy(Cadena, 1, p));
Delete(Cadena, 1, p);
end;
end;
Llamadas de ejemplo:
Código Delphi
[-]
var
Texto: string;
TS: TStrings;
begin
Texto:= 'Esta función, se podría haber evitado, si Delphi 7, '+
'tuviera implementada la propiedad StrictDelimiter.';
Memo1.Lines:= SepararCadena(Texto, ',');
TS:= TStringList.Create;
try
TS:= SepararCadena(Texto, 'e');
Memo1.Lines:= TS;
finally
TS.Free;
end;
end;
Saludos.
Edito: ¡Al fín pude encontrar el hilo!...
Creo que también te podría interesar
esto