folder Tahribat.com Forumları
linefolder Visual Basic - Basic - PicBasic ve Türevleri
linefolder Freebasic Dili Hakkında-Kullanım [Ayrıntılı Anlatım]



Freebasic Dili Hakkında-Kullanım [Ayrıntılı Anlatım]

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Fatih54
    Fatih54's avatar
    Kayıt Tarihi: 16/Ağustos/2012
    Erkek

    Piyasada runtime dahil istemeyen diller basic dili hariç hariç genelde çok zordur. Eğer C++ gibi dilleri bilmiyorsanız ve tamamen native ve crossplatform bir dil öğrenmek istiyorsanız(Bunu QT bile yapamıyor) FreeBasic öğrenebilirsiniz.

    *Inline ASM Destekler
    *API declare etmek zorunda kalmassınız "#include" ile kendi tanımlama dizisini kullanabilirsiniz.
    *Preprocessor destekler!
    *Pointer Destekler ! (Bunu .Net dilleri içinde sadece C#(ve F#?) ile o da saçma sapan bir şekilde yapabilirsiniz)
    *Tamamen ücretsizdir!
    *Firefly adlı uygulama ile kolayca GUI tasarlayabilirsiniz ancak API ve kullanımını iyi bilmelisiniz.
    *Tamamen Native dir Visual C++ gibi runtime istemez.
    *Preprocessor uygun kullandığınız takdirde Backtrack de bile çalıştırabilirsiniz uygulamalarınızı.
    *Unicode Destekler.
    *Tamamen Native olduğundan virüs gibi şeyler yazabilirsiniz.
    *GTK+ destekler.
    *Derleyicisi sadece 1.38 kb dır.
    *sqlite yi varolan kütüphanesi ile destekler.
    *Oyun geliştiricileri için uygundur! OpenGL,DirectX Kütüphaneleri Varolarak gelir
    *Inline LUA,C,C++ destekler.
    *
    Dahili hafıza fonksiyonları vardır (Callocate,Allocate,Deallocate)
    *Quick Basic dili temel alınmıştır ancak Visual Basic bilen biri de rahatça alışabilir.
    *Dahili C++,LUA,Visual Basic,C destekler yani ekstra bir dosya ile bunları ekleyebilirsiniz ve Free Basic derleyicisi bunları tanır ve derler.
    *Network olarak Winsock gibi kütüphaneleri bulunur ekstra "declare" gerekmez.
    *Regex Destekler
    *vb* Constant uyumluluğu için vbcompat.bi adında kütüphanesi mevcuttur.
    *XML Destekler
    *Ses kütüphaneleri varolarak gelir sizi uğraştırmaz.

    FreeBasic IDE (Varsayılan - Derleyici de Bununla Gelir)http://fbide.freebasic.net/
    FreeBasic IDE
    (Meşhur RADAsm yapımcısı RAD Software in yaptığı gelişmiş IDE, ancak eski sürümdür tavsiye etmem bunun yerine firefly kullanın)http://radasm.cherrytree.at/fbedit/

    GUI Hazırlamak İçin (Aynı Visual Basic 6.0 Gibi):
    FireFly 3 
    http://www.planetsquires.com/files/FireFly_FB_350.rar

    NOT: GUI Hazırlamak için API kullanımı öğrenmek zorundasınız ama Firefly bazı kolaylıklar sağlamıştır örneğin:

    Label1 Adlı label ın caption ını değiştirme:

    FF_Control_SetText HWND_FORM1_LABEL1, "YeniCaption"

    Bu tür Firefly ın sağladığı güzel özellikleri View->Functions Library de bulabilirsiniz. Ancak yine de API bilmek şart.

    ---

    Örnek 1:
    [Firefly ve FreeBasic ile MessageBox Hazırlama]

    [MessageBox API'si İle]

    FireFly ı açıp proje oluşturup 1 command button ekleyip iki kere tıklayın.

    Şimdi size free basic in güzel özelliğini tanıtacağım:

    #Include "windows.bi" 

    İşte sadece bu komutla neredeyse tüm win32 API leri uygulamanıza ekleniyor. Ancak burada crossplatform yapmak isterseniz şöyle yapın:

    #if defined(__FB_DOS__) or defined(__FB_WIN32__)
    #Include "windows.bi"
    #else
    'Burayi genel olarak linux diye dusunelim
    #endif

    Bu şekilde crossplatform yaptık.
    Ve bunun yanında API için NULL tanıtmamız gerek bunu 0 ile yapabiliriz ama NULL yaparsak daha anlaşılır olur:

    #if defined(__FB_DOS__) or defined(__FB_WIN32__) 'Ayni C++ deki gibi burasi
    #Include once "windows.bi" 'Buranin neden Once oldugunu siz arastirin.
    #else
    'Burayi genel olarak linux diye dusunelim
    #endif
    
    #ifndef NULL 'if not define yani tanimli degilse
    #Define NULL 0 'NULL u 0 olarak tanit
    #endif 'If sonlandir

    Şimdi API'yi yazalım: (Bunu commandbutton kod bloğunun içine yazın):

    http://msdn.microsoft.com/en-us/library/windows/desktop/ms645505(v=vs.85).aspx

    Messagebox(hWndForm(referans olarak gelir findwindow api kullanmamiza gerek yok) (Handle değeri, Null olabilir ancak biz yine de form un hwnd verelim), Messagebox İçeriği, Messagebox Başlığı,Messagebox tipi örneğin MB_OK Constant i Ancak bunu bizim tanimlamamiza gerek yok yine "windows.bi" de önceden tanimli bu yani declare etmemize gerek yok)

    MessageBox(hWndForm,"Merhaba Dunya","Merhaba Dunya [BASLIK]",MB_OK)

     

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Fatih54
    Fatih54's avatar
    Kayıt Tarihi: 16/Ağustos/2012
    Erkek

    Buraya ilgi olursa 2. dersi,Messagebox un yanıt döndürmesini anlatırım.

  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Ratbat
    Ratbat's avatar
    Kayıt Tarihi: 20/Ekim/2012
    Erkek

    Eline sağlık hocam anlatım gayet sade olmuş, giriş için ideal bir anlatım, kafayı toparlar toparlamaz freebasic'e giriş yapacağım umarım yardımcı olursun başladığımda.


    Kurallar satranç tahtasındaki kadar kesin olmalı.
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    sniperscope
    sniperscope's avatar
    Banlanmış Üye
    Kayıt Tarihi: 14/Mart/2009
    Erkek

    Hocam, saat sabahin olmus, ben buraya cizik atayimda yarin devam ederim, kimse olmasa bile sen devam et en azindan ben bakarim.

    Nedendir bilmem, gorsel diller daha cok hosuma gidiyor(VB6.0 gibi).


    "Yer yuzunde hic bir pislik yoktur ki; altindan bir yahudi cikmasin" Adolf Hitler... "Turkiye de hicbir pislik yokturki altindan cemaat cikmasin" SniperScope "Nerede yavşak, hırsız varsa hepsi Allahçı" Fazil Say
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Retro
    by_Tet
    by_Tet's avatar
    Kayıt Tarihi: 22/Mayıs/2012
    Erkek

    2-3-4-5-6.................... dersleri istiyorum


    iyibu! yeniden..
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Odd Emoji 3D
    BerkayCit
    BerkayCit's avatar
    Kayıt Tarihi: 25/Şubat/2011
    Erkek

    directx kütüphanesi var, crossplatform olarak çalışabiliyor? tam anlayamadım?


    havalı bir şeyler yazdığımı hayal edin
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Nobel
    Nobel's avatar
    Kayıt Tarihi: 13/Ağustos/2012
    Erkek

    oyun geliştirebiliyorsun ve windows harici platformlarada yazabiliyorsun programını demek istemiş


    http://goo.gl/0i2Fv
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Odd Emoji 3D
    BerkayCit
    BerkayCit's avatar
    Kayıt Tarihi: 25/Şubat/2011
    Erkek
    Nobel bunu yazdı

    oyun geliştirebiliyorsun ve windows harici platformlarada yazabiliyorsun programını demek istemiş

    directx sadece windowsta çalışmıyor mu? nasıl linuxta çalışacak?


    havalı bir şeyler yazdığımı hayal edin
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Fatih54
    Fatih54's avatar
    Kayıt Tarihi: 16/Ağustos/2012
    Erkek
    mRBerkay bunu yazdı

    directx kütüphanesi var, crossplatform olarak çalışabiliyor? tam anlayamadım?

    Dil genel olarak crossplatform eğer directx kullanırsan tabiki öyle olmaz ancak bildiğin gibi opengl üzerinde çalışırsan yine crossplatform olur.

  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Fatih54
    Fatih54's avatar
    Kayıt Tarihi: 16/Ağustos/2012
    Erkek
    sniperscope bunu yazdı

    Hocam, saat sabahin olmus, ben buraya cizik atayimda yarin devam ederim, kimse olmasa bile sen devam et en azindan ben bakarim.

    Nedendir bilmem, gorsel diller daha cok hosuma gidiyor(VB6.0 gibi).

    Peki devam ederim ancak şunu unutma bu VB6 gibi M$ in tekelleştirdiği görsel bir dil değil. Normal IDE varsayılan olarak sadece komut satırı sunuyor ancak C++ daki resource editor gibi bunda da Firefly ile aynı VB6 gibi GUI hazırlayabiliyorsun, hem de profesyonel bir şekilde. Öyle ki VC++ bile bazı durumlarda Runtime kütüphanesi istediği durumlarda bu istemiyor VB6 gibi core kütüphaneye bağlı çalışmıyor ve fb derleyicisi tamamen native assembly haline derliyor, C dili mantığı. Yani Framework,Runtime DLL gibi şeyler istemiyor bu yüzden bu dil ile işletim sistemi bile yazabilecek kapasiteye sahip diyorlar. 

  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Homer
    Homer's avatar
    Kayıt Tarihi: 08/Temmuz/2007
    Erkek

    eline salık hocam

    ingilizce makaleler var burda http://www.freebasic.net/wiki/wikka.php?wakka=CommunityTutorials

Toplam Hit: 2525 Toplam Mesaj: 11