PDA

Tam Sürümünü Görmek İçin : c++ pencere ve buton kullanımı


furkans
12/04/2007, 00:32
arkadaşlar c++ dilinde kodalama yapıyorum daha yeni başladım sayılır bundan öncede c dilinde baya uğraşmıştım ancak yazdığım programlar hep dos ortamında çalışan yani çalıştırılınca bir dos penceresi açılıp işlemlerin orda yürütüldüğü programlar oldu..kodlarımı buton ve pencerelere döküp görünüş zenginliği kazanması için GUI olayına ihtiyacım olduğunu gördüm araştırmalarım sonucunda.ancak GUI olayını anlatan kaynaklar hep ingilizceydi türkçe kaynak bulamadım bunun için türkçe anlatımı olan bi link verebilirmisiniz yada forumda böyle bi makale yayınlanabilir mi?

ilginiz için şimdiden teşekkürler...


ceeyt
12/04/2007, 01:53
C++ ile grafik arayuzu olan bir program yazmak icin bir kac yoldan bahsedersek;

Bir tanesi pencere buton vs olusturmak icin gerekli temel kodlari yazarak yapmaktir.Yani programini gelistirdigin ortamda pencere buton liste...vs olusturmak icin saglanan API leri kullanarak yapabilirsin.Bu yontem nispeten cok kod yazmani gerektireceginden bunun sonucunda gelistirme sureside uzayacaktir.

Bir diger secenek hazir kutuphanelerden faydalanmaktir.Sadece API lerden faydalanarak kod yazarken yapmak zorunda kalacagin bir cok islem hazir kutuphane fonksiyonlariyla saglanacagindan daha kolay bicimde arayuzler olusturabilirsin.Kullandigin hazir kutuphanenin beraber calisabildigi bir IDE varsa bu durumda arayuz olusturmak dahada kolaylasir.Surukle birak islemleriyle arayuz olusturursun ve bir cok kod senin yazmana gerek kalmadan kendiliginden programina eklenir.Buna ornek olarak windows sistemlerinde kullanabilecegin MFC ve Visual C++ 6.0 ikilisini soyleyebiliriz.

MFC ile ilgili olarak C ve sistem programcilari derneginin sitesinde turkce dokumanlar var istersen indirip inceleyebilirsin.

Bunun yaninda ATL,WTL gibi baska kutuphanelerde mevcut ancak malesef onlar hakkinda pek fazla yorum yapamiyorum.

bluekid
12/04/2007, 08:34
Eğer windows üzerinde düşünüyorsan En Kolayı CBuilder Piyasada pek çok kitap var.

furkans
12/04/2007, 11:34
teşekkürler dediklerinizi araştırıcam..

furkans
12/04/2007, 19:15
bu pencere ve buton oluşturma konusunda visual c++ 6.0 builder ının kendisi hazır kodlar içeriyormuş ve kullanılabiliomuş sanırım..bunun nasıl kullanıldıını açıklayabilirmisiniz acaba? yani yazdığım bi koda nasıl entegre edeceğim? yoksa sıfırdan mı yazmak zorundayım? isterseniz buraya öylesine yazdığım bir kodu yazabilirim onun üzerinden göstermeniz için...şimdiden teşekkürler...

BetulSahin
12/04/2007, 19:55
bu pencere ve buton oluşturma konusunda visual c++ 6.0 builder ının kendisi hazır kodlar içeriyormuş ve kullanılabiliomuş sanırım..bunun nasıl kullanıldıını açıklayabilirmisiniz acaba? yani yazdığım bi koda nasıl entegre edeceğim? yoksa sıfırdan mı yazmak zorundayım? isterseniz buraya öylesine yazdığım bir kodu yazabilirim onun üzerinden göstermeniz için...şimdiden teşekkürler...


Ben mi yanlış biliyorum acaba "visual c++ 6.0 builder" demişsiniz .Bildiğim kadarıyla borland C++ var (ki ben kullanıyorum) birde visual c++ var .biri Borland 'ın diğeri Microsoft 'un diye biliyorum. Eğer Borland c++ 6.0 kullanıyorsanız yardımcı olabilirim.kolay gelsin..

Akın Öcal
12/04/2007, 20:59
Microsoft Windows işletim sistemleri icin en cok kullanilan MFC dir sadece 6.0 ortami degil tüm visual studiolarda takip eden mfc sürümleri mevcuttur

Win32API++ gibi baska windows api wrap eden mfc benzeri kütüphaneler mevcuttur

Borland in VCL i de bir alternatif tabi

Cross platform secenekler ise :

Windows + KDE ortami icin QT

Windows + Gnome ortamı icin GTK+

furkans
13/04/2007, 02:21
kullandığım kod düzenleyici visual c++ 6.0 arkadaşlar...bnm duyduğumda bunda hazır yazılmış windows ve button uygulamaları olduğuydu ve ben bunun nasıl kullanılacağını öğrenmek istediğimi söylemiştim ilk sorduğumda..yani diyelimki bi kod yazdım en basitinden ekrana 'welcome' yazdıran cout << "welcome" << endl; şeklinde yazdım diyelim..bunu nasıl konsolda yani dos penceresinde değilde normal windows işletim sisteminde kullandığım gibi bir pencerede çalıştırabilirim..bu tabi sadece basit bi kod..mesela bnm yazdığım konsolda çalışan daha detaylı programlar var..kullanıcıdan veriler istenilen falan işte..bu programlara nasıl pencere ve buton entegre edebilirim..kodu sıfırdan mı yazmalıyım yoksa yazdığımın üstünden yapabilirmiyim eğer yapabilirsem bunu açıklayabilirmisiniz? ben bunları sormuştum..çok uzun oldu yazım..kusura bakmayın ve şimdiden teşekkürler ilginiz için...

Akın Öcal
13/04/2007, 02:35
Soyle bir yol izlenebilir :
oncelikle varolan programlarinda cout/cin gibi console output yapan tüm fonksiyonlardan arindir ve mümkün oldugunca konsol ya da pencere bagimsiz hale getir , ornegin cout kullandigin yerleri commentleyip hemen altina MyOutPut(cout_a_verdigin_parametre) diye bir fonksiyon cagirip , MyOutPut fonksiyonunu da kosullu derleme ile konsol icin ayri windows gui icin ayri davranis verir hale getirebilirsin , kosullu derlemede kullanacagin define lar visual studio c/c++ ayarlarında "subsystem" basligi altinda var

ozetle is katina mümkün oldugunca soyutlama yapip , gui katini da varolan coutlari cinleri mfc/gtk+/qt/vcl kodlari ile replace etmelisin

Normalde windows altindan kesinlikle saf windows api sistem cagrilarini tavsiye ederim , fakat kesinlikle gui olayinda degil, MFC ile nerdeyse VB/.NET gibi hizli bir sekilde arayüzü olusturabilirsin, Borland Builder da cok farkli degil fakat MFC, Microsoft un resmi C/C++ Uygulama gelistirme kütüphanesi oldugundan halen en iyi secenek olarak duruyor ve de boyle devam edecek, codeproject ve codeguru da MFC , popüler adi ile VisualC++ daki yogunluga bakarsaniz , daha anlam kazanacaktir dediklerim

mutlaka ve mutlaka bazi fonksiyonlarinin icerigi degisebilir , ornegin bir fonksiyonun icinde cin kullandigin anda kullanicindan bir tepki beklersin , fakat pencereli bir programda programin kesintiye ugratilmasina gerek yoktur "edit" ( textbox) ile bu isi halledebilirsin ( tabi next next tarzi diyaloglar da baska bir alternatif) iste cout/cin leri düz bisekilde win32 ye port etme disinda bu tarz degisiklikler de olabilir vasrolan is yapan kodlarin gidisatini degistirecek , bu da tamamen o kodlarin sahibinie kalmis bir düzenleme

furkans
13/04/2007, 02:43
çok teşekkür ederim açıklama için..gerçekten uzun uzun cevap verip çok takdir edilecek bir harekette bulunmuşsun akın çok sağol..ancak anlattıkların daha önce hiç bi tecrübem olmadığı için bana biraz yabancı geldi :) yinede araştırıp öğrenmeye gayret edeceğim..tekrardan teşekkürler..ii çalışmalar...