1

Konu: Program Akışı

Arkadaşlar program akışıyla ilgili bir sorum var.
SCAN... ENDSCAN taraması arasında programın bazı kayıtlarda durup kullanıcının ekranda beliren checkboxları işaretlemesini beklemesini ve sonrasında kaldığı yerden devam etmesini istiyorum.
SCAN taraması sırasında kayıtlarda bazı kriterler taranıyor ve buna göre Checkboxlar oluşuyor. Eğer checkbox seçilmesi durumu oluşmadıysa tarama devam eidyor, oluştuysa programın beklemesi ve checkbox işaretleme işlemi tamamlandıktan sonra devam etmesi gerekiyor.
Bu iş için READ EVENTS ve CLEAR EVENTS komutlarını mı kullanmalıyım, başka öneriniz var mıdır ?

Teşekkürler.

2

Re: Program Akışı

doğru anladıysam önerim ,

scan endscan döngüsü içinde kontrollerini yaptıktan sonra checkbox lari bir forma kullanıcıya gösterebilir ve bu formdan gelen tercihlere göre kaldığın yerden devam edebilirsin. Ben olsam böyle yapardım.

3 Son düzenleyen, konuka (08.10.2012 11:43:21)

Re: Program Akışı

READ ve CLEAR EVENTS stanalone çalışacak bir programda iş görüyor, pek başka yerde kullanılmamalıdır.
Galiba sadece bir programda bir kere aktif oluyor, tekrar kullanınca işe yaramıyor.

1. CheckBox kontrolünü üstüne koyacağın FormCheckBox.Show(2) ile formun modal olmasını sağlayarak mutlaka işaretlenmesini sağlayabilirsin. (Galiba bir form oluştuktan sonra Show property değiştirilemiyor. o nedenle yeni form öneriyorum)

Yani senin deyişinle checkbox seçilme durumu oluştu ise checkboxun üstünde olan modal formu DO FORM FormCheckBox ile çağırabilirsin

2. Veya SCAN ENDSCAN döngüsünün o noktasında "senin deyişinle checkbox seçilme durumu oluştu ise" checkboxlarını Visible veya Enabled yaparak arzu ettiğin kodu CheckBox.Valid eventin içine yazarsın. RETURN 0 ile kontrol hep checkboxta kalabilir.
Bu koşulda döngü nasıl duracak ? - RECNO() kaydedilip döngü dışına çıkmak gerekiyor (index değiştirmeden) ve işaretlemeden sonra döngüye kalındığı yerden devam gibi düşündüm ...

VFP9 SP2

4

Re: Program Akışı

Cevaplar için teşekkürler.
Aslında biraz daha açarsak: tek bir form ve formun üzerinde 2 tane grid var.
1. gridde scan....endscan döngüsünün olduğu kayıtlar var. bu griddeki her bir kayıt için alttaki 2. griddeki kayıtlar oluşturuluyor ve 2. gridin son kolonunda da checkboxlar var. Bu 2. gridde kayıt oluştuysa 1. griddeki döngüye ara vermesini ve 2. gridden (isteğe bağlı olarak) seçilecek kayıt varsa seçilmesini istiyorum. Daha sonra bir butona tıklanarak da döngünün kaldığı yerden devam etmesini istiyorum. Tıklanan bu butonda checkboxlardan seçilenler var ise bazı işlemler yapılacak ve döngü devam edecek veya hiç seçilen olmadıysa da devam edilecek.

Özetle 1. griddeki kayıtlar için yapılan döngü sırasında 2. gridden seçim yapılması veya devam tuşuna basılarak devam edilmesi gibi bir işlem yapmam gerekiyor.
Checkbox seçimi zorunlu olsaydı Ali Abinin 2. önerisi çok mantıklıydı. ama seçilmeyebilir de.