Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   SPLIT en delphi, pero sin tener en cuenta espacios en blanco (https://www.clubdelphi.com/foros/showthread.php?t=20199)

acl_gandalf 08-04-2005 09:42:13

SPLIT en delphi, pero sin tener en cuenta espacios en blanco
 
HOla buenas, estoy tratando de meter los datos de un fichero en una tabla de unabbdd, y le gastando esta funcion uso como separador la ',' pero me separa tambien por espacios en blanco, q podria hacer para evitar esto.
gracias de antemano

var SLista: TStringList;
Arreglo: array of String;
Indice: Integer;
begin SLista := TStringList.Create;
SLista.Delimiter := Separador; // el separador que uses
SLista.DelimitedText := Cadena; // la cadena a partir
SetLength(Arreglo, SLista.Count);
for Indice := 0 to Pred(SLista.Count) do
Arreglo[Indice] := SLista[Indice];

SLista.Free;

Al González 08-04-2005 14:24:56

ghSeparadas
 
¡Buen día a todos!

Acl_gandalf:

Esto lo puedes solucionar fácilmente con la función ghSeparadas de Interfaz GH para Delphi 7

Ejemplo:
Código Delphi [-]
...
implementation

{$R *.dfm}

Uses
  IGHCadenas;

procedure TForm1.Button1Click(Sender: TObject);
Var
  Cadena :String;

  { Arreglo abierto de cadenas.  TghArregloCadenas es equivalente
    a "Array Of String", pero es necesario por compatibilidad de
    tipos al momento de compilar. }
  Valores :TghArregloCadenas;

  Indice :Integer;
begin
  Cadena := 'Valor 1,Valor 2,,Valor 4';

  { Obtener en un arreglo las subcadenas separadas por comas,
    incluyendo las que están vacías }
  Valores := ghSeparadas (Cadena, ',', False);

  { Mostrar el contenido del arreglo }
  For Indice := 0 To High (Valores) Do
    ShowMessage ('"' + Valores [Indice] + '"');
end;
...
Si se omite el parámetro False (o se utiliza True) al llamar a la función ghSeparadas, sólo se tomarán en cuenta las subcadenas que no estén vacías. En este ejemplo se agregó el argumento False, pensando que la cadena extraída del archivo de texto (fichero) puede contener campos con valores nulos.

Espero esto sea de utilidad. Seguimos en contacto.

Al González. :)


La franja horaria es GMT +2. Ahora son las 08:51:31.

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