Cuma, Mart 27, 2009

wxWidgets ListBox Kullanımı

ListBox

ListBox alt alta satırların girilebildiği, birçok özelliği bulunan çok kullanışlı bir kontroldür. ListBox'a eklenen her elemana 0 dan başlanarak bir index numarası verilir. Bu index numarası ile ListBox'a eklenen elemanlara taklalar attırabiliriz :). (gösterme,silme,seçme vb...)

Genel Özellikleri
1.Eleman ekleme
ListBox1->Append(_T("1.Eleman"));

2.Seçilen elamanın index numarasını öğrenme
sIndex = ListBox1->GetSelection();//bu kod seçilen elemanın index numarasını geri dönüş değeri olarak döndürür.

3.Eleman sayısı öğrenme
kayitSayisi = ListBox1->GetCount();//ListBox taki kayitli eleman sayısını döndürür.


4.Eleman öğrenme
eleman = ListBox1->GetString(sIndex);//Parametre olarak girilen sayıya karşılık gelen elemanı döndürür

5.Seçilen elemanı öğrenme
eleman = ListBox1->GetStringSelection();

6.Eleman seçme
ListBox2->SetSelection(sIndex); //Parametre olarak girilen sayıya karşılık gelen elemanı seçer

7.Eleman silme
ListBox1->Delete(sIndex);//Parametre olarak girilen sayıya karşılık gelen elamanı siler

8.Bütün elemanları silme
ListBox1->Clear();


Örnek Proje
ListBox(İndir)
IDE olarak Code::Blocks kullandım.

Çarşamba, Mart 18, 2009

wxWidgets Tür Dönüşümü (Int to string - string to int)

String to Long - Long to Int - Int to String
Basit bir toplama örneği ile wxWidgets de tür dönüşümünü anlatmaya çalıştım. wxWidgets projesi açtıktan sonra bir buton ekleyin ve aşağıdaki kodu yazın. Elimden geldiğince hangi kodun ne işe yaradığını anlatmaya çalıştım. Sürçülisan eylediysem affola :).

void toplamaFrame::OnButton1Click(wxCommandEvent& event)
{
//Değişkenleri oluşturuyoruz
//wxT() ,_T(),_() = string ve karakterleri kelimesi kelimesine convert eder.
//Uygulamanın tipe özgü olarak unicode modda derlenmesine izin verir
wxString metin1 = _T("3"),metin2=_T("2"),strToplam;
int sayi1,sayi2,toplam;
long l1,l2;
//Burda önce stringi long veri tipine dönüştürüyoruz.
//& işaretine dikkat ediniz. Parametre olarak adres bilgisini gönderiyoruz.(Başvurular)
metin1.ToLong(&l1);
metin2.ToLong(&l2);
//long veri tipini de int'e dönüştürüyoruz
sayi1 = (int)l1;
sayi2 = (int)l2;
toplam = sayi1 + sayi2;
//botona tıklandığında mesaj olarak işlemin sonucunu göre bilmek için
//inti tekrardan wxString formatına dönüştürüyoruz.
strToplam = wxString::Format(_("%d"),toplam);
//Son olarak da ekrana mesaj olarak gönderiyoruz.
wxMessageBox(strToplam);
}


Yarım yamalak ingilizce bilgimdenmidir yoksa önceki öğrenimlerimin yeni öğrenimlerime ket vurmasındamıdır bilmiyorum bunu öğrenmek 4-5 saatime mâl oldu :)).


Çarşamba, Mart 11, 2009

Code::Blocks'a wxWidgets Kurulumu

