SPINNER VE NOTIFIER KULLANIMI
Bu projemizde ListView ve PasswordTextBox 'da kullanıyoruz.ListView, işlevi ListPicker ile aynı görüntüleri farklı.PasswordTextBox 'ın normal olandan tek farkı, yazdıklarınızın yıldız/küçük yuvarlaklar olarak gözükmesi.
Bu dersimizde bir hastane randevu alma uygulaması yapmaya çalışıyoruz.
![]() |
Screen1 Bileşenleri |
- TextBox1 = txtKullaniciAdi , Hint özelliği: Kullanıcı Adı Giriniz
- PasswordTextBox1 = pas_txtSifre , Hint özelliği: Şifre Giriniz
- Button1 = btnGirisYap , Text özelliği: Giriş Yap
![]() |
Ekran2 Bileşenleri |
- Spinner1 = spnBolumAdlari , ElementFromString: "Genel Cerrahi, İç Hastalıkları, Nöroloji"
- ListView1 = lstGenelCerrahi ,Visible = False, ElementFromString: "Dr. Ayşe Budak, Dr. Hüseyin Yıldırım, Doç. Dr. Sabi Kalpli" (İsimler hayal ürünüdür)
- ListView2 = lstIcHastaliklari ,Visible = False, ElementFromString: "Dr. Melek Kaya, Doç. Dr. Zeynep Yıldırım, Prof. Dr. Haki Bıyıklı"(İsimler hayal ürünüdür)
- TimePicker1 = tmpRandevuSaati , Text: "Randevu Saatini Belirlemek İçin Tıklayın"
- Button1 = btnTamamla , Text: "İşlemi Tamamla"
- Label1 = lblSonucYaz , Text: " "
- Notifier1 = ntfUyarici
- ListPicker kullanımını anlatmıştık, aynı şekilde Spinner içerisinde yer almasını istediklerimizi arasına virgül koyarak yazıyoruz.
- Bu metin kutusuna liste açıldığında başlık(title) olarak ne yazmasını istiyorsanız yazabilirsiniz."Randevu almak istediğiniz bölümü seçiniz"
- Ekrana sürüklediğiniz Notifier 'in ekranda görünmediğini farketmişsinizdir. Bu ve benzeri bileşenler burada Non-visible components(görünmez bileşenler) kısmında yer alır.
- "btnGirisYap" a tıklandığında,
- Eğer,
- Kullanıcı "pas_txtSifre" içerisine "admin123" ,
- Ve,
- "txtKullaniciAdi" içerisine de "KodMaceralarim" yazdıysa, (kayıt ol/giriş yap projemizde ki kodları kullanabiliriz ama basit tutmak açısından bu şekilde kodluyoruz.)
- Ekran2 'yi aç
- Kullanıcı bölüm seçtiğinde veriyi tutmak için değişken oluşturuyoruz.
- Kullanıcı "spnBolumAdlari" ndan seçim yaptıktan sonra çalışacak kodları bu blok içerisine yerleştiriyoruz.
- Kullanıcının yaptığı seçimi oluşturduğumuz değişkene atıyoruz.
- "get selection" kod bloğunu buradan alabilirsiniz.
- Eğer, "secilenBolum" = "Genel Cerrahi" ise
- Genel Cerrahi doktorlarının yer aldığı "lstGenelCerrahi" nin visible özelliğini true yap(Böylece kullanıcımız istediği doktoru seçerek devam edebilir.)
- Eğer, "secilenBolum" = "İç Hastalıkları" ise
- "lstIcHastaliklari".Visible = true
- Eğer "secilenBolum" = "Nöroloji" ise
- "lblSonucYaz".Text = "Nöroloji bölümünü hizmete açmak için çalışmalarımız devam ediyor" olarak set et.
- ve 12. bloklar :Eğer kullanıcı ikinci kez randevu almak isterse diye listelerin visible özelliklerini false yapıyoruz.Blokları silerek aradaki farkı görebilirsiniz.
Randevu almak istediğimiz bölümü seçtiğimize göre sıra, hangi doktora muayene olmak istediğimizi seçiyoruz.
- "lstGenelCerrahi" listesinden seçim yapıldıktan sonra,
- Kullanıcı 1 'den fazla randevu aldığında yazılar üst üste binmesin diye sıfırlıyoruz, bu kod bloklarını silip neden ihtiyaç duyduğumuzu daha net görebilirsiniz.
- Bölüm ve doktor seçimi yapmadan "btnTamamla" ya tıklanamasın diye visible = false yapıyoruz.
- Pek çok yazılım dilinde görebileceğiniz bu kod, bir alt satıra inmeyi sağlar.
- Kullanıcının seçtiği doktor adını oluşturduğumuz mesaja yerleştiriyoruz.
- Bölüm ve doktor seçimi tamamlandığına göre "btnTamamla".Visible = true olarak set edebiliriz.(Aynı bloğu "lstIcHastaliklari" için de yapıyoruz.)
- "btnTamamla".Click altındaki if kontrolünde kullanmak için "sayac" adında değişken oluşturuyoruz.
- "tmpRandevuSaati" kullanılarak randevu saati seçildiğinde sayacı 1 yap.
- "btnTamamla" ya tıklandığında,
- Eğer, "sayac" adındaki değişken 0 dan büyükse(yani randevu saati seçildiyse)
- "lblSonucYaz".Text i şu şekilde set et: Doktor adı seçerken yazdırdıklarımız ("lstGenelCerrahi".AfterPicking veya "lstIcHastaliklari".AfterPicking den gelen kısım) +
- "tmpRandevuSaati" kullanarak seçtiğimiz zamanın saat kısmı +
- "tmpRandevuSaati" kullanarak seçtiğimiz zamanın dakika kısmı
- "lblSonucYaz" a ekrana göstermek istediğimiz yazıları ekleme işlemini bitirdiğimize göre artık visible = true yapabiliriz.
- Else(başka) durumunda, yani if yanındaki şart sağlanmazsa aşağıdaki kodları çalıştır.("sayac" adındaki değişken 0 'dan büyük değilse, randevu saati seçilmemişse)
- "ntfUyarici" yi çağır(call).(Notifier için pek çok hazır kod bloğu seçeneği arasından bu proje için "ShowMessageDialog(Mesajı/diyaloğu göster)" seçildi. )
- "Randevu saati seçmeden kayıt tamamlanamaz" mesajını bir uyarı penceresi ile ekrana yaz.
- Uyarı penceresinin başlığında "Uyarı!" yaz.
![]() |
Ekran2 kod bloklarının son hali |
Hiç yorum yok:
Yorum Gönder