Posts Tagged :

introduction

GDI 2 _ Grafik Çizimi 426 487 mezo

GDI 2 _ Grafik Çizimi

Merhaba arkadaşlar

GDI ile ilgili önceki yazımızda neyin nasıl kullanılacağını görmüştük bu sefer bu GDI metotlarını kullanarak nasıl hesaplamalar yaparız. Seçim sonuçlarında hep görürüz bir pasta dilimi üzerinde partilerin oyları görünür ve yüzde olarak pasta grafikde bir dilim kaplarlar . Bakalım bizim partilerden hangisi ne kadar oyla pastanın neresinde duracak ???

Öncelikle WindowsForm uygulamamız üzerine 2 TextBox 1 Button ve 1 PictureBox atıyoruz.

Bu görüntüyü elde ettikten sonra yapmamız gerek pek de birşey kalmadı aslında sadece kod bloğunu açıp yazmak kalıyor 😀

string[] partiler = new string[10];int[] oylar = new int[10];int siraNo, toplamOy;

Öncelikle yukardaki gibi değerlerimi tutacağım dizilerimi  ve hesaplama yapabilmek içinse değişkenlerimi GLOBAL olarak tanımladım.

Daha sonra buton içersinde değerlerimi alıp bunları grafiksel olarak picturebox içersine çizdireceğim.

Öncelikle 10 elemanlı bir dizi oluşturduğum için dizinin boyutundan çok eleman girilmesin diye bir kontrol yapıyorum. Ardından oylar içersine değer eklerken int değerlerin girildiğinden emin oluyorum…

            if (siraNo == 10){MessageBox.Show(“10 partiden fazla olamaz???”);return;}try

{

oylar[siraNo] = int.Parse(textBox2.Text);

}

catch (Exception)

{

MessageBox.Show(“Oylarda Hata Var”);

return;

}

 

Hem partiler hemde oylar aynı indeks numaralarına yazdırılacak .

            partiler[siraNo] = textBox1.Text;toplamOy += oylar[siraNo];siraNo++;Graphics grp = this.pictureBox1.CreateGraphics();grp.Clear(pictureBox1.BackColor);

Random rnd = new Random();

int i, basAci=0,yayAci ,boy=0;

Color renk;

HatchBrush firca;

Toplam oy sayısını hesaplıyoruz.  Ardından nesnelerimizi tanımlıyoruz.  Picturebox üzerine çizim yapabilmek için Graphics nesnesi oluşturuyoruz. Picturebox da ne varsa siliyoruz. Color değişkeni ve desenli çizim için HatchBrush nesnesi oluşturuyoruz.

Index numarasına göre tüm dizi içersindeki elemanları alıp grafiksel olarak çizebilmek için bir for döngüsü oluşturuyoruz.

            for (i = 0; i <= siraNo-1; i++){yayAci = 360 * oylar[i] / toplamOy;renk = Color.FromArgb(rnd.Next(255), rnd.Next(255), rnd.Next(255));firca = new HatchBrush((HatchStyle)rnd.Next(50), renk);grp.FillPie(firca,0,80,200,200,basAci,yayAci);

 

grp.DrawString(“% ” + boy.ToString(), new Font(“Tahoma”, 8, FontStyle.Bold), Brushes.Black, 5, 80 + i * 20);

grp.FillRectangle(firca, 260, 80 + i * 20, 18, 18);

 

grp.DrawString(partiler[i] + ” = ” + oylar[i].ToString(), new Font(“Tahoma”, 8, FontStyle.Bold), Brushes.Black, 290, 80 + i * 20);

basAci += yayAci;

}

 

Çizdireceğimiz FillPie nesnesinin kaç derecelik bir açı ile çizileceğini hesaplamak için yay _aci değişkenini kullanacağız.  Random renk elde edebilmek için Color.FromArgb metodunu kullanarak rastgele renk değerlerini veriyoruz. HatchBrush üzerindede random olarak desen gelebilmesi için gerekli tanımlamayı yapıyoruz. Ardından küçük bir kare rengin hangi partiye ait olduğunu göstermek için hemen yanınada partinin adı ve oy sayısı  yazdırdıktan sonra en son tanımladığım başlangıç açısı bas_Aci değişkenini çizdiğim şeklin yay_Aci değeri kadar arttırıp yeni çizilecek olan pie için başlangıç konumunu belirliyoruz.

