Halid Altuner

Bir Geliştiricinin Güncesi

Archive for the ‘.NET’ Category

C# ile Disk Bilgisi, Boş Alan, Toplam Alan vs. Görüntülemek

leave a comment

1259190816_kcmdevicesZaman zaman C# ile geliştirdiğim ufak tefek yazılımlarda disk ile ilgili işlemlere gereksinim duyuyorum. Özellikle disk ile ilgili FileType, VolumeLabel, TotalSize, AvailableFreeSpace vs. değerlerin alınabilmesi için gerekli olan birkaç yöntem var.

Msdn üzerindeki aramalarımda System.IO kullanılarak DriveInfo adlı sınıf yardımıyla kullanılan bir yöntemi buldum.

Namespace öncesinde;

[code lang="csharp"]
using System;
using System.IO;
[/code]

satırlarının eklenmesi gerekiyor.

Daha sonra diskleri listelemek için DriveInfo sınıfı içerisinde yeni bir nesne oluşturup sürücüleri GetDrives isteğiyle çağırıyoruz.

[code lang="csharp"]DriveInfo[] allDrives = DriveInfo.GetDrives();[/code]

Bu işlem sayesinde sistem üzerinde tanımlı tüm diskleri retrieve ediyoruz.Diskleri listelemek ve disklere ait bilgileri ayrı ayrı olarak sınıflandırmak için foreach kullanabiliriz.

[code lang="csharp"]foreach (DriveInfo d in allDrives)
{
// Yazdırma işlemleri
ConsoleWriteLine(d.Name); // sürücü harf bilgisi
ConsoleWriteLine(d.DriveType); // sürücü tipi ( fixed, removable, network based vs.)
ConsoleWriteLine(d.VolumeLabel); // sürücü etiket bilgisi
ConsoleWriteLine(d.DriveFormat); // sürücü disk yapısı ( fat32, ntfs vs.)
ConsoleWriteLine(d.AvailableFreeSpace); // sürücü için kullanılabilir alan (byte cinsinden)
ConsoleWriteLine(d.TotalSize); // sürücü için toplam alan bilgisi (byte cinsinden)
}
[/code]

Bu yöntemi uygularken bir ayrıntıya dikkat etmek gerekiyor :) Kodu çalıştırdığınız bilgisayarda eğer “Removable” tipte diskler var ise, ve kodunuzu “try” ile kullanmıyorsanız debug edilmeyecektir.

Removable tipte disk yapısında Label, AvailableFreeSpace, TotalSize vs. gibi bilgileri alamadığı için hata üretmesi de gayet normaldir. :)

Eğer amacınız sadece Fixed tipte ( yani yazılabilir ve sabit disk ) disklerleri sorgulamak ise,

[code lang="csharp"]if(DriveType == DriveType.Fixed)[/code]

kontrolünü yaptırmanız gerekiyor. Bu durumda sistem üzerinde Fixed tipteki diskleri listeleyerek diğerlerini exclude etmiş olacağız.

Written by Halid Said ALTUNER

Kasım 26th, 2009 at 2:51 am

Paint.NET

2 comments

Adobe Photoshop’u yavaş bulanlar veya resim işleme ve düzenleme için böylesine büyük ve pahalı bir programa ihtiyaç duymayanlar için Paint.NET oldukça büyük bir başarıya sahip. Çünkü bir çok özelliği içinde barındırıyor ve tamamen ücretsiz.

Kurulumu sadece 4.5 mb olan Paint.NET ilk olarak Microsoft tarafından MS Paint’in yerini alabilmesi için bir alt proje olarak başlamış ve tamamen C# üzerinde yazılmış. İlk etapta basit bir yazılım olarak düşünülmüşse de, gelişmiş katman (layer) özellikleri, özel efektleri ve güçlü araçlarla ev kullanıcıları ve webtasarımcıları için Photoshop’u aratmayacak bir program haline gelmiş.

Read the rest of this entry »

Written by Halid Said ALTUNER

Nisan 27th, 2007 at 3:34 pm

Posted in .NET, Grafik & Tasarım

Tagged with ,