Delphi Dünyası Facebook'ta

Kodbank İndir

! CODEBANK 2012 !

İNDİRMEK&DETAYLI BİLGİ ALMAK İÇİN BURAYI TIKLAYINIZ.

Gönderen Konu: Bir Object Pascal eklentisi: "For-in-do" döngüsü  (Okunma sayısı 2189 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı Emre

  • Global Moderatör
  • *****
  • İleti: 74
  • Rep: +6/-0
Bir Object Pascal eklentisi: "For-in-do" döngüsü
« : 20 Haziran 2006 21:47:21 »
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:
Kod:  (Unknown Language)
  1. procedure TForm3.Button4Click(Sender: TObject);
  2. var
  3.   i: Integer;
  4. begin
  5.   Memo1.Clear;
  6.   for i:=0 to ListBox1.Items.Count-1 do
  7.     Memo1.Lines.Add(ListBox1.Items[i]);
  8. end;
  9.  

Aynı kodu for-in-do döngüsüyle şöyle yazabiliriz:

Kod:  (Unknown Language)
  1. procedure TForm3.Button2Click(Sender: TObject);
  2. var
  3.   S: String;  
  4. begin
  5.   Memo1.Clear;
  6.   for S in ListBox1.Items do
  7.     Memo1.Lines.Add(S);
  8. end;
  9.  

İçiçe for döngüsünde ve string ifadelerdeki kullanımına da bir örnek vermek istiyorum:

Kod:  (Unknown Language)
  1. procedure TForm3.Button2Click(Sender: TObject);
  2. var
  3.   S: String;
  4.   C: Char;
  5.   Spaces: Integer;
  6. begin
  7.   Spaces := 0;
  8.   Memo1.Clear;
  9.   for S in ListBox1.Items do
  10.   begin
  11.     Memo1.Lines.Add(S);
  12.     for C in S do //S ifadesinin sırasıyla tüm karakterleri için
  13.       if C = ' ' then Inc(Spaces);
  14.   end;
  15. end;
  16.  
« Son Düzenleme: 15 Temmuz 2008 09:52:44 by Kocaturk »

Çevrimdışı Fatih

  • Emekli Yönetici
  • *****
  • İleti: 2.217
  • Rep: +43/-10
  • Cinsiyet: Bay
    • Delphi Dünyası
Ynt: Bir Object Pascal eklentisi: "For-in-do" döngüsü
« Yanıtla #1 : 21 Haziran 2006 09:45:35 »
 C#'ta diziler için buna benzer bir döngüyü görünce Borland'a kızmıştım. Yardım dökümanlarını karıştırınca kendime kızmıştım :)
Güzel bir yenilikti :_alk
Malulen emekli programcı / yazar. Bildiklerini unutmakta olduğundan size cevap veremez.

Çevrimdışı Emre

  • Global Moderatör
  • *****
  • İleti: 74
  • Rep: +6/-0
Ynt: Bir Object Pascal eklentisi: "For-in-do" döngüsü
« Yanıtla #2 : 21 Haziran 2006 11:30:43 »
Kesinlikle öyle  :D