Visual Studio 2010 ile Görsel C++ Programlama

Visual C++ programlama yapmak ilk başta herkese korkutucu gelebilir. Lakin sanıldığı kadar zor değildir. (Eğer zor olsaydı benim gibi C++’tan kalan birisi bu işi beceremezdi :P )

Neyse bu anlatımı isteyen sınıf arkadaşlarıma sevgilerle hayde vira bismillah (:

İlk olarak Visual Studio 2010 Ultimate‘imizi açıp New Project diyoruz.
Programımızın diğer bilgisayarlarda çalışabilmesi için .NET Framework 2.0 destekli olması gerekir. Windows Forms Application’u seçip projemizi isimlendirip tamam diyoruz.
yeni proje diyoruz

Karşımıza bir form geliyor, karalama tahtamız artık burası. En çok kullanacağımız şeylerden birkaç tanesini Toolbox’tan bulup Form’a sürükleyip istediğimiz tasarımı yapıyoruz. Örnek olarak ben
3 Buton
1 Numeric Box
1 Text Box
1 linkLabel
birkaç tane de label ekleyeceğim.
Program Tasarımı

İlk olarak buton1′e tıklandığında numericUpDown’dan alınan sayıyla textBox’tan alınan sayıları toplayıp label1′de gösterilmesini yapalım.
İkinci olarak buton2′ye tıklandığında numericUpDown’dan alınan sayıyla textBox’tan alınan sayıları çarpıp MessageBox olarak gösterilmesini yapalım
Üçüncü olarak da linkLabel’a sitemizin linkini ekleyelim
Son olarak da buton3′e tıklandığında programımızdan çıkış yapalım.

İlk Olarak numericUpDown’dan ve textBox’tan sayılarımızı alıp birer integer değer’e atayıp toplama işlemimizi yapalım. Tasarım ekranımızdaki buton1′e çift tıklayıp kod ekranımıza geçiyoruz.

Tasarım ekranına dönüp buton 2′ye çift tıklıyoruz. Bu sefer de yine aynı şekilde üstteki sayı alma ve çarpma işlemlerini yapıp MessageBox’la kullanıcıyı bilgilendirelim.

Üçüncü olarak linkLabel’imizi linklendirelim :)
Properties’ten ismini değiştirelim. ve çift tıklayıp ilgili kod kısmına gelelim.

  System::Diagnostics::Process::Start("http://cakirturk.net");

