Bu yazıda C# Windows Form Application ile seçilen klasördeki tüm ‘jpeg’ uzantılı içerikleri ‘jpg’ uzantısı ile değiştiren ve klasörde kaç tane içeriğinin uzantısının değiştirildiğini gösteren bir program yapımını anlatacağım.
Öncelikle Visual Studio’da New-Project tıklıyoruz. Açılan ekranda Windows Classic Desktop’ta Windows Form App. ile proje açıyoruz.
Resim yükleniyor…
Açılan Form’da yukarıda gördüğünüz gibi bi label ekleyip textini ‘Dosya/Dizin İsmi’ şeklinde yazıp karşısına ise bir textbox ekliyoruz. Onun altına ise iki tane buton ekliyoruz ve textlerini button1’e ‘Dosyayı Seç’ button2’ye ise ‘Dönüştür’ olacak şekilde değiştiriyoruz. Alt kısma ise seçilen klasör içinde kaç adet içeriğin uzantısının değiştiğini gösteren label’ları ekliyoruz. Alta eklenen ilk label’a ‘Değiştirilen İçerik Sayısı : ‘ yazıp karşısındaki label’a ise başlangıç değeri olarak textine “0” yazıyoruz.
Resim yükleniyor…
Gelelim kod kısmına. öncelikle hangi klasörü seçeceğimizi belirlemek için ‘Dosya Seç’ butonunu çift tıklıyoruz ve otomatik olarak kod ekranı açılıyor.
1 2 3 4 5 6 |
private void button1_Click(object sender, EventArgs e) { FolderBrowserDialog fbd = new FolderBrowserDialog(); fbd.ShowDialog(); textBox1.Text = fbd.SelectedPath; } |
Yukarıdaki kod ile istediğimiz klasörü seçmek için önümüze bir pencere açılıyor. Daha sonra ise Form1’e gelerek ‘Dönüştür’ butonunu çift tıklıyoruz ve aşağıdaki kodları ekliyoruz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
private void button2_Click(object sender, EventArgs e) { try { if (textBox1.Text != "") { string[] DizinDosyalar = Directory.GetFiles(textBox1.Text); int icerik = 0; foreach (var item in DizinDosyalar) { if (Path.GetExtension(item).Equals(".jpeg")) { File.Move(item, Path.ChangeExtension(item, ".jpg")); icerik++; } } MessageBox.Show("İşlem başarılı"); lbl_iceriksayisi.Text = icerik.ToString(); } else { MessageBox.Show("Kutu boş bırakılamaz"); } } catch { } } |
Yukarıda if-else ile kutunun boş olup olmadığını kontrol ediyoruz. if içerisinde ise seçtiğimiz klasördeki içerikleri sıralayacak ‘DizinDosyalar’ adında bir string dizisi tanımladık. Ayrıca değiştirilen içeriği saymak için ise öncelikle int icerik=0; değişkeni tanımladık. Daha sonra foreach döngüsü yazıp dizin içindeki ögeleri kontrol ediyoruz. Uzantısı “.jpeg” olan itemleri seçen bir if daha tanımlıyoruz. Bu kısıta uyan icerikleri sayan icerik++; satırı ekliyoruz.
Textine “0” yazdığımız label’da değiştirilen içerik sayısını gösterecektik. Bunu;
1 |
lbl_iceriksayisi.Text = icerik.ToString(); |
ile yaptık MessageBox.Show satırının hemen altında.
Resim yükleniyor…
Ayrıntıları ile açıklamaya çalıştığım bu program ile dizinlerinizdeki içeriklerin uzantılarını kısa bir sürede kolayca değiştirebilirsiniz. Bug’sız günler dilerim:)
Teşşekürler Ali Hocam yararlı bilgi için