Monthly Archives: Kasım 2008

Setup dosyası yapma!

Arkadaşlar, yaptığımız bir projenin setup dosyasını (.msi ve .exe) nasıl oluşturacağız? Bu makalede bu soruya cevap vereceğiz.

Piyasa birçok installer mevcut fakat biz bu makalede Visual Studio’nun kendi Setup Projesini kullanacağız. Başka bir makalede diğer installer’larıda inceleyeceğiz. Visual Studio’da setup dosyası oluşturmak için öncelikle Visual studio’dan Projenin ‘solution’ kısmına sağ tıklayıp ‘Add->New Project”e tıklıyoruz. Açılan pencerede Other Project Types->Setup and Deployment kısmından ‘Setup Project’i seçiyoruz. Aşağıdaki gibi bir pencere elde etmemiz lazım.
Şimdi açılan bu penceredeki özellikleri biraz tanıyalım.
Application Folder: Programın kurulan dizininde olması gereken dosyaları buraya ekliyoruz. Eğer uygulamanızda dll kullanıyorsanız, veritabanı işlemi yaptıysanız yani yazılımızda exe’nin yanında olmasını istediğiniz bir dosya varsa buraya eklemelisiniz aksi halde program açıldığı anda çöker. Programın exe’side bu bölümde olmak zorunda. Eklemek için sağ taraftaki kısıma sağ tıklayıp ‘Add->File’ deyip ardından programınızın exe’sini seçin. Eğer bir dll kullanıyorsanız otomatik olarak eklenecektir.
User’s Desktop: Bu klasör’e, masaüstünde programınızın kısayol’unu gözükmesini istiyorsanız koyabilirsiniz. Bunu yapmak için sağ taraftaki bölüme gelip sağ tıklayın ve ‘Create New Shortcut”a tıklayın ardından açılan pencereden ‘Application Folder’ da bulunan exe’yi seçin ve masaüstünde programınızın isminin nasıl gözükmesini istiyorsanız yazın.
User’s Programs Menu: Başlat menüsünde programınızın kısayolunu koymak için bu klasör’e de bir exe koymalısınız.
Setup dosyasının özelliklerini biraz inceleyelim şimdide. Setup projenizin özelliklerini aşağıdaki pencereden isteğinize göre değiştirebilirsiniz.
AddRemoveProgramsIcon: ‘Program Ekle veya Kaldır’ kısmında programızın yaptığınız bir icon ile gözükmesini istiyorsanız buraya bir icon ekleyebilirsiniz.
Author: Buraya kendi isminizi yazın :).
DetectNewerInstalledVersion: Kullanıcılarınız’ın, programınızın hem eski hem de yeni versiyonunu aynı anda kullanmasını istiyorsanız ‘false’ yapın.
Manufacturer: Programızın yapımcı’sının ismini buraya yazınız. Buraya yazdığınız isim aynı zaman’da Program Files klasörünün altında oluşturulacak klasör’ün de ismi.
ProductName: Programınızın ismini buraya yazın.
RemovePreviousVersiyon: Yeni versiyon çıkardığınız da, eskilerinin silinmesini isterseniz bu kısmı ‘true’ yapabilirsiniz.
Properties kısmını da inceledikten sonra ufak bir kaç detay verelim. Setup Projeniz’i bu haliyle derlerseniz Debug klasörünün altında iki tane (.msi ve .exe) dosyası bulacaksınız. Bu dosyalar framework kontrol’ü yapmazlar. Bildiğiniz gibi Visual Studio ile yazdığınız programlar’ı çalıştırmanız için, programı çalıştıran makinada framework olmak zorunda. Şimdi aşağıdaki adımları takip ederek setup dosyanızın framework kontrol’u yapmasını eğer kullanıcı da framework yoksa kurulmasını sağlayalım;
Setup Projesine sağ tıklayıp ‘Properties’ tıklayınız. Açılan pencerede ‘Prerequisite’ butonuna basın. Aşağıdaki gibi bir pencere karşınıza çıkmış olması lazım.

