Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 1. Bölüm C# Programlamaya Giriş
C Programlama Dr. Serkan DİŞLİTAŞ 1.1. C# ile Program Geliştirme.Net Framework, Microsoft firması tarafından açık internet protokolleri ve standartları üzerine işletim sistemi ve donanım seviyesinden daha üst seviyede taşınabilir olarak tasarlanmış bir uygulama geliştirme platformudur. Windows Uygulamaları ve Windows İşletim sistemleri arasında bir katman olarak görev yapan.net Framework, işletim sistemi ve donanımdan bağımsız olarak uygulamanın çalışmasını ve taşınabilirliğini sağlamaktadır. Microsoft.Net Framework Software Development Kit (SDK), yazılım geliştiricilerin.net Framework uygulamalarını yazmak, derlemek, test etmek ve dağıtmak amacıyla ihtiyaç duyduğu araçlar, dokümantasyon ve örnekleri içermektedir..net platformunun öğesi olan C# programlama dili, Microsoft tarafından C, C++, Java ve Visual Basic dillerinin bir türevi olarak geliştirilmiş en güncel ve popüler nesne tabanlı yapısal programlama dilidir (Şekil 4.1). Şekil 1.1..Net Framework bileşenleri 2
1. Bölüm: C# Programlamaya Giriş C++, Pascal vb. geleneksel programlama dillerinde, yazılan programın kaynak kodları derlenerek makine diline çevrilir, işletim sistemi ile doğrudan bağlantı kurularak çalıştırılır..net Framework platformunda ise yazılan programın kaynak kodları, öncelikle MSIL (Microsoft Intermediate Language) yapısına çevrilmektedir. MSIL kodları işlemci tarafından tanınmaz ve doğrudan çalıştırılamaz (Şekil 1.2.). CLR (Common Language Runtime) yapısı ile MSIL kodları, işletim sisteminden bağımsız olarak.net Framework olan bütün bilgisayarlarda çalışır duruma getirilmektedir. CLR,.NET altyapısında programların çalışmasını kontrol eden ve işletim sistemi ile program arasında yer alan arabirimdir..net Temel Sınıf Kütüphanesi Source Code DLL / COM Diğer Programlama Bileşenleri MSIL Microsoft Intermediate Language CLR Common Language Runtime EXE Executable Machine Code Şekil 1.2. C# programlarının derlenmesi C# programlama dilini de kapsayan Microsoft Visual Studio IDE kullanılarak sadece Microsoft Windows tarafından desteklenen yerel kodlar ile Konsol, Windows Form, Mobil, Web, Web Servis vb. uygulamalar geliştirilebilmektedir Visual Studio sürümleri ( https://visualstudio.microsoft.com/tr ); - Enterprise (En kapsamlı sürüm) - Professional - Community (Ücretsiz sürüm, bazı özellikleri kısıtlı) 3
C Programlama Dr. Serkan DİŞLİTAŞ 1.2. C# Program Yapısı C# programının temel yapısı Şekil 1.3 te görülmektedir. Şekil 1.3. C# program yapısı Bir C# programı; temel olarak namespace, class, method yapılarından oluşmaktadır. 4
1. Bölüm: C# Programlamaya Giriş Method (Metot) Geleneksel programlama dillerindeki altprogram ve fonksiyonlar,.net Framework platformunda metot olarak adlandırılmaktadır. C tabanlı dillerde ana metot main () metodu olup, diğer tanımlanan metotlar bu ana metot içerisinden çağrılarak kullanılır. Class (Sınıf) Veri ve Metotların bir araya gelmesiyle oluşan yapılardır. Namespace (İsim Uzayı) Sınıf kütüphaneleridir. C# dilinde using anahtar kelimesi ile programa namespace - sınıf kütüphaneleri eklenebilmektedir. C# ile program geliştirmede dikkat edilecek kurallar: C# dilinde Küçük-Büyük Harf Duyarlılığı vardır. C# ta tüm deyim ve ifadeler noktalı virgül (;) karakteri ile sonlanmalıdır. C# ta program icrası, main( ) metotu ile başlar. C# ta program dosya adı, sınıf adından farklı olabilir. Program içerisinde girintilere dikkat edilmesi, programlamayı kolaylaştırır. Program içerisinde derleyici tarafından dikkate alınmayan, tek satırlık (//. ) ve çok satırlı (/*.. */) açıklama satırı verilebilir. // Bu satır açıklama satırıdır. /* */ Açıklama Satırı Açıklama Satırı Açıklama Satırı Açıklama Satırları, program içerisinde derleyici tarafından dikkate alınmayan, programın anlaşılırlığını artıran tek satır veya bloklar halindeki yazılardır. Anahtar Kelimeler (Keywords), derleyici tarafından önceden belli bir işlevi yerine getirmek için tanımlanmış kelimelerdir. Anahtar Kelimeler, isimlendirme işlemlerinde olduğu gibi kullanılamazlar. Programlama deyimi, normal yazım dilindeki bir cümle gibi, bir programdaki en küçük bağımsız birimidir. Çoğu programlama dilinde olduğu gibi C# dilinde de program deyimleri noktalı virgül (;) karakteri ile sonlandırılır. Blok, { } parantezleri kullanılarak deyimlerin bir grup içerisine alınmasıdır. Blok içerisindeki tüm deyimler, bir birim olarak adımlanır. Blok sonunda noktalı virgül (;) karakteri kullanılmasına gerek yoktur. 5
C Programlama Dr. Serkan DİŞLİTAŞ 1.3. Visual Studio C# IDE.NET Framework ile kombine edilmiş C# IDE ortamında; Windows Uygulamaları Web Servisleri Veritabanı Araçları Bileşenler Kontroller vb. birçok proje geliştirilebilmektedir. 1. Menü Çubuğu (Menu Bar) 2. Standart Araç Çubuğu (Standard Toolbar) 3. Araç Kutusu (ToolBox) 4. Form Tasarımcısı (Forms Designer) 5. Hata Listesi (Output Window-Error List), 6. Çözüm Gezgini (Solution Explorer) 7. Özellikler ve Olaylar (Properties / Events) 6
1. Bölüm: C# Programlamaya Giriş Çözüm Gezgini (Solution Explorer) Çözüm Gezgini (Solution Explorer), çözüm ve çözüme bağlı projelerdeki kontrol, sınıf, metot vb. bileşenleri görüntülemek amacıyla kullanılan Visual Studio aracıdır. Solution, projeleri gruplandırarak bir çatı altında toplamak amacıyla kullanılır. Bir Solution içerisinde, bir veya daha fazla proje olabilir. Solution ile ilgili kodlar *.sln uzantılı dosyalarda tutulmaktadır. Dosya Adı App.config Form1.cs Form1.Designer.resx Form1.resx Program.cs Açıklama Uygulama ile ilgili genel tanımlama ve bilgileri içerir. Windows Form Uygulaması Kod sayfasıdır. (Her form için ayrı bir kod sayfası mevcut olabilir.) Form tasarımında kullanılan nesnelerin görsel özellikleri ile ilgili kodların yer aldığı dosyadır. C# tarafından otomatik olarak oluşturulur. Form tasarımında kullanılan yazı, resim vb. medya öğelerini içeren resource-kaynak dosyadır. Proje ortam ayarlarını içeren dosyadır. (Örneğin birden çok forma sahip Projelerde, başlangıç formu bu dosya içerisinde belirlenir.) 7
C Programlama Dr. Serkan DİŞLİTAŞ Özellikler Penceresi (Properties & Events) Seçili olan nesnenin özelliklerini ve olaylarını görüntüleyip düzenlemek amacıyla kullanılan Visual Studio aracıdır. Özellikler Penceresi Olay Penceresi Simge Simge Adı Özellikler (Properties) Olaylar (Events) Kategorik Sıralama Alfabetik Sıralama Açıklama Seçili nesneye ait özellikleri listeler. Seçili nesneye ait olayları listeler. Özellik ve olayların kategorilere ayrılarak listelenmesini sağlar Özellik ve olayların alfabetik olarak sıralı listelenmesini sağlar 8
1. Bölüm: C# Programlamaya Giriş Windows Form Uygulaması Solution ve Proje Dosyaları Visual Studio ile bir Windows Form Uygulaması oluşturulduğunda çeşitli klasör ve dosyalar otomatik olarak oluşmaktadır. Proje Çözüm (Solution) dosyası ve klasörü Proje Dosyaları Projenin başarılı bir şekilde Built edilmesi sonrasında oluşan *.exe ve *.dll uzantılı dosyalar 9
C Programlama Dr. Serkan DİŞLİTAŞ 1.4. C# Windows Forms Uygulaması Geliştirme Visual Studio IDE kullanarak, C# Windows Forms Uygulaması geliştirmek için aşağıdaki adımlar takip edilmelidir. 1. Adım: Visual Studio IDE nin ilgili sürümü çalıştırılır. 2. Adım: Dosya Yeni Proje seçenekleri ile yeni bir proje başlatılır. 10
1. Bölüm: C# Programlamaya Giriş 3. Adım: Visual C# Windows Forms Uygulaması (.NET Framework) seçimleri yapılır. 4. Adım: Proje adı verilerek Tamam denilir. Yapılan bu işlemler sonucunda Visual Studio IDE, C# Windows Forms Uygulaması geliştirmek için hazır hale getirilmiş olur. 11
C Programlama Dr. Serkan DİŞLİTAŞ Çözüm Gezgini penceresinde Form1 üzerinde sağ klik yapılarak elde edilen menüden proje formu ve kaynak kodları görüntülenebilmektedir. C# program geliştirme işlemlerinde yapılan değişikler için Kaydetme işlemi yapılmalıdır. Simge Kısayol Adı Ctrl + S Ctrl + Shift + S Program Kaydetme Seçenekleri Açıklama Aktif Form dosyaları kaydedilir. Tüm Dosyalar Kaydedilir. 12
1. Bölüm: C# Programlamaya Giriş 1.5. İlk Program C# dilinde yazılmış örnek bir Windows Forms Uygulaması için Form ve Kaynak kodlar Şekil 1.4 te görülmektedir. Yazılan programın built edilmesi ve çalıştırılması için araç çubuğundan Başlat butonu, menüden Hata Ayıkla Hata Ayıklamayı Başlat veya F5 fonksiyon tuşu kullanılır. Şekil 1.4. C# dilinde yazılmış Windows Forms Uygulaması 13
C Programlama Dr. Serkan DİŞLİTAŞ Yazılan bir programın built edilmesi durumunda, eğer hatalar varsa Şekil 1.5 te olduğu gibi program çalıştırılmaz ve hata listesi verilir. Hatalar giderilmedikçe program çalıştırılamaz. Hatalı Kodlama ve Hata Listesi Dikkat: Programın başarılı bir şekilde Built edilen en son halini çalıştırmak için Evet denir. Düzeltilmiş Program Konsol Ekran Görüntüsü Şekil 1.5. C# dilinde yazılmış örnek bir programda Built Hataları 14