C++ İle ilgili bir soru

Bu konuyu okuyanlar

dlnyn

Öğrenci
Katılım
4 Şubat 2017
Mesajlar
15
Reaksiyon puanı
1
Puanları
3
Yaş
34
Merhaba arkadaşlar ben C++ öğrenmek istiyorum.Bir kaç konuya baktım ve bir kaç video izledim.Kafama takılan bir soru var onu sizlere sormak istedim.Şimdi bir hesap makinesi yapmak için gerekli kodları derleyiciye yazdık.Derleyici çalıştı kodlarda bir sorun yaşanmadı.Çalıştırdığımız zaman bu hesap makinesi komut satırında çalışıyor.Fakat bunu diğer programlar gibi (basic gibi) görünür kılmak mümkün mü?C++ buna imkan veriyor mu?Yoksa sadece yazdığın programlar veya oyunlar komut satırı bölümünde mi gözüküyor
 

Ben Kenobi

Müdavim
Katılım
6 Kasım 2011
Mesajlar
7,336
Reaksiyon puanı
3,155
Puanları
113
Programlama dili ile GUI kavramlarını karıştırmaktasınız.
Programlama dilleri adı üstünde programlama yapar.
GUI ise yapılan programlamayı sizin tabiriniz ile görünür kılar.
Basic veya C# için de bu geçerli.
Basic ile kullandığınız GUI sistemi büyük ihtimal WinForms'dur.
Bunun dışında WPF de kullanabilirdiniz.
C++'da çok daha fazla GUI yapabileceğiniz kütüphane bulunmakta.
WinForms ben önermiyorum çünkü Windows'a ait ve native değil managed.
Ben Qt'yi öneririm.
Qt - Download Open Source Step 3
Qt ve C++ ile yaptığınız programlar Windows Linux ve Mac'de çalışabilir.
Java'dan farkı ise native performansta çalışması.

Yani Qt öğrenerek programınızı görselleştirebilirsiniz.
 

dlnyn

Öğrenci
Katılım
4 Şubat 2017
Mesajlar
15
Reaksiyon puanı
1
Puanları
3
Yaş
34
Yani C# veya Basic dışında herhangi bir programla dili ile bir program yazıldı mı bunu görünür kılmak mümkün değil mi?
 
Son düzenleme:

Ben Kenobi

Müdavim
Katılım
6 Kasım 2011
Mesajlar
7,336
Reaksiyon puanı
3,155
Puanları
113
Ben de bazen kendimi anlamıyorum. :D

Hiçbir programlama diliyle mümkün değil çünkü adı üstünde programlama dili.
Görsellik programlama diline ait GUI kütüphaneleri yoluyla gerçekleştirilir.
Siz Basic ile program yazıp onu WinForms'un Basic kütüphanesi ile görünür kılmaktaydınız ancak bunu sürekle-bırak sistemiyle entegre yaptığınız için GUI için farklı bir kütüphane kullanmış olduğunuzu farketmediniz.
İşte maalesef bu gibi dillerin eksiklerinden biri de programcıları bu şekilde bilinçsizleştirmesi.

Qt ile ilgili videolar izleyerek görselleştirebilirsiniz.
Bunun dışında Visual Studio'da bulunan WinForms ile de yapabilirsiniz ama WPF ile yapamazsınız çünkü Microsoft WPF'i Genç Osman misali kesti. :D
 

dlnyn

Öğrenci
Katılım
4 Şubat 2017
Mesajlar
15
Reaksiyon puanı
1
Puanları
3
Yaş
34
Şimdi anladım kardeşim.Yani görsel bir program yapmak istiyorsam C# veya Basic kullanacağım.Bunun dışında Qt ile de görselleştirebilirim.Peki kardeşim bir sorum daha olacak.Şimdi online bir program için basic veya C# uygun mu?Örneğin bir şirketin gelir-giderlerini takip eden bir program olacak.Ben isteğim zaman gelir-giderleri değiştirebileceğim ve bu değişiklik bu programı farklı yerde kullanan kullanıcılar tarafında da görülebilecek.Fakt benim dışımda hiç bir kullanıcı programda değişiklik yetkisinde olmasın.Bu mümkün mü?
 

Ben Kenobi

Müdavim
Katılım
6 Kasım 2011
Mesajlar
7,336
Reaksiyon puanı
3,155
Puanları
113
Yanlış anlamışsın.
Network ile ilgili soruyu da o alanda daha bilgili varsa cevaplasın.
 

dlnyn

Öğrenci
Katılım
4 Şubat 2017
Mesajlar
15
Reaksiyon puanı
1
Puanları
3
Yaş
34
nereyi yanlış anladım.Şimdi görsel bir program yapmak için Basic kullanmak gerekmiyor mu?
 

Ben Kenobi

Müdavim
Katılım
6 Kasım 2011
Mesajlar
7,336
Reaksiyon puanı
3,155
Puanları
113
Altyapınızda eksiklik görmekteyim.
GUI nedir, programlama dili nedir, library nedir, native ve managed diller gibi konularda eğitim videoları izlemenizi öneririm.
 

