Başlangıçta belirteyim; bu özellik Delphi 2005 ile gelen ve Borland'ın Object Pascal diline eklemiş olduğu yeni ve kullanışlı bir özelliktir:
Genellikle, TList sınıfından türemiş bileşenlerde kullanımı tavsiye edilen ve bileşenin her bir elementine gönderme yapabileceğimiz bir kolaylık sağlar, ayrıca string ifadelerin her bir karakterine(elementine) de gönderme yapılabilmektedir:
Örneğin eski Delphi sürümlerinde (Delphi 2005 öncesi) yazdığımız şu kodu düşünelim:
procedure TForm3.Button4Click(Sender: TObject);
var
i: Integer;
begin
Memo1.Clear;
for i:=0 to ListBox1.Items.Count-1 do
Memo1.Lines.Add(ListBox1.Items[i]);
end;
Aynı kodu for-in-do döngüsüyle şöyle yazabiliriz:
procedure TForm3.Button2Click(Sender: TObject);
var
S: String;
begin
Memo1.Clear;
for S in ListBox1.Items do
Memo1.Lines.Add(S);
end;
İçiçe for döngüsünde ve string ifadelerdeki kullanımına da bir örnek vermek istiyorum:
procedure TForm3.Button2Click(Sender: TObject);
var
S: String;
C: Char;
Spaces: Integer;
begin
Spaces := 0;
Memo1.Clear;
for S in ListBox1.Items do
begin
Memo1.Lines.Add(S);
for C in S do //S ifadesinin sırasıyla tüm karakterleri için
if C = ' ' then Inc(Spaces);
end;
end;