Resimde de gördüğünüz gibi burada, programımızda yüklü olmasını istediğimiz programların bir listesi çıktı. Biz buradan hangi framework versiyonunu kullanıyorsak onu seçmeliyiz. Derlediğimiz zaman setup projesinin yanına framework’unde eklendiğini göreceksiniz. Resimde dikkat çekmek istediğim bir diğer nokta, bu framework yoksa nereden sorgulatacağımız? Bunun için üç tane seçeneğimiz var;
1-)Web sitesinden. (Birinci seçenek)
2-)Setup dosyasının exe’sinin yanından. (İkinci seçenek)
3-)Belirlediğimiz bir dosya yolunda. (Üçüncü seçenek)

Buradan hangisi sizin için uygunsa seçebilirsiniz. Setup projemizi derleyip .msi ve .exe uzantılı dosyaları kullanıcılarımıza verip kullanabilirler.

Başka bir makalede görüşmek üzere.

Komut satırı argüman alan program nasıl debug edilir!

Arkadaşlar komut satırından argüman alan, dos ortamında çalışan bir programınız var ve sizin debug etmeniz gerekiyor. Malum diğer programlar gibi debug işlemini yapamıyoruz. Dos ekranında bir veri girmemiz lazım, debug işlemine başlayınca da direk Main fonksiyonundan başlıyor. Bu durum da ne yapacağız?

Tabi ki Visual Studio’nun nimetlerinden yararlanacağız :),

Project->Properties->Configuration Properties->Debugging->Command Argument

buraya komut satırı argümanımızı yazıp debug işlemini başlattığımız zaman, komut satırından girdiğimiz komut’la debug işlemine devam edebiliriz.

Başka bir makalede görüşmek üzere….

C#’da hex2string ve string2hex işlemleri!

C’den C#’a geçerken en çok ihtiyacım olan birşeydi bu converterlar. Çalışmalarımda sürekli hex bir sayıyı (0xFC) string’e (“FC”) çevirme ihtiyacı duyuyordum. C#’ın geniş kütüphanesi sayesinde, bu problem tek satırla çözülebiliyor.

Diyelimki elinizde hex bir sayi var.
byte temp = 0xFC; gibi.


Bunu string’e çevirmek için yapmamız gereken tek şey;
string tempS = temp.ToString(“X2”); //—>>> tempS = “FC”; oldu.

.ToString(“X2”); buradaki X string’e çevirilecek sayının hexadecimal olduğunu belirtiyor. Bu “X2” yazmasaydık tempS’de 0xFC’nin decimal karşılığı olan “252” olacaktı.

“X2” buradaki 2’nin anlamı eğer sayımız 0x8 ise string’e çevrilirken bu sayının başına sıfır koyuluyor. Yani;
string tempS = 0x8.ToString(“X2”); //—>>> tempS = “08”; oldu.
hex2string işlemi bu kadar.

Şimdide tam tersi olan string2hex işlemini gerçekleştirelim. Bu da C#’da veri türlerinin Parse fonksiyonları ile çok kolaylıkla yapılabilmektedir.

Şöyle ki;
uint temp = uint.Parse(“08FC3E”, System.Globalization.NumberStyles.HexNumber); //—>>> temp = 0x08fc3e oldu.

Görüldüğü gibi burada da string bir veriyi hex sayıya çevirebildik. Yine aynı şekilde Parse fonksiyonunun 2. parametresi NumberStyles.HexNumber’ NumberStyles property’sinden HexNumber seçilmelidir. Aksi halde string içinde “FC” gibi bir parametre gelirse Exception oluşur.

Başka bir makalede görüşmek üzere….

Oldu galiba!

Sonunda bir blog sahibi oldum galiba. Bu blog’da C,C# programlama dilleri üzerine kod parçacıkları, makaleler, örnek programlar vb. bulabilirsiniz. Ayrıca yazılım dünyasındaki gelişmeler, yazılım araçlarının tanıtılması bunların dışında sinema (iyi bir film izleyicisi olduğumu düşünüyorum) ve DVD film’ler hakkında yazılar da bulmanız mümkün. Bu ilk yazım en kısa sürede yeni bir makale ile görüşmek üzere….

 Scroll to top