PHP-GTK2 Kütüphaneleri ile TIME Programı
Yine başka bir php-gtk2 programıyla karşınızdayım.Bu programımızda php ile masaüstü programcılığına devam ediyoruz ve bilgisayarımızın saatini formumuzun üzerinde görüntüleyeceğimiz bir program yapacağız.Ayrıca da yaptığımız programda fonksiyon da kullanarak fonksiyon kullanımını göreceğiz.Hadi o zaman başlayalım.
<?php
//Simple clock using Gtk::timeout_add()
//At first, we need a label displaying the time
$lbl = new GtkLabel(’Clock’);
//Now, call function “onTimeout” every 1 second
// (1 second == 1000 milliseconds)
//Also pass $lbl as parameter so we can
// change it in the function without using
// global variables (bad!)
Gtk::timeout_add(1000, ‘onTimeout’, $lbl);
//our callback function has one parameter,
// the one we defined in Gtk::timeout_add()
function onTimeout($lbl)
{
//do the things we want to do
$lbl->set_text(date(’H:i:s’));
// be executed again. If you don’t return anything
// or return false, the timeout is stopped.
return true;
}
$wnd = new GtkWindow();
$wnd->connect_simple(’destroy’, array(’gtk’, ‘main_quit’));
$wnd->add($lbl);
$wnd->show_all();
Gtk::main();
?>
$lbl = new GtkLabel(’Clock’);
Bu kodumuzda bir formumuzun üzerinde bir label (Masaüstü programcılığı ile ilgili başka prog. Dilleriyle uğraşanlar bilirler) nesnesi oluşturacağız.Label nesneleri bldiğiniz gibi Formumuzun üzerine sabit bir metin yazmak istediğimizde kullanacağımız bir sınıftır.Label nesnemizi oluşturuyoruz ve “$lbl” ismini veriyoruz.Artık “$lbl” ismiyle heryerde kullanabiliriz.
Gtk::timeout_add(‘Zaman birimi, milisaniye olarak girilir’, ‘Kullanacağımız fonksiyon adi’, fonksiyonun içindeki kullanacağımız değişken.orada “$lbl” sadece kolaylık olsun diye bu ismi kullandık.yani Label sınıfıyla bir alakası yok.o kısım sadece fonksiyona göndereceğimiz değişken değeridir.yani isterseniz oraya “$isminizi” yazabilirsiniz. );
Burada yaptığımız her 1000ms (1 sn) de “onTimeout “ fonksiyonunu çağırıyoruz.
function onTimeout($lbl)
{
//do the things we want to do
$lbl->set_text(date(’H:i:s’));
// be executed again. If you don’t return anything
// or return false, the timeout is stopped.
return true;
}
$wnd->connect_simple(’destroy’, array(’gtk’, ‘main_quit’));
$wnd->add($lbl);
$wnd->show_all();
Gtk::main();






