FilemakerTurk, AYS Bilişim ve Beyaz Net tarafından desteklenmektedir.
Filemaker Danışmanınız
AYS Bilişim
Mehmet KAYA
 0532 231 07 27
 0216 318 55 80
 mkaya@aysbilisim.net
						

LOOP Komutunu açıklayıcı örnekleniz mümkünmü?

+3 oy
468 kez görüntülendi
LOOP komutu tam olarak ne iş yaptığı konusunda bilgi vermeniz mümkünmü?
1, Haziran, 2015 Custom Functions kategorisinde Changa (6,210 puan) tarafından soruldu

1 cevap

+5 oy
 
En İyi Cevap

Şurada bir örnek var.

 

Loop scripti, çıkış koşulunuz sağlanana kadar size bir dizi script adımını tekrar ve tekrar çalıştırmanıza imkan verir. Genellikle kayıtlarınızın bir found seti üzerinde yinelenen işlemler için kullanılır. Örneğin 90 günden berri iletişim kurulmayan müşterilerinizin flag field'larını 1 yapmak istiyorsunuz;

 

Go to Record/Request/Page [First]
Set Variable [$cutoff_Date ; Value: Get ( CurrentDate ) – 90]

Loop

        If [Customer::LastContactDate < $cutoff_Date] 

             Set Field [Customer::ContactFlag ; 1] 

             Else

             Set Field [Customer::ContactFlag ; ""

       End If 

       Go to Record/Request/Page [Next, Exit after last] 

End Loop

Show Custom Dialog ["All Done!"

 

Tipik bir looping scripti; found setinizdeki kayıtlar, portalınızdaki rowlar ya da listenizdeki öğeler gibi obje setleri ile çalışır. Loop yaparken iki şeye dikkat etmemiz gerekir, birincisi setinizdeki işlem yaptığınız objeden bir sonrakine geçmek diğeri de çıkış koşulunun sağlanıp sağlanmadığını test etmek. Bu ikisinden herhangi birinde hata yapmak sonsuz looplara neden olabilir!

Yapısını da şöyle açıklayabiliriz.

 

Hazırlık:  Genellikle gerekli Variablelar belirlenir ve found setin ilk kaydına gidilir.

Loop'u Başlat:

        Birşeyler Yap: current record veya obje üzerinde script adımlarını çalıştır.

        Geçiş Yap: Found Set'deki bir sonraki öğeye geçiş yap.

        Test: Çıkış koşulu sağlanıyor mu test et.

Loopu Sonlandır

 

1, Haziran, 2015 Recep Güney (70,020 puan) tarafından cevaplandı
1, Haziran, 2015 Recep Güney tarafından düzenlendi
Harika ve şık bir cevap Mr. Voyager alkış.
...