Ve son olarak karşımıza çıkan görüntü :

Böylelikle Graphics nesnesindeki değerlerin nasıl işimize yarayacağı biraz daha kafamızda oturmuş olur umarım…

Görüşmek Üzere.

M.Zeki OSMANCIK

C# _ Karar Yapıları _ If-Else & Switch 522 236 mezo

C# _ Karar Yapıları _ If-Else & Switch


Gerçek hayatta bizlerin bazı kararlar almak zorunda kaldığımız gibi programımızada karar alma yeteneğini kazandırabiliriz çıkabilecek tüm sonuçları değerlendirerek ilgili işlemi yapabilecek duruma gelebilir. Kısacası programımıza düşünme yeteneği kazandırabiliriz.

If – Else Karar Yapısı

If..Else deyimi bir Boolean ifadeyi degerlendirerek program denetimi belirtilen deyim gruplarına geçirir. Basit bir örnek olarak tatile çıkmak istiyorsunuz ve mevcut paranız 500 lira. Afirmasında  1 haftalık tatil 900 lira   ,Bfirmasında 850 lira ,Cfirmasında 450 lira ,Dfirmasındada 300 lira bu 4 firma arasında seçim yapmak gerekirse ilk iki firmayı eledik bile. C ve D firmaları arasındaki seçimimizede orada yapacağımız harcamaları göz önünde bulundurarak değerlendirecek olursak en uygun D firması olacağına karar veririz. İf yapılarıda bu şekilde çalışır. İf karar blogları aşağıda belirtilen formatta yazılır.

Bir çok program ve web sitesinde gördüğümüz kullanıcı adı ve şifrenin doğru olduğuna karar verdiğimiz basit bir program yazalım.

Swicth – Case

Mantık olarak “if else” koşul yapısına benzer. Kendisine gönderilen parametreyi değerlendirir ve ona göre ayrılan kod bloğunu çalıştırır. Yani eleme yaparak parametrenin sahip olduğu değeri ile eşitlenen kod bloğunu çalıştırır.

switch(değişken)

{

case kosul1:

//kodlar bu panele gelecek

break;

case kosul2:

//kodlar bu panele gelecek

break;

case kosuln:

//kodlar bu panele gelecek

break;

default:

//eğer hiç bir koşul desteklenmiyorsa bu koşul gerçekleşecek

break;

}

Bilgisayarımızın saatini kontrol ederek günün çeşitli zamanlarında bize karşılama mesajı çıkartan bir uygulama yazalım

Bilgiyle Kalın…
M.Zeki Osmancık

Visual Studio 2008 Genel Bir Bakış 500 339 mezo

Visual Studio 2008 Genel Bir Bakış


Merhaba Arkadaşlar.

Yazıya başlamadan önce sizleri bir terim ile alakalı bilgilendirmek istiyorum bu terim ; IDE  sakın harddisklerdeki bağlantı türü ile karıştırmayın 😉 IDE = Integrated Development Environment yani Entegrasyonlu Geliştirme Platformu programların gelişme aşamalarının gerçekleştiği platformlardır. Farklı diller için farklı IDE ler geliştirilmiştir.

Biz bu IDE ler içersinde en gelişmiş olanını kullanacağımız için bende bu gelişmiş IDE yi sizlere basitçe tanıtmak istedim. Kullanacağımız IDE :

Visual Studio

Teknolojisini basit cümlelerle anlatmak zor elbette ama özetlemek gerekirse çok gelimiş özelliklere ve yardımcı araçlara sahip bir IDE dir. Sadece tek bir dil için geliştirilmemiştir bir önceki yazımızda bahsettiğimiz  .Net uyumlu tüm programlama dillerinin desteklendiği ve aynı projelerde dahi çalıştırılabildiği bir ortamdır.  Program geliştirenlere kullanışlı ve kolay bir ortam sağlayarak uygulamaların daha işlevsel olması konusunda bizlere destek sağlar.

Peki ne var bu Visual Studio nun içersinde.

Visual Studio’yu genel görünüm olarak 4 bölümde inceleyebiliriz;

*Çalışma Sayfaları

*Araç Çubukları

*Menüler

*Pencereler

