Ver Mensaje Individual
  #4  
Antiguo 03-08-2007
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Reputación: 25
Delphius Va camino a la fama
Al igual que jhonny... me estaba preguntando... ¿cual es el objetivo de agrupar los elementos?

Yo estaba pensando en mantener el grupo en el mismo List. El truco consistiría en ordenarlos por grupo:

elem1g1
elem2g1
...
elemNg1 - fin grupo 1
elem1g2
elem2g2
...
elemNg2 - fin grupo 2

De modo que lo que hay que recordar es la cantidad de grupos. Y no estar almacenando cada grupo por separado. La idea es para recorrer cada grupo se haga algo como (si quisieramos buscar los elementos del primer grupo. Siendo K la cantidad de grupos):

Código:
for i := 1 to ((List.Count -1) div K) do
  begin
    ... lo que haya que hacer...
  end;
Ahora, si necesariamente debes mantener a cada grupo separado. Creo que la solución puede pasar por hacer cosas como esta:

Código:
....
TGroup = class(TList);
...

TListGroup = class
  private 
    FGroups: TList;
    FGroupsCount: integer;
  ...  
  public
    AddToGroup(Group: integer; Elemento: string);
  ...
end;
__________________
Delphius
[Guia de estilo][Buscar]

Última edición por Delphius fecha: 03-08-2007 a las 20:39:00.
Responder Con Cita