inicio mail me! sindicaci;ón

Archive for Şubat, 2010

C#’da Dizi Yapısı, Çok Boyutlu Dizileri Pratik Tanımlama Methodu

Merhabalar,

Bugünkü yazımda kısaca dizilerden bahsedeceğim ve çok boyutlu dizilerin C#’da  nasıl daha kolay tanımlanabileceğini açıklayacağım.

Diziler içerisinde birçok nesne veya değişken tutmanıza yardımcı olan bilgi yığınlarıdır. Eğer diziler olmasaydı yazacağınız programın büyüklüğüne göre sadece nesneleri tutmak için onlarca satır kod yazmanız gerekebilirdi. Örneğin,

[php]

int bolum1;

int bolum2;

int bolum5;

int bolum61;

[/php]

gibi uzayıp giden, yazarken de haliyle fazlasıyla sıkılacağımız bir kod yığınıyla karşılaşacaktık. Oysa dizileri kullanarak bu işlemi kolaylıkla gerçekleştirebiliyoruz.

[php] int[] bolum = int[61];  // 1 boyutlu 62 tane değer alabilen bir dizi [/php]

  • Diziler her zaman 0(sıfır)’dan başlamaktadır. Eğer 4 değer alabilen bir dizi tanımlamak istiyorsanız, ” int[] bolum = int[3] ” yazmanız gerekiyor.

Çok Boyutlu Dİziler (Multidimensional Arrays)

C#’da birden çok boyutlu dizileri tanımlama  C,C++ ve Java gibi dillerden biraz farklılık gösterir. Ancak bu fark işimizi kolaylaştırmamızı sağlamaktadır.

Pratik Yöntem

Eğer C#’da çok boyutlu bir dizi tanımlamak istiyorsanız, yazmanız gereken

[php]int[ , ] dizi2Boyut;

int[ , , ] dizi3Boyut;[/php]

10 Boyutlu bir dizi için,

[php]int[ , , , , , , , , , ] dizi10Boyut;[/php]

Kısaca, n boyutlu bir dizi tanımlamak istiyorsanız parentezin içine n-1 tane virgül koymanız yeterli olacaktır.

[php]int[ , ] dizi2Boyut = new int[5,5];
// 5 x 5 boyutlarında bir dizi, yukarıdaki resimde (sol alt kısımda) görebilirsiniz

int[ ,  , ] dizi3Boyut = new int[5,5,3];
// 5 x 5 x 3 boyutlarında bir dizi, yukarıdaki resimde(sağ tarafta) görebilirsiniz[/php]
Yazının Devamı

Ping Pong Oyunu (1. Aşama)

Merhabalar,

Ara tatilin sonlarına doğru yaklaşırken aklımı son zamanlarda sürekli meşgul eden hareketli  bir oyun yazma arzusundayım.  Bu amaç doğrultusunda öncelikle işin mantığını anlama açısından çok basit bir Ping Pong oyunu yazmaya karar verdim. Bu sayede  JAVA’ya verdiğim uzun soluklu araya da bir anlamda son vermiş olacaktım.  İnternette JAVA’da yazılan, özellikle de hareketli oyunları incelemekle işe başladım. İncelediğim örnekler çoğaldıkça ve işin işine “Threads” mantığının girdiğini görünce, geçtiğimiz dönem aldığım Operating Systems isimli dersi acı bir tebessümle hatırladım. Dersi veren hocama içimden tekrardan teşekkür(!) ederek, hemen “Threads” ile ilgili işime yarar bir makale aradım ve bulduğum bu makale fazlasıyla işimi gördü.

Daha sonra  incelediğim örnekler doğrultusunda oldukça basit ve sizin de işinize yarabileceğini düşündüğüm, kodlarda açıklamalar yaparak yazdığım Ping Pong oyununun ilk aşamasını tamamladım. İlk aşamada yalnızca topa vurup, skor yapabiliyorsunuz ve topu kaçırdığınızda da oyun sonlanıyor. Böylece oyunun iskeletini oluşturmuş olduk. Yakın zaman içerisinde yeni özellikler ekleyerek oyunu biraz daha geliştirip sonlandıracağım.

  • İlk aşama kodlarını indirmek için buraya tıklayınız.
  • Oyunu oynamak için buraya tıklayınız.
http://www.javaworld.com/javaworld/jw-04-1996/jw-04-threads.html?page=1

Zaman Ayarlı Oturum Sonlandırıcı – Bilgisayar Dinlendirici v1.0.0

Merhabalar,

Uyku sorunu yaşayan biri olarak, bilgisayarda kısmen amaçsızca birşeyler izleyerek(izlediğimi zannederek) uyumayı adet edinmiş biri olarak onun sabaha kadar açık kalmamasına da genellikle özen göstermeye çalışırım. Zira gün içinde teknolojiden uzaklaşamadığımız için uykumuzda birkaç saat de olsa vücudumuzu manyetik alandan kısmen de olsa uzaklaştırmak şart. Bu anlamda Windows 7′yi kullanmaya başlamadan önce bilgisayarımı zaman ayarlı ufak bir programla kapatabiliyordum ancak Windows7′ye geçince bu kullandığım program zaman zaman oturumu sonlandırmayı başaramıyordu ve sabah kalktığımda hata pencereleriyle dolu bir bilgisayarla karşılaşıyordum. Alternatif yeni bir program aramak yerine, nasıl olsa bilgisayar mühendisi olacağız(İnşallah) şu ufak programı da kendimiz yazıp kullanalım diyerekten işe koyuldum. Bir Timer, birkaç button, textbox ve checkbox işimi fazlasıyla gördü…

Kurulum dosyasını indir

Kaynak kodları indir

C# ve XML Kullanarak Yazdığım Basit Sözlük

Merhabalar,

Okumak elbette çok önemli bir alışkanlık, ancak özellikle programcılar için bir uygulama ortaya koymak okunan bilgilerin kalıcı olması adına birçok programcı gibi benim için de daha önemli bir role sahip. Bu anlamda bildiğini zannetmek başka şey, bilmek başka şey…

XML’e yeni yeni çalışmaya başladığım şu günlerde ben de bu fikirden yola çıkarak ufak bir uygulama yazmak istedim. Böylece veri kaynağı XML olan bir sözlük yazarak okuduklarımı pekiştirmeye çalıştım. Visual Studio 2008 kullanarak uyguladığım projeyi konunun en alt kısmına eklediğim bağlantıdan indirebilirsiniz. Kodların bir kısmında LINQ to XML yöntemini, bazı kısımlarında ise XPath yöntemini kullandım. Açıkcası böyle birşeye gerek yoktu elbette ancak söylediğim gibi okuduklarımı pekiştirmek adına bu ufak uygulamaya elimden geldiğince bilgi sığdırmaya çalıştım. Kodların tamamını ne yazık ki şu sıralar açıklayacak vaktim yok ancak eğer kodları anlamada sorun yaşayan arkadaşlar olursa bu konu üzerinden yardımcı olmaya çalışacağım. Sözlük, yeni kelime ekleme, kelimeyi düzenleme veya kelime silme gibi bir takım temel özellikleri içinde barındırıyor. Geliştirmek ise size kalmış…

Kaynak kodları indir