PHP – GTK Masaüstü Uygulaması ile Form Kullanarak Kullanıcıdan Veri Alma İşlemleri

PHP – GTK Masaüstü Uygulaması ile Form Kullanarak Kullanıcıdan Veri Alma İşlemleri
Ağustos 22 15:43 2013 Bu yazıyı yazdır

Merhaba,

Bu yazıda, GTK ile PHP kullanarak masaüstü program geliştirmeye değineceğim. Daha önce bununla ilgili temel bazı konuları 2 farklı başlık altında işlemiştim. Linklerini paylaşayım:

1) PHP-GTK Kullanarak Masaüstü Uygulama Geliştirmek: Basit bir Arayüz Yapımı
2) PHP-GTK ile Pencere Oluşturma ve Widget Yerleştirme

Web tabanlı programlama çerçevesinde veri alışverişi büyük önem taşımaktadır. Zira daha önceki konularda, link üzerinden, form alanları üzerinden ya da veritabanlarından verileri çekip üzerinde işlemler yapmıştık. Şimdi konumuz PHP-GTK ve PHP’yi masaüstü yazılım olarak kullanmaktayız. Verileri çekip, bunları işlemek ihtiyacı her zamanki gibi burada da karşımıza çıkacaktır

Yukarıdaki program çok basit bir form aracılığıyla veri taşıma ve işleme yöntemidir. Verilerin girileceği bir text alanı oluşturduk. Daha sonra verileri alıp ekrana yazdırdık.

Form alanlarından veri çekip bunları işleme

Form alanlarından veri çekip bunları işleme

Şekil incelendiğinde, bir text alanı, veri girilmesini beklemektedir. Veri girişi yapıldıktan sonra enter tuşuna basıldığı an PHP-GTK if, elseif ve else koşullu durumları göz önüne alınarak ekrana veriyi yazdıracaktır. Eğer veri en az 4 karakter olarak girilirse veri ekrana echo fonksiyonu ile yazdırılacaktır. 4’ten az sayıda karakter girilip enter tuşuna basıldığında ekranda bu durum ile ilgili bir hata mesajı gösterilecektir. Hiç veri girilmemiş ve enter tuşuna yine de basılmış ise yine durumu açıklar nitelikteki hata mesajı ekrana yazdırılacaktır.

Bütün bunlar yapılırken PHP-GTK ile PHP arasında kodlama açısında hiçbir fark olmadığı, aksine tam anlamıyla PHP kodlaması yapıldığı görülmektedir. Zira if, else, elseif koşul durumları, echo fonksiyonu kullanıldığı rahatlıkla görülebilmektedir.

Bu kodlamada daha önce görmediğiniz bazı yöntemler ve fonksiyonlar mevcuttur. PHP-GTK’nin geniş kütüphanesinde bulunan her bir fonksiyon gtk.php.net adresinde incelenebilir. Fakat bu program için bilinmeyenlere göz atmak yararlı olacaktır.

PHP-GTK kütüphanesi incelendiğinde vbox ve hbox ifadeleri sıkça karşımıza çıkacaktır. Dikey ve Yatay kelimelerinin vertical ve horizontal olarak İngilizce’den çevirmeleri, programlama dillerinde de uygulanmaktadır. vbox() dikey olarak büyüyen, hbox() ise yatay olarak büyüyüp ölçülendirilebilen kutular oluşturmak için kullanılmaktadır.

$baslik degiskeni ile belirlenmiş karakter katarının font özelliklerinin ayarlanması işlemi burada gerçekleştirilmiş ve kalın harfler oluşturulmuştur. Ayrıca yazı rengi #333 olarak ayarlanmıştır.

Yukarıdaki kodlar programın en önemli noktalarını oluşturmaktadır. Çünkü form alanından verilerin alınıp işlendiği kodlama buradadır.

En az 4 karakter girme hata mesajı

En az 4 karakter girme hata mesajı

Hatasız veri girişi

Hatasız veri girişi

Boş giriş yapılma hata mesajı

Boş giriş yapılma hata mesajı


Bu özellik, program çalıştırıldığında kolaylıkla görülebilecek bir olayı tetiklemektedir. Text alanına veri girip enter tuşuna basmakla birlikte konsol üzerinde bir mesaj alınmaktadır. Aynı zamanda pencere üzerinde giriş bölümü aktif olarak veri girilmesini beklemektedir. Yani text alanı aktiftir. Bunu sağlayan da grab_focus() özelliğidir.

 

Özellik

 

 

Değer

 

 

İşlev

 

set_position() (Gtk::WIN_POS_CENTER) Pencerenin ekrandaki konumunu ayarlar
set_title() ($title [string]) Pencerenin başlık bilgisini ayarlar
maximize()   Pencereyi tam ekran yapar
set_size_request() ($genislik[int],$yukseklik[int]) Pencerenin genişlik ve yükseklik ayarını yapar
set_max_width_chars() (integer)

Örnek: (10)

Belirtilen widget üzerindeki belirtilen genişlik ölçüsü sınırlarına getirilecek olan maksimum karakter sayısını ayarlar
get_max_width_chars() (integer) Maksimum karakter kapasitesi
set_line_wrap() BINARY(true[1], false[0]) Karakter katarını biçer ve pencere ölçüleri dahilinde yazdırır.
set_decorated() BINARY(true[1], false[0]) Pencerenin kenarlarını kaldırır.
grab_focus()   Seçili text kutusunun kullanılmasını sürekli aktif yapar.
add()   Belirtilen widgeti pencereye ekler.
unmaximize()   Pencere tam ekran olarak ayarlanmamışsa, orijinal boyutlarına döndürür

Bu konuda kullanışlı örnekleri sonraki yazılarda paylaşacağım. Umarım yararlı olmuştur.
Görüşmek üzere!

  Yazı şöyle etiketlendi:
  Kategoriler:
A.Gökhan, M.Sc.
A.Gökhan, M.Sc.

My Name is A. Gokhan SATMAN, and I am a software engineer, Author and game developer. gokhansatman.com

Daha fazla yazı görüntüle
Yorum yaz

0 Yorum

Henüz yorum yok

Tartışma başlatabilirsin.

Yorum ekle

Your data will be safe! Your e-mail address will not be published. Also other data will not be shared with third person.
All fields are required.

*