41
Delphi XE5 Diyalog Pencereleri ShowMessage İnputBox MessageDlg

Delphi xe5

Embed Size (px)

Citation preview

Page 1: Delphi xe5

Delphi XE5Diyalog Pencereleri

ShowMessageİnputBoxMessageDlg

Page 2: Delphi xe5

Delphi’de kullanıcıyı uyarmak, ikaz etmek veya yönlendirmek için birden fazla method tanımlanmıştır. Bu methodlardan hangisini kullanacağınız tamamen size kalmıştır.

Page 3: Delphi xe5

ShowMessage

Basit anlamda kullanıcıyı bilgilendirme amaçlı kullanılabilen bir methoddur. Method içerisinde sadece tek parametre kullanılabilmektedir.

Page 4: Delphi xe5

InputBox

Bu fonksiyon sayesinde, içerisinde bilgi girişi için text kutusunun bulunduğu bir pencere açtırmak mümkündür. Bu pencere sayesinde text kutusuna kullanıcı tarafından girilecek olan içerik, programın içerisinde diğer işlemler için kullanılabilir. Bir anlamda; kullanıcının programa parametre göndermek için kullanabileceği bir pencerenin açılmasını sağlar da diyebiliriz.

3 tane temel değeri vardır;Inputbox(‘Pencere Başlığı’, ‘Soru Başlığı’, ‘3. Değer’)

Page 5: Delphi xe5

InputBox

Pencere Başlığı

Inputbox(‘Pencere Başlığı’, ‘Soru Başlığı’, ‘3. Değer’)

Açılacak olan diyalog penceresinin başlığında yazılacak olan metni bu bölümden tanımlarız.

Page 6: Delphi xe5

InputBox

Page 7: Delphi xe5

InputBox

Soru Başlığı

Inputbox(‘Pencere Başlığı’, ‘Soru Başlığı’, ‘3. Değer’)

Açılacak olan diyalog penceresinde karşımıza çıkacak olan Soru ya da Bilgi metnini bu bölümden tanımlarız.

Page 8: Delphi xe5

InputBox

Page 9: Delphi xe5

InputBox

Varsayılan Değer

Inputbox(‘Pencere Başlığı’, ‘Soru Başlığı’, ‘3. Değer’)

Açılacak olan diyalog penceresinde karşımıza çıkacak olan Soru ya da Bilgi metnini bu bölümden tanımlarız.

Page 10: Delphi xe5

InputBox

Page 11: Delphi xe5

MessageDlg

Kullanıcıya seçme şansı veren pencereler açmak için kullanılan bir methoddur. Pencere açıldığı zaman üzerinde birden fazla buton yerleştirilebileceği için, basılan düğmenin numarasının aktarılacağı tamsayı tipli bir değişkene ihtiyaç duyar.

Page 12: Delphi xe5

MessageDlgKullanılan ilk parametrede (Delphiyi Sevdiniz

mi) pencerede çıkacak olan mesaj belirlenmektedir. Burada uyarınızı ‘’ içerisinde belirtebileceğiniz gibi AnsiString tipte bir değişken değeri de kullanabilirsiniz (Eğer tamsayı veya başka tipteki matematiksel bir değişkeni yazdıracaksanız, tip dönüşümü uygulamalısınız).

Page 13: Delphi xe5

MessageDlg

Gelelim ikinci parametreye (mtCustom), buraya aktaracağınız değerle pencerenizde çıkmasını istediğiniz iconu belirleyebilirsiniz. Parametre olarak kullanabileceğiniz standart icon sayısı “4” taneden oluşmaktadır. Aynı anda iki icon değeri kullanamayacağınızı belirterek, aşağıdaki tabloda tüm seçenekler ve anlamları sizlere sunulmuştur (Pencerelerinizde kullanacağınız iconları programınızın akışına uygun olacak şekilde belirlemelisiniz. Asla rastgele icon değeri kullanmayınız).

Page 14: Delphi xe5

MessageDlg

Kullanabileceğiniz parametre değerleri ve anlamları aşağıda verilmiştir.

Page 15: Delphi xe5

MessageDlg

Şimdi de pencerede çıkmasını istediğiniz buttonları belirleyebileceğiniz üçüncü parametremize geçelim ([mbYes,mbNo]).

Page 16: Delphi xe5

MessageDlg

Tabloda yaratabileceğiniz tüm düğmeler ve bu düğmelere ait değerler verilmiştir. İçlerinden hangilerini isterseniz ekleyebilirsiniz.

Page 17: Delphi xe5

Delphi XE5Mantıksal Operatörler

NotAndOr

Page 18: Delphi xe5

Mantıksal Operatörler

Mantıksal işlemlerinizde

kullanabileceğiniz bir çok operatörü Delphi size sunmaktadır. İleriki sayfamızda bu operatörlerden bahsedilmektedir.

Page 19: Delphi xe5

NOT

Dönen değerin olumsuzunu belirtmek için kullanılan Mantıksal operatördür (Eğer true dönerse false. False dönerse true). Genellikle dallanma, karşılaştırma işlemlerinde kullanılır.

Eğer yukarıdaki if satırında “not” komutu kullanılmazsa, formun başlığında hiç bir zaman metninizi yazdıramazsınız. Burada şunu da hatırlatalım, Boolean tip bir değişken tanımlandığı anda varsayılan değeri false dır.

Page 20: Delphi xe5

AND

Aynı anda iki sonucu beraber değerlendirebilmek amaçlı kullanılan bir operatördür. Genellikle karşılaştırma gerektiren (if - Case vs.) durumlar için aynı anda birden fazla şartı sağlama amaçlı kullanılmaktadır.

Page 21: Delphi xe5

OR

Belirtilen sonuçlardan herhangi bir tanesinin doğruluğunun yeterli olduğu durumlarda kullanılan bir operatördür. Genellikle karşılaştırma gerektiren (if – case) durumlar için şartlardan herhangi bir tanesinin sağlanmasının yeterli olduğu durumlar için kullanılır.

Page 22: Delphi xe5

Delphi XE5Şart Deyimleriif - Case

Page 23: Delphi xe5

IF Yapısının Delphi’de Kullanım Şekilleri

Programlarınızda oluşabilecek olan farklı dallanmaları çözüme kavuşturabilmeniz için kullanabileceğiniz en güvenli yollardan biri de bu yapıdır. Bütün dillerde olduğu gibi Delphi komutları içerisinde de if yapısı gerçekten yeri doldurulamaz bir öneme sahiptir. Kullanımında herhangi bir zorluk sözkonusu değildir.

Page 24: Delphi xe5

IF Yapısının Delphi’de Kullanım Şekilleri

Bu yapıya ait örneklendirme şu şekildedir.

Eğer eğitim kurumunuzun adı istenilen ile eşleşiyorsa, Ekrana mesaj penceresi olarak ‘Doğru eğitim kurumundasınız’ mesajı getiriliriyor.

Page 25: Delphi xe5

IF Yapısının Delphi’de Kullanım Şekilleri

Şartın doğru olması durumunda işletilecek olan satır sayısı birden fazla ise bu durumda aşağıdaki yapıyı kullanmalısınız.

Page 26: Delphi xe5

IF Yapısının Delphi’de Kullanım Şekilleri

Şart doğru olduğu zaman işleyecek olan kod satırları birden fazla olduğu için, bu satırlar begin-end bloğu içerisinde yazılmalıdır. Hatırlatalım tek satırlı kodlarıda begin-end bloğu içerisinde yazabilirsiniz.

Page 27: Delphi xe5

IF Yapısının Delphi’de Kullanım Şekilleri

if – else Yapısı: Bu yapı alternatiflerin birden fazla olması

durumunda kullanılması gereken bir kod bloğudur. Aşağıda bu husus örneklendirilmiştir.

Page 28: Delphi xe5

IF Yapısının Delphi’de Kullanım Şekilleri

Burada şartın doğru olması durumunda işletilecek olan kod tek satırdan oluşuyorsa “begin – end” bloğu kullanmaya gerek yoktur. Fakat bu durumda if ile else arasına yazılmış olan satırın sonuna “;” konulmaz. Buradaki satırın sonunda “;” konulursa muhakkak “begin-end” bloğu içerisine alınmalıdır.

Page 29: Delphi xe5