Visual Studio programımızı ilk açtığımızda bizi Başlangıç sayfası karşılıyor ve bizlere (eğer internete bağlıysak) MSDN den çeşitli gelişme ve haberleri sunuyor. Visual studio içersinde web sayfalarıda açabiliyorsunuz bu arada. Start Page başlangıç sayfamızın bulunduğu kısma daha sonra projelerimizi yazacağımız sayfalarda geliyor işte bu alana Çalışma Sayfaları diyoruz. Sekmeler halinde pencerelerle çalışabileceğimiz bu çalışma alanı hem form veya web sayfaları tasarımlarında hemde kod yazarken çokça kullanacağımız bir alan olacaktır.

İkinci olarak çoğu programda gelenek haline gelmiş olan Araç Çubuklarımız var. Bu araç çubukları menü komutları için görsel kısayollar sunarak işimizi kolaylaştırırlar. Benzer işlemler aynı araç çubuğu üzerinde gruplanarak kullanım dahada işlevsel hale gelir. Yada istersek biz bu araç çubukları üzerindeki görsel kısayolları değiştirerek kişiselleştirebiliriz de.

Üçüncü olarak hemen hemen her programda  görmeye ve kullanmaya aşina olduğumuz Menüler aslında tüm programlarda benzer niteliklerdedir. Çeşitli komut ve yardımcı pencerelere ulaşmamızda bize kolaylık  sağlarlar.

Menülerde bulunan temel başlıkları kısaca tanıyalım :

File: Adındanda anlaşılacağı gibi dosya işlemlerinin yapıldığı menüdür yeni proje yada varolan projelerin açılması gibi işlemleri bu menü seçeneği içersinde bulunan seçeneklerden yönetebiliriz.

Edit : Tüm yazı ile ilgili düzenleme işlemlerinin yer aldığı menüdür. Kopyala Kes Yapıştır Bul Değiştir gibi seçenekleri mevcuttur.

Project: Üzerinde çalıştığımız projenin özelliklerinin yönetilebileceği referans ve dosya ekleme çıkarma gibi işlemlerin var olduğu menüdür.

Built: Geliştirdiğimiz projelerin çalıştırılmak üzere içersinde bulunan komutların derlenmesi için gereken komutlara ulaşabildiğimiz menüdür.

Debug : Adındanda anlaşılacağı gibi Hata bulma ve ayıklama ile ilgili tüm seçeneklerin bulunduğu menüdür.

Tools : Visual Studio ile birlikte yüklenen yardımcı araçların bulunduğu menüdür. Ayrıca Visual Studio ile alakalı ayarların yapılabildiği Options seçeneğide bu menü  altında yer alır.

Ve Help menüsü sanırım bunun açıklamasına gerek yoktur. =)

Visual Studio içersindeki yolculuğumuza devam edelim çalışma sayfaları araç çubukları menüler derken son olarak belirttiğimiz Pencereler  seçeneğine geldik

Dördüncü ve son olarak bahsedeceğimiz Pencerelerden kasıt ise Visual studio içersinde uygulama geliştirme aşamasında sık sık kullanılabilecek olan birçok elemanı bir araya getiren yada durum belirten pencerelerdir.

Bu pencerelerden çok kullanılan bir kaçını tanımlamak gerekirse:

Properties: Projedeki tüm öğelerin özelliklerinin yer aldığı bir penceredir. İstenen değişiklikleri yine bu pencere üzerinden gerçekleştirmekde mümkündür.

ToolBox :Projelerde kullanılan çeşitli kontrollerin listelendiği penceredir. Buradaki öğeler sekmeler içersinde gruplanmıştır.

Solution Explorer : Projeler bir solution (çözüm) içersinde yer açılır. Bir çözüm içersine farklı dilde ve tipte projeler dahil edilebilir.Bu pencere solution yapısını gösterir ve ilgili işlemlerin yapılmasına olanak sağlar.

Uygulama geliştirirken en çok kullanacağımız pencereler olacaktır.

Visual Studio yu basitçe olsa tanımış olduk geliştirme ortamını etkin bir şekilde kullanmak önemlidir. Bu yüzden bu yazının klavuzluğunda  sizde biraz merak ile Visual Studio içersinde ne var ne yok karıştırarakda bulabilirsiniz.

Görüşmek Dileğiyle.

    Join our Newsletter

    We'll send you newsletters with news, tips & tricks. No spams here.