Ver Mensaje Individual
  #3  
Antiguo 19-07-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Reputación: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Cabe añadir a lo dicho por mamcx que la clase "TStringList" cuenta con una propiedad "CommaText", la cual te valdrá perfectamente si los elementos en cuestión se separan por comas. Si se separan por espacios puedes tomar nota de lo dicho por mamcx.

Por otro lado, una función no puede devolver un "array of string" sin más, como podrás ver si lees el siguiente hilo de estos mismos foros. Sin embargo, según lo que puede leerse en el referido hilo y en función de lo dicho por mamcx podría hacerse algo así:

Código Delphi [-]
 type
   TArrayOfString = array of string;
 
 function CommaTextToArrayOfString(commaText: string) : TArrayOfString;
 var
   i: integer;
   t: TStrings;
 begin
   t := TStringList.Create;
   try
     t.CommaText := commaText;
     SetLength(Result, t.Count);
     for i := 0 to t.Count-1 do
       Result[i] := t[i];
   finally
     t.Free;
   end;
 end;
 
 // Ejemplo de llamada a la función
 procedure TForm1.Button1Click(Sender: TObject);
 var
   i: integer;
   s: TArrayOfString;
 begin
   s := CommaTextToArrayOfString(Edit1.Text);
   // Solo a efectos de prueba...
   for i := 0 to High(s) do ShowMessage(s[i]);
 end;
Empero, puede que te fuera suficiente algo así para utilizar los distintos elementos que separados por comas se encuentren en un "TEdit" por seguir con tu ejemplo:

Código Delphi [-]
 procedure TForm1.Button2Click(Sender: TObject);
 var
   t: TStrings;
 begin
   t := TStringList.Create;
   try
     t.CommaText := Edit1.Text;
     // En "t" tienes ahora todos
     // los elementos de "Edit1"
     {...}
   finally
     t.Free;
   end;
 end;
En fin, si lo inmediatamente anterior te fuera suficiente, te ahorrarías el enjendro que me salió antes. Creo que, en todo caso, ya tienes información para lograr tu objetivo. Si me equivoco hazlo saber.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita