• Yazılım ile ilgilenmeye başladığımdan beri her zaman ilk örneklerde “Hello World” yazıldığını gördüm. Ben de bu geleneği devam ettirerek bir giriş yapacağım. Ama öncesinde ASP.NET MVC mimarisini basit bir örnekle açıklamak istiyorum.

    Hatırlarsınız belki öncelerde (şimdilerde de var tabi) dükkanlarda diafonlar olurdu ve çay ocağından çay söylenirdi. Şimdilerde bizim köyde bile çaylar MSN üzerinden isteniyor :) “-Salih abii! İki çay çeek!” :) Ocak başındaki Salih abim de raftan bardak alır, önce dem sonra suyunu doldurur iki şekerle tabağına koyar ve çaycı çırağına verip yollardı. Çaycı çırağı da “-Çaylaaaar!” diyerek getirdiği çayları bize sunardı.

    Şimdi bunu MVC ile modelleyelim: Biz http ile bir istekte bulunuruz (“-Salih abiii! İki çay çeek!”) sonra Controllers (Çay ocağı) içinden Routing Table (Salih abi) sayesinde uygun sınıf seçilerek View (Bir bardak çay) için ActionResult oluşturulur. Burada seçilen Controller sınıfında View’de sunulacak şeyler için uygun metodlar çalıştırılarak (Bardak seç, dem ve su doldur, şeker ekle, …) View hazırlanır.

    Devamını oku…

    • Twitter
    • Google Buzz
    • FriendFeed
    • Delicious
    • Paylaş

    Etiketler: , ,
    Yazar: Tayfun Taşkın @ 16:33

  • C# 2005′te bildiğim kadarıyla DataGrid’in Print diye bir fonksiyonu yoktu. Eğer 2008 ile geldiyse bu eziyetten kurtulmuş olacağız. Ben DataGrid yazdırmaya ihtiyaç duyduğumda www.codeproject.com ‘dan bulduğum bir sınıfı kullanmıştım. Size ekte verdiğim proje oradan indirilmiştir

    Programda DataGrid’i yazdırmak için ilk önce sütun sayısı bulunuyor. Sayfaya sığdırma seçilip seçilmediğine göre her sütun için genişlik ayarlanıyor. Daha sonra her satır için hücrelerin tek tek çerçeveleri çiziliyor. Çerçeveler çizildikten sonra da içindeki veriler yazdırılıyor. Verilerin yazdırılmasında önemli nokta ise içinde Button, PictureBox, TextBox, … gibi kontroller için ayrı ayrı yazdırma işlemi yapılıyor.

    Her satır yazdırılma işleminden sonra ise sayfanın sonuna gelinip gelinmediği kontrol ediliyor, eğer öyleyse diğer sayfaya yazdırılıyor.

    İşlemler bu şekilde, eğer program hakkında sorunuz olursa bana sorabilirsiniz.

    Kaynak kodları buradan indirebilirsiniz.

    • Twitter
    • Google Buzz
    • FriendFeed
    • Delicious
    • Paylaş

    Etiketler: , ,
    Yazar: Tayfun Taşkın @ 13:08

  • Daha önce geliştirdiğim bir projede Java ile seri port (Serial Port) üzerinden haberleşme yapmıştım. Bu projede ADASU Genel Müdürlüğü için, PDKS(Personel Devam Kontrol Sistemi)  cihazlarıyla seri port üzerinden bağlantı kurarak personel giriş çıkışlarını kontrol eden bir sistem tasarlamıştım. Projede en çok zorlandığım kısım seri port’u kapatmak olmuştu (serialPort.Close) Çünkü öyle bir şey ki, port açılıyor ve programı sonlandırmadan kapatılamıyordu. Java ile yazılım geliştirenler bilir; "en büyük sorun, hata vermeyen hatalardır." :) Şimdi size açtığınız seri portu nasıl kapatacağınız hakkında bilgi vereyim. (How to close Serial Port)

    Devamını oku…

    • Twitter
    • Google Buzz
    • FriendFeed
    • Delicious
    • Paylaş

    Etiketler: ,
    Yazar: Tayfun Taşkın @ 13:06

  • Bu yazımda sizlere SQL hakkında bazı ipuçları vereceğim. SQL gerçekten mükemmel bir dil. Normal bir programlama diliyle yapabildiğimiz her şeyi SQL ile yapabiliyoruz. Veritabanından çektiğimiz verilerin mutlak değerini almak, karekökünü almak, Convert işlemi uygulamak ve bunun gibi birçok işlemi SQL ile yapabiliyoruz.
    Bu konu için aslında çoğu programcının başına gelen bir problemden bahsedeyim. Bu problem, SQL Server ile Visual C#.NET’in farklı tarih formatları kullanması ile oluşan bir problemdir. (Bazılarınızın gülümsediğini hissediyorum :) ) Bu problem .NET’in tarih formatının "dd.MM.yyyy" olması, SQL Server’in tarih formatının ise "MM.dd.yyyy" olması ile ortaya çıkar. Bunu çözmek için önceden (aslında şimdi de) C#’da

    Devamını oku…

    • Twitter
    • Google Buzz
    • FriendFeed
    • Delicious
    • Paylaş

    Etiketler: , ,
    Yazar: Tayfun Taşkın @ 13:21

  • Bu yazımda System.IO isim alanı altında bulunan StreamReader ve StreamWriter sınıflarıyla herhangi bir text dosyasından okuma ve dosyaya yazma konularına değineceğim. Programımız bir Windows uygulaması olacak.

    Dosyaya Yazma
    İlk olarak programımıza System.IO kütüphanesini ekleyelim. Daha sonra formumuza 3 adet TextBox ekleyelim ve Name özelliklerini sırasıyla txtAd, txtSoyad, txtNo olarak belirleyelim. Ek olarak 1 adet Button ekleyelim ve Name özelliğini btnYaz olarak belirleyelim.
    Form üzerine çit tıkladıktan sonra kod tarafında yol isimli string türünde bir genel değişken tanımlayalım ve aşağıdaki değeri verelim.

    string yol = @"C:Kayıt.txt";
    

    Bu yolla C sürücüsünde Kayıt.txt isimli bir metin belgesi oluşturacağız. Daha sonra yine genel değişken olarak StreamWriter tipinde yaz isimli bir değişken tanımlayalım. Bu değişkeni, bizim dosyamıza yazma işlemini gerçekleştirebilmek için tanımladık.

    StreamWriter yaz;
    

    Formu çift tıkladığımızda oluşan Form1_Load olayı içine aşağıdaki satırı yazalım.

    yaz = new StreamWriter(yol, true);
    

    Burada daha önce tanımladığımız yaz ismindeki değişkenden StreamWriter tipinde bir nesne oluşturuyoruz. Bu nesnedeki yol değeriyle C sürücüsünde Kayıt.txt isimli bir metin belgesi oluşuyor. true değeri ise bu metin belgesine veri ekleme işleminin olabileceğini belirtiyor. Yani içinde bir veri varsa onun sonraki satırından itibaren girdiğimiz veriyi ekliyor. Eğer false değeri girersek metin belgesinin içeriğini temizler ve yerine bizim girdiğimiz yeni verileri yazar.
    Forma dönüp butonun üzerine çift tıklayarak btnYaz_Click olayını oluşturalım. Bu olay yordamının içine aşağıdaki satırları girelim.

    string veri = txtAd + " " + txtSoyad + " " + txtNo;
    yaz.WriteLine(veri);
    yaz.Flush();
    

    Bu satırlarda veri isimli değişkene TextBox’ lardaki veriler aralarında birer boşluk bırakılarak giriliyor. Daha sonraki satırda ise veri isimli değişkenin değeri metin belgesine aktarılmak üzere belleğe yazılıyor. Son satırda ise veri metin belgesine aktarılıyor. Son satır olmazsa veri bellekten bir süre sonra silinir ve belgeye yazılmaz.
    Programın tam kodu aşağıdaki gibidir.

    Devamını oku…

    • Twitter
    • Google Buzz
    • FriendFeed
    • Delicious
    • Paylaş

    Etiketler: ,
    Yazar: Tayfun Taşkın @ 13:25

  • Bu yazımda günümüzde çok kullanılan XML dökümanlarını kodla oluşturmaya değineceğim.

    Bir XML dökümanı hazırlamak için C# dilinde XmlTextWriter sınıfını kullanabiliriz. Bu sınıf yardımıyla XML olarak biçimlendirmek istediğimiz verileri istersek elle, istersek bir kaynaktan alarak kullanabiliriz. Ben bu yazımda verileri bir veri tabanından alarak XML formatına dönüştürmeyi tercih ettim. Kodlarımı konsol uygulaması şeklinde yaptım. Dilerseniz bir Windows uygulaması açıp sadece bir buton atıp, o butonun Buton_Click olayına bu kodları kopyala yapıştır yapabilirsiniz. Ve burada oluşturulacak dosyaların adresleri, aksi belirtilmedikçe program klasörünün kök dizini olarak belirlenmiştir. Neyse fazla uzatmadan konuya geçelim.

    Programda kullanmak için ilk önce aşağıdaki gibi “Dünyadan” isimli bir veri tabanını ve bu veri tabanında “Ülkeler” isimli bir tabloyu oluşturup verileri girelim.

    Burada Access veritabanı kullandım. SQL veritabanı kullanıldığında da çok fazla değişen bir şey olmayacaktır.

    Kodları yazmaya başlamadan önce, ilk olarak programımıza

    using System.Xml;
    using System.Data;
    using System.Data.OleDb;
    

    kütüphanelerini ekleyelim. Bu kütüphaneler veri tabanından veri çekmek ve XML dökümanını oluşturmak için gereklidir aksi halde programımız derlenmez.

    Devamını oku…

    • Twitter
    • Google Buzz
    • FriendFeed
    • Delicious
    • Paylaş

    Etiketler: ,
    Yazar: Tayfun Taşkın @ 13:28

Ara


Sponsor



Diğer