kodunu ekliyoruz (:
Son olarak da Buton3′e tıkladığımızda Programdan çıkış yapmasını istiyoruz. buton3′e çift tıklayıp ilgili kod kısmına geçiyoruz. ve

  Application::Exit();

koduyla birlikte buton3′e çıkış özelliği kazandırıyoruz.

Kodumuz artık derlemeye ve çalıştırmaya hazırdır.
Programımızın çıktısı aşağıdaki gibi olacaktır:
önce buton1′e sonra buton2′ye tıklanmıştır.
program çıktısı

Her türlü soru/sorun/istek/öneri’nize açıktır.
Proje’yi indirmek için tıklayınız.

Bu derste öğrenilmesi hedeflenenler:
- numericUpDown’dan decimal değerin 32 Bit İnteger değer’e dönüştürülmesi
- textBox’tan alınan text’in integer değere dönüştürülmesi
- label kullanımı
- linklabel kullanımı
- buton kullanımı


Bu yazı bugün 1, toplamda 2.197 kez okundu.


http://cakirturk.net/wp-content/plugins/sociofluid/images/digg_48.png http://cakirturk.net/wp-content/plugins/sociofluid/images/reddit_48.png http://cakirturk.net/wp-content/plugins/sociofluid/images/delicious_48.png http://cakirturk.net/wp-content/plugins/sociofluid/images/facebook_48.png http://cakirturk.net/wp-content/plugins/sociofluid/images/twitter_48.png

29 Responses to “Visual Studio 2010 ile Görsel C++ Programlama”

  1. BFG Says:

    Dersin,iz çok güzel devamı geleckmi:D ???

  2. ÇakırTürk Says:

    @BFG şu yaz tatili bitsin devam ederiz derslere :P

  3. BFG Says:

    En azından vc++ ile cmd komutu veren bir kod verbilirmisiniz???

  4. ÇakırTürk Says:

    VC++ ile cmd komutu mu ? form application yaparken konsolda da mı işlem yapmak istiyosun? ya da tam olarak ne yapmak istiyosun ona göre birşeyler ayarlayalım :)

  5. BFG Says:

    Mesela bir buton var tıklayınca bir paint açılcak gibi

  6. ÇakırTürk Says:

    #include cstdlib
    i include yap

    butonclick’in içine de
    system(“mspaint.exe”);
    yaz

    fazladan bi cmd açıyo, sebebi c ile alakalı :)

  7. BFG Says:

    system(“x”);
    komutunu biliyorum…
    Daha önce çok kulandım ama #include cstdlib’i nereye ekleyeceğiz?:(

  8. ÇakırTürk Says:

    cstdlib header file’ını programın en başında global scope’ta tanımla.

    ama o komut yerine daha geniş kapsamlı bi komut buldum onu söyleyeyim.
    System::Diagnostics::Process::Start(“mspaint.exe”);

    komutu yeterli olacaktır…

  9. zzz Says:

    WinExec komutu ile yapılabilir.
    WinExec(“dir /C paint.exe”,0);
    Burdaki C ve 0 parametreleri açılan cmd dosyasını önce arkaplana atar sonra 1 sn içinde kapatır.Böylece sadece paint exe açılmş olur

  10. Fatih YILDIZHAN Says:

    Güzel bir çalışma olmuş, eline sağlık ;) )

  11. ÇakırTürk Says:

    teşekkür ederim :)

  12. İsmail Says:

    ben herşeyi doğru yaptım ama
    Unable to start program ‘C:\User\İsmail\Documents\Visual Studio 2010\Projects\Çalışma\Debug\Çalışma.exe

    hatası alıyorum
    Yardımlarınız Bekliyorum

  13. ÇakırTürk Says:

    İsmail bey programınızı tekrar derlemeyi deneyin.
    oluşturulan exe’yi çalıştıramadı diye uyarı veriyor.

  14. İsmail Says:

    Derleyip açıyorum ama aynı hatayı veriyo acaba bir yerde bir yanlışlıkmı yaptım ben direk programı çalıştırıp verdiğiniz Proje yi oluşturup kodları yazdım sonrada Debug->Start Debugging yaptım sonra çıkan soruya evet dedim sonra bir tane daha çıktı onada evet dedim sonra bu hatayı verdi

  15. ÇakırTürk Says:

    hımm anladım durumu. yazdığınız kodlarda hata var bir yerde, derleyemiyor malesef. Output kısmında yazan hataları tek tek çözmeye çalışın.

  16. İsmail Says:

    derledikten sonra kodlarda hiçbir hata bulmadı Output kısmındada bir sorun gözükmüyor.
    Unable to start program ‘C:\User\İsmail\Documents\Visual Studio 2010\Projects\Çalışma\Debug\Çalışma.exe

    Sistem belirtilen yolu bulamıyor

    yazıyordu altında onu eklemeyi unutmuşum kusura bakmayın

    Output kısmında
    1>—— Build started: Project: Enter_Name, Configuration: Debug Win32 ——
    1> Enter_Name.cpp
    1>c:\users\İsmail\documents\visual studio 2010\projects\enter_name\enter_name\Form1.h(143): error C3083: ‘Covert’: the symbol to the left of a ‘::’ must be a type
    1>c:\users\İsmail\documents\visual studio 2010\projects\enter_name\enter_name\Form1.h(143): error C2039: ‘ToInt32′ : is not a member of ‘System’
    1>c:\users\İsmail\documents\visual studio 2010\projects\enter_name\enter_name\Form1.h(143): error C3861: ‘ToInt32′: identifier not found
    1>c:\users\İsmail\documents\visual studio 2010\projects\enter_name\enter_name\Form1.h(145): error C3083: ‘Conver’: the symbol to the left of a ‘::’ must be a type
    1>c:\users\İsmail\documents\visual studio 2010\projects\enter_name\enter_name\Form1.h(145): error C2039: ‘ToInt32′ : is not a member of ‘System’
    1>c:\users\İsmail\documents\visual studio 2010\projects\enter_name\enter_name\Form1.h(145): error C3861: ‘ToInt32′: identifier not found
    1>c:\users\İsmail\documents\visual studio 2010\projects\enter_name\enter_name\Form1.h(147): error C2065: ‘sonuc’ : undeclared identifier
    1>c:\users\İsmail\documents\visual studio 2010\projects\enter_name\enter_name\Form1.h(148): error C2065: ‘label1′ : undeclared identifier
    1>c:\users\İsmail\documents\visual studio 2010\projects\enter_name\enter_name\Form1.h(148): error C2227: left of ‘->Text’ must point to class/struct/union/generic type
    1> type is ”unknown-type”
    1>c:\users\İsmail\documents\visual studio 2010\projects\enter_name\enter_name\Form1.h(148): error C2065: ‘sonuc’ : undeclared identifier
    1>c:\users\İsmail\documents\visual studio 2010\projects\enter_name\enter_name\Form1.h(148): error C2228: left of ‘.ToString’ must have class/struct/union
    1> type is ”unknown-type”
    1>c:\users\İsmail\documents\visual studio 2010\projects\enter_name\enter_name\Form1.h(154): error C3083: ‘Covert’: the symbol to the left of a ‘::’ must be a type
    1>c:\users\İsmail\documents\visual studio 2010\projects\enter_name\enter_name\Form1.h(154): error C2039: ‘ToInt32′ : is not a member of ‘System’
    1>c:\users\İsmail\documents\visual studio 2010\projects\enter_name\enter_name\Form1.h(154): error C3861: ‘ToInt32′: identifier not found
    1>c:\users\İsmail\documents\visual studio 2010\projects\enter_name\enter_name\Form1.h(156): error C3083: ‘Conver’: the symbol to the left of a ‘::’ must be a type
    1>c:\users\İsmail\documents\visual studio 2010\projects\enter_name\enter_name\Form1.h(156): error C2039: ‘ToInt32′ : is not a member of ‘System’
    1>c:\users\İsmail\documents\visual studio 2010\projects\enter_name\enter_name\Form1.h(156): error C3861: ‘ToInt32′: identifier not found
    1>c:\users\İsmail\documents\visual studio 2010\projects\enter_name\enter_name\Form1.h(158): error C2065: ‘sonuc’ : undeclared identifier
    1>c:\users\İsmail\documents\visual studio 2010\projects\enter_name\enter_name\Form1.h(159): error C2065: ‘label1′ : undeclared identifier
    1>c:\users\İsmail\documents\visual studio 2010\projects\enter_name\enter_name\Form1.h(159): error C2227: left of ‘->Text’ must point to class/struct/union/generic type
    1> type is ”unknown-type”
    1>c:\users\İsmail\documents\visual studio 2010\projects\enter_name\enter_name\Form1.h(159): error C2065: ‘sonuc’ : undeclared identifier
    1>c:\users\İsmail\documents\visual studio 2010\projects\enter_name\enter_name\Form1.h(159): error C2228: left of ‘.ToString’ must have class/struct/union
    1> type is ”unknown-type”
    ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

    bunlar yazıyo

  17. ÇakırTürk Says:

    ismail bey yazdığınız Convert’leri doğru kütüphane altında yazdığınızdan emin misiniz?

  18. Furkan Says:

    Error 1 error MSB8009: .NET Framework 2.0/3.0/3.5 target the v90 platform toolset. Please make sure that Visual Studio 2008 is installed on the machine. C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets 292 6 İlkDers
    Bu Hata neyden verebilir?

  19. ufuk Says:

    Error 1 Syntax error, ‘.’ expected C:\Documents and Settings\Proje2\Desktop\Ufuk Kabakcı\Ufuk Kabakcı\Form1.cs 36 34 Ufuk Kabakcı
    Error 2 Syntax error, ‘.’ expected C:\Documents and Settings\Proje2\Desktop\Ufuk Kabakcı\Ufuk Kabakcı\Form1.cs 37 34 Ufuk Kabakcı
    Error 3 The namespace alias qualifier ‘::’ always resolves to a type or namespace so is illegal here. Consider using ‘.’ instead. C:\Documents and Settings\Proje2\Desktop\Ufuk Kabakcı\Ufuk Kabakcı\Form1.cs 39 23 Ufuk Kabakcı
    Error 4 The namespace alias qualifier ‘::’ always resolves to a type or namespace so is illegal here. Consider using ‘.’ instead. C:\Documents and Settings\Proje2\Desktop\Ufuk Kabakcı\Ufuk Kabakcı\Form1.cs 49 24 Ufuk Kabakcı
    Error 5 Syntax error, ‘.’ expected C:\Documents and Settings\Proje2\Desktop\Ufuk Kabakcı\Ufuk Kabakcı\Form1.cs 54 32 Ufuk Kabakcı
    Error 6 Syntax error, ‘.’ expected C:\Documents and Settings\Proje2\Desktop\Ufuk Kabakcı\Ufuk Kabakcı\Form1.cs 54 41 Ufuk Kabakcı
    Error 7 Syntax error, ‘.’ expected C:\Documents and Settings\Proje2\Desktop\Ufuk Kabakcı\Ufuk Kabakcı\Form1.cs 27 34 Ufuk Kabakcı
    Error 8 Syntax error, ‘.’ expected C:\Documents and Settings\Proje2\Desktop\Ufuk Kabakcı\Ufuk Kabakcı\Form1.cs 28 34 Ufuk Kabakcı
    Error 9 ; expected C:\Documents and Settings\Proje2\Desktop\Ufuk Kabakcı\Ufuk Kabakcı\Form1.cs 30 27 Ufuk Kabakcı
    Error 10 Alias ‘System’ not found C:\Documents and Settings\Proje2\Desktop\Ufuk Kabakcı\Ufuk Kabakcı\Form1.cs 27 19 Ufuk Kabakcı
    Error 11 The * or -> operator must be applied to a pointer C:\Documents and Settings\Proje2\Desktop\Ufuk Kabakcı\Ufuk Kabakcı\Form1.cs 27 44 Ufuk Kabakcı
    Error 12 Alias ‘System’ not found C:\Documents and Settings\Proje2\Desktop\Ufuk Kabakcı\Ufuk Kabakcı\Form1.cs 28 19 Ufuk Kabakcı
    Error 13 The * or -> operator must be applied to a pointer C:\Documents and Settings\Proje2\Desktop\Ufuk Kabakcı\Ufuk Kabakcı\Form1.cs 28 44 Ufuk Kabakcı
    Error 14 The * or -> operator must be applied to a pointer C:\Documents and Settings\Proje2\Desktop\Ufuk Kabakcı\Ufuk Kabakcı\Form1.cs 30 13 Ufuk Kabakcı
    Error 15 The name ‘L’ does not exist in the current context C:\Documents and Settings\Proje2\Desktop\Ufuk Kabakcı\Ufuk Kabakcı\Form1.cs 30 26 Ufuk Kabakcı
    Error 16 Only assignment, call, increment, decrement, and new object expressions can be used as a statement C:\Documents and Settings\Proje2\Desktop\Ufuk Kabakcı\Ufuk Kabakcı\Form1.cs 30 27 Ufuk Kabakcı
    Error 17 Alias ‘System’ not found C:\Documents and Settings\Proje2\Desktop\Ufuk Kabakcı\Ufuk Kabakcı\Form1.cs 36 19 Ufuk Kabakcı
    Error 18 The * or -> operator must be applied to a pointer C:\Documents and Settings\Proje2\Desktop\Ufuk Kabakcı\Ufuk Kabakcı\Form1.cs 36 44 Ufuk Kabakcı
    Error 19 Alias ‘System’ not found C:\Documents and Settings\Proje2\Desktop\Ufuk Kabakcı\Ufuk Kabakcı\Form1.cs 37 19 Ufuk Kabakcı
    Error 20 The * or -> operator must be applied to a pointer C:\Documents and Settings\Proje2\Desktop\Ufuk Kabakcı\Ufuk Kabakcı\Form1.cs 37 44 Ufuk Kabakcı
    Error 21 Alias ‘MessageBox’ not found C:\Documents and Settings\Proje2\Desktop\Ufuk Kabakcı\Ufuk Kabakcı\Form1.cs 39 13 Ufuk Kabakcı
    Error 22 Alias ‘Application’ not found C:\Documents and Settings\Proje2\Desktop\Ufuk Kabakcı\Ufuk Kabakcı\Form1.cs 49 13 Ufuk Kabakcı
    Error 23 Alias ‘System’ not found C:\Documents and Settings\Proje2\Desktop\Ufuk Kabakcı\Ufuk Kabakcı\Form1.cs 54 13 Ufuk Kabakcı

    Hatası veriyor Bir İlgilenir misiniz . ?

  20. yiğit Says:

    basit bir program yazıcam ama nasıl olduğunu sölermısın dikdörtgenin kısa kenarını we uzun kenarını hesaplama

  21. btayfur Says:

    Eline sağlık, temel fonksiyonların anlaşılması açısından çok güzel bir makale olmuş.

  22. btayfur Says:

    textBox lara decimal değer girebilmek için yapmamız gereken modifikasyon nedir?

  23. ÇakırTürk Says:

    textboxlar stringdir normalde. System convert toint32() ile int’e dönüştürebilirsin textboxtan aldığın değeri

  24. btayfur Says:

    Yanlış şekilde sordum galiba, System::conver::toint32 kısmında string’den dönüştürdüğümüzü ve bitişte labela tekrar string olarak verdiğimizi anladım. sorduğum şey debug dan sonra textbox’a virgüllü bir değer girdiğimde hata vermesi

  25. ÇakırTürk Says:

    int değişkeni sadece tamsayıları tutar, o yüzden dönüştürme yapacağınız sayıları double ya da float olarak alın.

  26. sevinc Says:

    ben visual stadio c++ ile ilgili ders notlarını nerden bulabilrim intrntte pek bişey bulamdm temel bilgileri gerekiyor?

  27. sevinc Says:

    acil cevap verbilrseniz çok sevinirim

  28. ÇakırTürk Says:

    visual c++ ile ilgili ders notu yok sanırım internette

  29. sevinc Says:

    ewt malesf

Leave a Reply