Dicas - Implemente o FOREACH em DELPHI.NET

Veja nesta dica, como usar o foreach em Delphi.NET, para implementação de loop’s de repetição.

 

Implemente o FOREACH em DELPHI.NET

Em C# a declaração de foreach repete um grupo de declarações embutidas para cada elemento em uma ordem ou uma coleção de objeto. Delphi for NET não tem um eqivalente da declaração de foreach. Vejamos como codificar uma declaração de foreach em Delphi.

 

Primeiro, aqui é uma amostra simples do foreach no C#:

 

foreach (TMyObject myObject in AnArrayList) { 

  AnIntValue = MyObject.MyValue; 

} 

Where TMyObject class is declared as:  

TMyObject = Class(TObject) 

  public 

MyField : integer; 

constructor Create(AValue:integer) ; 

end; 

 

constructor TMyObject.Create(AValue: integer) ; 

begin 

   inherited Create; 

   MyField := AValue; 

end;

 

 

Aqui é o " mesmo código " em Delphi for NET:

 

var 

   MyObject : TMyObject; 

   AnArrayList : ArrayList; 

   Enum: IEnumerator; 

   j:integer; 

begin 

   AnArrayList := ArrayList.Create; 

   AnArrayList.Add(TMyObject.Create(2004)) ; 

   AnArrayList.Add(TMyObject.Create(1973)) ; 

   AnArrayList.Add(TMyObject.Create(2000)) ; 

   AnArrayList.Add(TMyObject.Create(1998)) ; 

 

 

   //FOR EACH 

   Enum := AnArrayList.GetEnumerator; 

   while Enum.MoveNext do  

   begin 

MyObject := TMyObject(Enum.Current) ; 

Response.Write(MyObject.MyField.ToString + <br>) ; 

   end; 

 

   // OR USING ITERATION 

   for j:= 0 to -1 + AnArrayList.Count do 

   begin 

MyObject := TMyObject(AnArrayList[j]) ; 

Response.Write(MyObject.MyField.ToString + <br>) ; 

   end; 

 

 

 

 

Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados