Forum: Ders Arası RSS
Gtkd uygulaması için takma isim tanımlamak
erdem (Moderatör) #1
Üye Tem 2009 tarihinden beri · 910 mesaj · Konum: Eskişehir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Konu adı: Gtkd uygulaması için takma isim tanımlamak
import gtk.MainWindow;
import gtk.Label;
import gtk.Main;
 
alias MainWindow Pencere;
alias MainWindow.setDefaultSize boyAyarla;
 
 
void main(string[] args)
{
    Main.init(args);
    Pencere pencere = new Pencere("Merhaba Dünya");
    boyAyarla(200, 100);
    //pencere.setDefaultSize(200, 100);
    pencere.add(new Label("Merhaba Dünya"));
    pencere.showAll();
    Main.run();
}

Basit bir gtkd uygulaması için takma isim yazmayı deniyordum.

Yukarıdaki örnekteki gibi bir sınıfa ait örnek için işlev çağırmak istediğimizde alias'tan faydalanabilirmiyiz.

Bu kodu denediğimde şu şekilde bir hata alıyorum:

Error: need 'this' for 'setDefaultSize' of type 'void(int width, int height)'

public class MainWindow : Window
{
    /* ... */
    public this(string title)
    {
        super(title);
    }
}

MainWindow sınıfının bildirimine baktığımızda aslında bir alt sınıfı çağırıyor. setDefaultSize işlevi de bu kütükte tanımlanmış.

public void setDefaultSize(int width, int height)
{
    gtk_window_set_default_size(gtkWindow, width, height);
}
Bu mesaj erdem tarafından değiştirildi; zaman: 2017-01-04, 00:34.
Değişiklik nedeni: Kaynak kod düzenlemesi :)
acehreli (Moderatör) #2
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4448 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Bu sorunun benzeri geçenlerde İngilizce forumda da sorulmuştu. Ne yazık ki bu tür alias'lar mümkün değil. (Not: Oradaki Ali ben değilim.)

  http://forum.dlang.org/post/cucdsnnmhiajldtzngzk@forum.dla…

Bu arada, alias'ın yeni yazımını hatırlatırım:
alias Pencere = MainWindow;
Ali
erdem (Moderatör) #3
Üye Tem 2009 tarihinden beri · 910 mesaj · Konum: Eskişehir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Ali bey teşekkürler.

Bu arada size Ubuntu forum'dan freeman takma isimli arkadaşın selamı var.
acehreli (Moderatör) #4
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4448 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Benden de selam ama freeman takma ismini hatırlamıyorum. Herhalde gerçek ismi Özgür Adem'dir ama öyle birisini de tanımıyorum. :o)

Ali
erdem (Moderatör) #5
Üye Tem 2009 tarihinden beri · 910 mesaj · Konum: Eskişehir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Ben de selamınızı ilettim.

Aslında dile böyle bir özellik eklense çok güzel olur. Örneğin şu şekilde programların, özellikle yeni başlayan arkadaşlar için çok daha anlaşılır olduğunu düşünüyorum.
import pencere;
 
void main()
{
    Pencere pencere = Pencere("Merhaba Dünya");
    pencere.boyutBelirle(200, 100);
    pencere.ekle(new Etiket("Merhaba"));
    pencere.göster();
}
Doğrulama Kodu: VeriCode Lütfen resimde gördüğünüz doğrulama kodunu girin:
İfadeler: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Özel Karakterler:
Forum: Ders Arası RSS
Bağlı değilsiniz. · Şifremi unuttum · ÜYELİK
This board is powered by the Unclassified NewsBoard software, 20100516-dev, © 2003-10 by Yves Goergen
Şu an: 2017-08-23, 18:17:46 (UTC -07:00)