Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-07-2005
fabian20s fabian20s is offline
Miembro
 
Registrado: mar 2005
Posts: 28
Poder: 0
fabian20s Va por buen camino
funcion arrays

quisiera saver cual es l afuncion de almacena en un arrays todos los datos de un tedit que esten seguidos de una coma o un espacio

por ejemplo

edit.text := '1,2,3,4,5'

y que la funcion debuelva

i1=1;
i2=2;
i3=3;
i4=4;
i5=5;
Responder Con Cita
  #2  
Antiguo 19-07-2005
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Mira en TStringList la propiedad Delimiter (Creas el TStringList, le pones Delimiter = "," y luego asignas el texto)
__________________
El malabarista.
Responder Con Cita
  #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
Poder: 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
  #4  
Antiguo 19-07-2005
fabian20s fabian20s is offline
Miembro
 
Registrado: mar 2005
Posts: 28
Poder: 0
fabian20s Va por buen camino
grasias ya solucione mi problema
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 16:57:57.


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
Copyright 1996-2007 Club Delphi