Code::Blocks'a Nasıl wxWidgets Kurulur?
wxWidgets, programcının grafik arayüzüne sahip uygulamalar hazırlaması için bir araçtır.Yani bir GUI(Graphical User Interface-Kullanıcı Grafik Arabirimi) dir.
  1. Bedava ve açık kaynak kodludur.
  2. Açık kaynak kodlu olduğundan hızlı bir şekilde gelişmektedir.
  3. Platform bağımsız çalışabilir yani birden fazla işletim sisteminde derlenip kullanılabilr(Linux,FreeBSD,Windows,Mac...).
  4. Sadece C++ ile değil Perl, Python, Ruby, Basic, JavaScript gibi diller ilede wxWidgets kullanarak yazılım geliştirilebilir.
wxWidgets hakkında bu kısa bilgiden sonra artık Code::Blocks'a nasıl wxWidgets kuracağımızı öğrenelim.Bunun için bize lazım olanlar,
  1. Derleyici - MinGW 5.1.3 gcc (İndir)
  2. Hata ayıklayıcı (Debugger) - GDB v6.3-2 (İndir)
  3. wxWidgets (İndir)
Bunları indirdikten sonra kuruluma geçebiliriz.
1. İlk olarak MinGW 5.1.3 gcc'yi kurun. Kurulum sırasında paket olarak Candidate seçeneğini seçiyoruz. Components bölümünde ise g++ compiler seçeneğini işaretliyoruz

Default olarak kurulum yeri C:\MinGW dir. Ben bu path üzerinden kurulumu anlatmaya devam edeceğim.

2. MinGW' kurduktan sonra GDB v6.3-2 (debugger)'ı kuruyoruz. Debuggerı MinGW ile aynı klasörün içine kuruyoruz.


Eğer MinGW’yi kurarken path’i değiştirmediyseniz otomatik olarak debugger’da aynı yere kurulacaktır.Fakat MinGW nin path’inde değişiklik yaptıysanız debuggerında path ini değiştirmeyi unutmayın. Path dışında diğer ayarlara dokunmadan kurulumu bitiriyoruz.

3. Code::Blocks'u güncelliyoruz (Code::Blocks Nightly Builds)

4. Son olarakta wxWidgets i kuruyoruz. Ben Select Components bölümünde sadece MinGW gcc seçtim.Fakat kurulum sırasında kullandığınız derleyici tipi seçili değilse kendiniz derleyici tipinizi seçin. Kullanmadığınız derleyici tiplerinin seçimini kaldırabilirsiniz.

Ben C:\wxWidgets klasörüne kurdum. Bu path bize daha sonra Code::Blocks'da ayar yaparken lazım olacak.
NOT: Eğer farklı bir path seçerseniz klasör isminde boşluk ve türkçe karakter olmamasına dikkat edin.Örneğin "Program Files" klasörüne kurulum yapmayın.



Kaynaklar

Cuma, Mart 06, 2009

Code::Blocks Nightly Builds Yapma (Windows)

Code::Blocks Nightly Builds Nasıl Kurulur?
Code::Blocks'a nightly builds kurmak için üç şeye ihtiyacımız var.Bunlar,
  1. En son yayınlanmış Code::Blocks Nightly Builds dosyaları (İndir)
  2. Eğer sistemde kurulu değilse MinGW dll'si (Nightly Build dosyalarını indirceğiniz forum konusunda indirme linki mevcut)
  3. wxWidgets dll'si (Nightly Build dosyalarını indirceğiniz forum konusunda indirme linki mevcut)
NOT:Dosyalar 7-zip programı ile sıkıştırılmış haldedir. Bu programı buradan ücretsiz olarak indirip kurabilirsiniz

İndirdiğimiz 3 dosyayı 7-zip programı ile açıp Code::Blocks un kurulu olduğu klasöre aktarıyoruz.
Örneğin
C:\Program Files\CodeBlocks




Aktarma sırasında dosyaların zaten var olduğunu ve üstüne yazmak isteyip istemediğimiz uyarılarını verecektir. Bunlara Evet/Tümüne Evet deyip işlemin devam etmesini sağlıyoruz.

Aktarma işlemi ile beraber Code::Blocks için Nightly Builds yükleme işlemide bitmiştir.Güle güle kullanın :))

Kaynak