errno

Doçent
Katılım
17 Temmuz 2016
Mesajlar
694
Reaksiyon puanı
567
Puanları
93
nereyi yanlış anladım.Şimdi görsel bir program yapmak için Basic kullanmak gerekmiyor mu?

Merhaba,

Ben Kenobi arkadaşımıza haklı ancak biraz daha açalım konuyu anlamanız için. Bu sorunuzun yanıtı "evet" Basic kullanabilirsiniz. Basic kullandığınız zaman hazırda bulunan Referans (Reference) kütüphanelerinize varsayılan olarak ekli olmasından dolayı bir form üzerinde rahatlıkla çalışabiliyorsunuz. Normalde bunu C/C++ ile yapmanızın farklı yöntemleri vardır ve size bir C/C++ programcısı olarak hazır verilmez. Yemeğinizi kendiniz pişireceksniz anlamına geliyor bu.

Ya kendiniz form kodlarınızı yazıp (daha doğrusu çizeceksiniz) kendinize özel bir pencere yapısıyla görünü kıldığınız kullanıcı arabirimi oluşturacaksınız, ya da windows'un temelinden (yine referans ancak biraz farklı) API'ler yardımıyla Windows'un kullandığı temel pencere yapısını kullanacaksınız. Farklı alternatiflerde oluşturabilirsiniz ileri düzeyde.

Visual Studio için söylemek gerekirse, oluşturduğunu Basic projesine sağ tuş ve "Add Reference" diyerek açılan menüde projenize önceden eklenmiş hazır dll (kütüphaneler) bulunmaktadır. Örnek olarak "System.Windows.Forms" projenizde seçili vaziyettedir. Eğer seçili olmaz ise 'Forms is not a member of Windows' ile bunun yanında bir çok hata alma olasılığınızda mevcut. Bu da kısace demektir ki, "formunuz bir Windows üyesi değildir". Yani derleyiciniz System.Windows.Forms hazır kütüphanesini kullanmadan Form ve bu kütüphanenin kullandığı üyeleri kullanamaz.

Saygılarımla
 

dlnyn

Öğrenci
Katılım
4 Şubat 2017
Mesajlar
15
Reaksiyon puanı
1
Puanları
3
Yaş
34
tamam yardımlarınız ve alakanız için teşekkür ederim
 

kmurat

Müdavim
Katılım
8 Şubat 2014
Mesajlar
8,488
Çözümler
3
Reaksiyon puanı
3,711
Puanları
113
Daha basitleştirilmiş anlatayım, daha iyi kafanda canlandırabilirsin. Modüler programlamada her şey önceden zaten var ve sen bunları ken işin için kullanıyorsun (.Net) Geleneksel programlamada her soruna kendin bir çözüm buluyorsun. (C/C+)
 

Ben Kenobi

Müdavim
Katılım
6 Kasım 2011
Mesajlar
7,336
Reaksiyon puanı
3,155
Puanları
113
Bu sorunların çözümü oldukça kolay.
Misal Qt Creator ile Qt projesi oluşturup, ekle-bırak yöntemiyle genel arayüz hattını çizip, eventleri atayıp oluşturabilirsin.
Aynısı diğer arayüz kütüphaneleri için de geçerli.
Ancak bilmeyince ilk kez öğrenmek zor olabilir ama bir kez öğrendikten sonra yapması kolay.
Bu durumun tam tersi olan şeyler de mevcut, yani öğrenmesi kolay ama uygulaması zor veya proje büyüdükçe yönetmesi zor olan.
Asıl ondan korkun.
MVC iş akışını öğrendiğinizde zaten her arayüz veya her programlama diliyle aşağı yukarı çalışabilirsiniz. (Microsoft'a ait MVC library değil, genel MVC felsefesi)
Yani önce bir GUI tasarlarsınız ve sadece tasarım olur, sonra bu GUI için durumlar oluşturursunuz(kafanızda, misal şu seçeneği seçince diğer seçenek kapanacak ya da şu seçeneği seçince yeni bir seçenek daha açılacak gibi) Önce bu temel eventleri kodlayarak başlarsınız en son da Core kısma ait eventleri kodlarsınız, bu kısımda hangi değişkenler kullanılacak ve hangileri GUI'dan alınacaksa onları parametre olarak gönderirsiniz, sonra da asıl programa geçebilirsiniz. Program çalışırken zaman zaman GUI kısmına bilgi göndermek gerekebilir(Misal %8 tamamlandı) Bu durumda GUI'lar ayrı bir thread üzerinden beslenmeli çünkü ana thread GUI'dan return mesajı gelene kadar bloklanır, bu bloklama işlemi misal döngüde gerçekleşirse 10 saniyelik iş, 1 dakikaya çıkabilir ama Microsoft tabanlı çözümler nedense bunu kısıtlıyor, farklı seçenekler sunuyor. (kendi dispatcher sistemi)
 
Üst