İçeriğe geç
ShiftDelete.Net
Haber ara/ SDN'ye SorGiriş
Haber Akışı SDNTV İnceleme Forum Yapay Zeka Akıllı Telefon Elektrikli Otomobil Oyun ShiftDelete.Net Global Teknoloji Haberleri Mobil Otomobil Donanım Savunma Bilim Sosyal Medya İnternet Giyilebilir Teknoloji Rehber Ürünler Son dakika Yazarlar
  1. Ana sayfa
  2. Topluluk
  3. Programlama
  4. Programlama Dilleri
Programlama Dilleri

Delphi Repeat Until Döngüsü

AYT@C16.12.20090 cevap7.109 görüntüleme
2008'den beri548 mesaj
#1
Bazı durumlarda döngünüzün kaç kere işleyeceğini tahmin edemeyebilirsiniz. Yani döngünüz bir şarta (veya birden çok) bağlı olarak işleyecektir. Dolayısıyla bu işlemi “for” döngüsüyle çözemeyeceksiniz. Döngünüzün çalışma sayısı bir şarta bağlı olacaksa çözüm yollarından bir tanesi “Repeat-Until” döngüsüdür. Belirteceğiniz şart sağlanmadığı sürece döngünüz işlemeye devam edecektir.
repeat
//Döngü içerisinde işletilecek kodlar buraya yazılacak.
Until ilk>son; //şart sağlanırsa bitir
Aşağıdaki örnek projede, daha önce “for” döngüsüyle çözmüş olduğumuz girilen iki sayı arasındaki sayıların toplamını hesaplayan projenin “Repeat – Until” döngüsüyle çözülmüş hali verilmiştir.

Şimdi de yine daha önceden “for” ile yazdığımız fakat iyi çözüm olmadığını belirttiğimiz girilen iki sayı arasındaki çift olanları toplayan programın kodlarını verelim .

Bu arada tekrar hatırlatalım. Inc() fonksiyonunu kullanabilmeniz için, fonksiyona giren iki değerinde tam sayı tipli değişken olması gerekmektedir. Aksi takdirde “toplam:=toplam+ilk” yazmalısınız.
Şimdi de programı çalıştırdığımız anda bize şifre soracak, eğer şifreyi bilemezsek yeniden girmemizi isteyecek pencereyle karşılaşacağımız bir program yapalım.
Şifre isteme işlemlerinin yapılacağı en uygun Event “FormCreate” yordamıdır. Bu yüzden kodumuzun tamamını bu procedure’e yazacağız. Şifre isteme işlemini döngü içerisinde yapacağımız için, şifreyi doğru girene kadar arka arkaya şifre penceresi ile karşılaşacaksınız. Bahsettiğimiz bu tür uygulamaları, şarta bağlı olarak işletilebilen döngülerle çözmek çok uygun bir çözüm yolu olacaktır.
Şifre uygulaması için aşağıdaki kodları projenizin gösterilen yordamlarına ekleyiniz.

Şimdi de uygulamamızı biraz daha geliştirerek, kullanıcının sadece üç kere şifre girebileceği, üç hakkında da bilemezse programın kapatılacağı bir hale dönüştürelim.

Döngü içerisinde kullanılan “Application.Terminate” komut satırı programı
kapatmak için kullanılmaktadır. Yanlız burada ufak bir incelik var. Delphi “Application.Terminate” komutunu gördüğü zaman programı bitirir ama döngü tamamlandıktan sonra. Bu yüzden “exit” komutunu eklemezseniz, garip durumlarla karşılaşabilirsiniz (Döngü içerisinde Application.Terminate komutunu kullanırkan dikkat etmelisiniz).

Kaynak

Cevabını yaz

Cevap yazmak için giriş yap ya da üye ol. Eski forum kullanıcı adın ve parolanla girebilirsin.