Case Yapısının Delphi’de Kullanım Şekilleri

Bir çok durumda dallanma işlemlerinizi “if” ile gerçekleştireceksiniz. Fakat kodunuzun daha kolay anlaşılabilirliği (veya yazılması) açısından bazı durumlarda “case” yapısını kullanmanız uygun olacaktır. Şunu hiç bir zaman unutmayın “case” yapısı ile gerçekleştireceğiniz tüm kodları if yapısıyla yazabilirsiniz, ama tersi mümkün değildir. Yani if yapısıyla oluşturacağınız kodları “case” ile yazamayabilirsiniz.

Page 30: Delphi xe5

Case Yapısının Delphi’de Kullanım Şekilleri

Page 31: Delphi xe5

Case Yapısının Delphi’de Kullanım Şekilleri

“Case” yapısının davranışı şöyledir. Alternatifli değişkenin değerleri teker teker irdelenerek gerekli kodların işletilmesi sağlanır.

“Case” yapısıyla aralık kontrolü de yaptırabilirsiniz. Aşağıdaki örnekte bu husus incelenmiştir.

Page 32: Delphi xe5

Delphi XE5Döngüler

ForRepeat-UntilWhile-Do

Page 33: Delphi xe5

Döngüler

Döngüler yazılım dilleri içerisinde çok önemli yer tutan komutlardır. Arka arkaya bir çok kez işletilmesi gereken kodların bulunduğu durumlarda, veya belirlediğiniz şartın gerçekleşmesine kadar, döngüler baş vurulması gereken tek seçenektir. Bilhassa dizilerle beraber kullanılabildikleri zaman güçleri korkunç derecede artabilmektedir.

3 farklı çeşit döngü parametreleri bulunmaktadır; For Repeat – Until While – Do

Page 34: Delphi xe5

For Döngüsü

İlk olarak döngü sayaç sayının belli olduğu “for” döngüsünü inceleyeceğim. Bu döngü sayesinde, döngü bloğu içerisine yazacağınız kodları arka arkaya istediğiniz kadar işletebilirsiniz. Döngünün bilinen bir diğer özelliği de blok içerisindeki kodların en az bir kere işletileceğidir (Aslında tam olarak öyle değildir. Mesela başlangıç değerini bitiş değerinden büyük verirseniz, döngü içerisindeki kodlar hiç işlemeden döngü sona erecektir. Fakat diğer döngülerin bu tip durumlarda kullanılması daha uygun olacaktır).

Page 35: Delphi xe5

For Döngüsü

Bu örnekte 200.000 defalık işleyecek olan bir sayaç döngüsü görüyorsunuz.

“for” döngüsünde kullanılan sayaç değişkenini (bu örnekte “i”) muhakkak tam sayı tiplerinden bir tanesiyle tanımlamalısınız. Aksi takdirde Delphi size hata mesajı iletecek, programınızı çalıştırmayacaktır. Aynı örneği aşağıdaki şekilde de çözebilirdiniz.

Page 36: Delphi xe5

Repeat – Until Döngüsü

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.

Page 37: Delphi xe5

Repeat – Until Döngüsü

Girilen iki sayı arasındaki sayıların toplamını hesaplayan proje ;

Page 38: Delphi xe5

While – Do Döngüsü

Bu döngü belirtilen şart gerçekleştiği sürece devamlı olarak işler. Repeat – Until döngüsünden farkı, şartın döngü çıkışında değil, girişinde kontrol edilmesidir. Belirtilen şart sağlanmıyorsa bu bloğa yazacağınız kod hiç işlemeyebilir. Aşağıdaki döngü için kullanacağınız yapı verilmiştir.

Page 39: Delphi xe5

While – Do Döngüsü

Belirtilen şart sağlandığı sürece döngü komutları işlemeye devam edecektir. Yine bloktaki kodlar bir satırdan fazla ise begin-end bloğu kullanmak zorunlu olacaktır. Bir sonra ki örnekte göreceğimiz, girilen iki sayı arasındaki çift sayıların toplamı bu döngü kullanılarak çözülmüştür.

Page 40: Delphi xe5

While – Do Döngüsü

Page 41: Delphi xe5

Anlatım: Caner Bovatekin