Ver Mensaje Individual
  #3  
Antiguo 22-02-2011
Avatar de ElKurgan
[ElKurgan] ElKurgan is offline
Miembro Premium
 
Registrado: nov 2005
Posts: 1.242
Reputación: 22
ElKurgan Va camino a la fama
En Delphi 2005 (no se si en versiones anteriores viene) existe una función denominada "ExtractStrings", que devuelve en un TStringList (pasado por referencia) todas las subcadenas separadas por un caracter separador contenidas en un string. La función devuelve el número de "tokens" encontrados en la cadena.

De la ayuda de Delphi:

Cita:
En el parámetro "Separators" se usan como separadores (además de los
caracteres que deseemos) los retornos de carro, nueva línea y las
comillas (simples o dobles), aunque en un string entre comillas estos
caracteres se ignoran hasta el final de la cadena entrecomillada.

El parámetro "WhiteSpace" es un conjunto de caracteres que van a ser
ignorados al parsear el contenido de la cadena si se encuentran al
principio de la mima.

La función no limpia el contenido de la lista, sólo añade las cadenas
parseadas a cualquier contenido anterior de la misma. Tampoco añade
cadenas vacías (empty strings) al contenido.
Ejemplo:

Código Delphi [-]
function GetAllTokens(const sCadena: string; cSeparador: char;
  var Lista: TStrings; bLimpiarLista: Boolean): Integer;
begin
  if bLimpiarLista then
    Lista.Clear;
  Result := ExtractStrings([cSeparador], [' '], PAnsiChar(sCadena), Lista);
end;

Un saludo
Responder Con Cita