flw obrigado, 
Eu criei um list de objetos, bem como vc falou, e depois é só fazer um cast pra 
saber qual objeto que está na lista.


Giovani

----- Original Message ----- 
  From: Joao Morais 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Monday, May 21, 2007 1:34 PM
  Subject: Re: [delphi-br] Criar um Iterator


  Giovani wrote:

  > Bom dia, eu quero criar um ITerator de Objetos, como eu faço?
  > Eu criei um, mas específico de um IXMLNODELIST, mas eu quero criar um que 
receba qualquer Objeto...
  > 
  > Alguém já fez algum?

  Você pode construir algo assim:

  TIterableList = class(TObjectList)
  public
  function CreateIterator: TIterator;
  end;

  TIterator = class(TObject)
  private
  FCurrentItem: Integer;
  FList: TIterableList;
  public
  constructor Create(AList: TIterableList);
  function CurrentItem: TObject;
  procedure FirstItem;
  ...
  end;

  ...

  function TIterableList.CreateIterator: TIterator;
  begin
  Result := TIterator.Create(Self);
  end;

  constructor TIterator.Create(AList: TIterableList);
  begin
  inherited Create;
  FList := AList;
  end;

  etc.

  --
  Joao Morais


   

[As partes desta mensagem que não continham texto foram removidas]

Responder a