Bilgisayara Giriş Güz Bahar Öğretim Yılı Ders Notları

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "Bilgisayara Giriş 20092010 Güz Bahar Öğretim Yılı Ders Notları"

Transkript

1 Bilgisayara Giriş Güz Bahar Öğretim Yılı Ders Notları Arzu Erdem Kaynaklar: 1. Yazılım Uzmanı 1, Selçuk Tüzel 2. Yazılım Profesyoneli 2, Fulya SATAR. Engin ÖREN 3. Herkes için Visual Basic 2005, Jeff Kent 4. Microsoft Visual Basic.Net Başlangıç Rehberi, İhsan Karagülle 5. Visual Basic.Net 2003, Y.İnan, N.Demirli Arzu Erdem Kocaeli Üniversitesi

2 Bölüm 1. KURULUM ve GİRİŞ Bu kısımda Microsoft Visual Studio.NET 2003 programının nasıl kurulacağını ve kurulum sırasında nelere dikkat edileceğini adım adım inceleyeceğiz. Lisanslı olarak aldığınız Microsoft Visual Studio. NET 2003 programı altı CD'den oluşmaktadır. Bunlardan iki tanesi program kurulumunu içeren CD'lerdir. Eğer bilgisayarınızframework yapısına uygun değilse, bunu ayarlayacak bir adet Windows Prerequisites CD'si vardır. Diğer üç CD ise en son istenildiği takdirde kurulacak MSDN (yardım) CD' leridir. Şimdi adım adım kuruluma başlayalım; 1) Bilgisayarımıza Microsoft Visual Studio.NET 2003 Dics 1'i takalım. Bunun sonucunda eğer şekildeki ekran karşımıza gelirse, kurulum başlamadan önce bilgisayarımızda çeşitli ayarlamalar yapılacak anlamındadır. Kuruluma devam etmek için Visual Studio.NET Prerequisites seçeneğine tıklıyoruz. 2) Eğer şekildeki ekran ile karşılaşırsanız, bilgisayarınızda Web uygulamaları ve servisleri geliştirerek bilgisayarınızı bir Web Server olarak kullanacaksanız, mutlaka Front Page Server Extensions bileşenini kurmanız gerekmektedir. Bunu IIS içinden gerçekleştirebilirsiniz. Bu işlemi nasıl yapacağınızı Setup Instructions butonuna tıklayarak öğrenebilirsiniz. Kurulumu yapmak istemiyorsanız Skip butonuna basmanız sterlidir.

3 KURULUM ve GİRİŞ ) Yandaki görüntü karşımıza geldiğinde CD'ler içinde bulunan Windows Prerequisites CD'sini takarak OK butonuna basalım. 4) Bilgisayarımız için gerekli bileşenleri yükleme analizini yapan şekildeki ekranı görünce bir süre bekleyelim. 5) Gelen lisans ekranını okuduktan sonra, eğer bir sorun yoksa I agree seçeneğini işaretleyerek Continue linkine tıklayalım. 6) Gelen listede eksikler belirlenmiş durumdadır. Bunların tamamlanması için Install Now Linkine tıklamamız yeterlidir. Bu liste bilgisayarınızda kurulu programların versiyonuna göre daha kısa ve uzun olabilir. 7) Gerekli bileşenlerin yüklenmesi bittikten sonra, sağ alt köşede çıkan Done linkine tıklayarak bu ilk kademeyi sonlandırıyoruz. 3

4 Programlamaya Giriş ) Program kurulumu için ikinci kısım olan Visual Studio.NET seçeneğine tıklıyoruz. 9) Şekildeki ekran karşımıza çıkınca, ilk kurulum CD' sini takarak OK butonuna basıyoruz. 10) Kurulumda gerekli dosyaların kopyalanması ve yapılandırılması için kısa bir süre bekledikten sonra, karşımıza gelen ekranda lisans maddelerini okuyarak I agree seçeneğini işaretliyoruz. Ardından Product Key kısmına 25 haneli kurulum anahtarını doğru olarak girdikten sonra, Continue linkine tıklıyoruz. 4

5 KURULUM ve GİRİŞ ) Eğer elinizdeki CD' 1er Microsoft Visual Studio.NET kurulumuna ait ise aşağıdaki ekranda aynı anda bu yapı içinde bulunan Visual Basic.NET, Visual C++.NET, Visual C#.NET, Visual J#.NET programlarını kurabilirsiniz. Tüm kurulum yaklaşık 1.5 GB yer kaplamaktadır. Ancak sadece kullanacağınız seçenekleri kurmak istiyorsanız, diğer programların başlarında bulunan kutuları boşaltmanız gerekmektedir. Fazla program seçimi hem Disk üzerinde gereksiz yer kaplayacaktır, hem de kurulum süresini uzatacaktır. Eğer başka bir Disk bölümünüz varsa ve oraya kurmak istiyorsanız Local Path kısmından bu seçimi yapabilirsiniz. Ben, Visual C++.Net dışında tüm programları kurmaya karar verdim ve Disk bölümü olarak E sürücüsünü seçtim. Ayrıca, eksik kurduğunuz programları sonradan ekleyebileceğinizi unutmayın. Her şey tamamsa install Now linkine tıklayabilirsiniz. 12) Bilgisayarınızın performansına göre kurulum süresinin ilk bölümü 15 dakika ile 45 dakika arasında sürebilir. 5

6 Programlamaya Giriş ) Şekildeki mesaj iletisi karşımıza geldiği zaman artık ilk CD'nin görevi sonlanmış demektir. İlk kurulum CD'sini çıkartarak yerine ikinci kurulum CD'sini takıp, OK butonuna basarak kuruluma devam ediyoruz. 14) Evet nihayet kurulum tamamlandı. Kurulum ekranını kapatmak için Done linkine tıklamanız yeterli olacaktır. 15) Bundan sonra devam etmek zorunda değilsiniz. Ancak yazılım yaparken, elinizin altında yardım kütüphanesinin yüklü olması her zaman yararlıdır. Bunun için şekildeki listeden Product Documentation seçeneğine tıklayıp, MSDN 6

7 KURULUM ve GİRİŞ CD'lerinin ilkini takarak gelen ekran yardımları ile yardım dosyalarını yükleyelim. MSDN'in tamamını Disk üzerine yüklemek için, ekstradan 2 GB alana ihtiyaç olduğunu hatırlatayım. 7

8 Bölüm 2. Programlamaya Giriş Bu bölümde, bir programcının bilmesi gereken temel programlama kavramlarına giriş yapılacaktır. Bir programı oluşturan öğeler ve programın çalışma süreci tamamlanana kadar geçirdiği aşamalar ayrı ayrı işlenecektir. Bu kavramlar programcının ve programlama dillerinin tanımlanmasına yardımcı olacaktır. Bu bölümün sonunda; a prensibini açıklayabilecek,

9 Programlamaya Giriş Konu 1. Program Nedir? Günümüzde bilgisayarların kullanım alanları büyük ölçüde artmıştır. Dolayısıyla işlerimizi daha hızlı ve düzenli bir şekilde yapmamız, bilgisayarları ne kadar iyi kullandığımıza bağlıdır. Bunun için de çeşitli amaçlara göre yazılan programları kullanırız. Program, bilgisayarın belli bir işi yapması için tasarlanan komutların tümüdür. Kullanım amaçları ve yerlerine göre birçok değişik program türü vardır: programların çalışması için gerekli olan kaynakları ve ortamı sağlar. programlardır. Klavye ile yazılan yazıların algılanması için, klavyenin sürücü programı kullanılır. ar. İşletim sistemi üzerinde çalışan, kullanıcıların ihtiyaç duyduğu işlevleri sağlayan programlardır. Bir Internet sitesini gezmek istediğimizde, Internet Explorer tarayıcısı kullanılabilir. Bu uygulama, işletim sisteminden sitenin istenen sayfasındaki yazı ve resimleri almasını ister. İşletim sistemi, ağ kartıyla (Ethernet) sürücü programı sayesinde Internet sitesinin sunucusuna isteği gönderir. 9

10 Programlamaya Giriş Programların Çalışma Modeli Programların kullanılmasındaki amaç, girilen bilgilerin işlenip sonuçların istenen şekilde üretilmesidir. ıların veri girmesi ile başlar. Girilen veriler daha sonra işlenmek üzere hafızada saklanır. veriler kullanıcıya aktarılır. Programlar, belli kurallar çerçevesinde yazılır. Bu yazım kuralları sayesinde bilgisayar, programın işleyişini anlar ve gerekli sonuçları çıkartır. Yazılan programlar, belirtilen yazım kuralları kontrol edilerek derlenir. Bu derleme işlemi sonunda, yazılan kaynak kodlar bilgisayarın anlayacağı tek dile çevrilir. Makine dili denilen bu dil, sadece 1 ve 0 sayılarından oluşur. Örnek: ATM makinesinden para çekmek. 1 Kullanıcı ATM makinesine kartını yerleştirir. 2 Şifresini girer. 3 ATM cihazında çalışan uygulama kartta yazan bilgileri okur. 4 Şifre kontrolü işlemi yapılır. 5 Şifre doğru girilmişse kullanıcı çekmek istediği miktarı girer. 6 Bankadaki hesap kontrol edilir. 7 Uygunsa kullanıcıya ödeme yapar. 10

11 Programlamaya Giriş Konu 2. Programcı Kimdir? Programcı, belirli işlevlere sahip programlar geliştirebilen bir uzmandır. Bir programcının, üzerinde çalıştığı platformu, kullandığı teknolojileri iyi tanıması ve bilgisayarın anlayacağı mantıksal dilde düşünebilmesi gerekir. Programcıların çoğu genellikle aynı işi gerçekleştirse de, üstlendikleri görevlere göre programcılar üç gruba ayrılabilir: programın daha kolay yönetilmesi için küçük parçalara ayıran programcıdır. amın geliştirilmesi aşamasında, hataların kaynaklarını bulan ve geliştiricilere raporlayan programcıdır. Konu 3. Programlama Dilleri 11

12 Programlamaya Giriş Dünyada konuşulan her dilin amacı iletişim sağlamaktır. Farklı kültürlerden insanların anlaşabilmesi için ortak konuştukları bir dil gerekir. Programlama dillerinin amacı da bilgisayar ile programcının haberleşmesidir. Programcı, bilgisayara hangi komutların çalıştırması gerektiğini bilgisayarın anlayacağı dilden konuşarak söyler. Bilgisayarda, programlar makine diline çevrildikten sonra çalışır. 1 ve 0 sayılarından oluşan bu makine dili, en alt seviye dildir. Dolayısıyla programların bu dilde yazılması oldukça zordur. Programcılar konuşma diline daha yakın, kolay anlaşılabilecek diller kullanır. Bu dillere yüksek seviye programla dilleri denir. Programlama dillerinin seviyeleri, makine diline yakın olup olmamaları ile ölçülür. Bir programlama dili şu unsurlardan oluşur: er ile konuşulur. Programlama dillerinin de benzer bir davranışı vardır. Programlama dillerindeki bu kelimeler, programlama dilinin anahtar kelimeleridir (komutlarıdır). ildir. Eğer anlamlı bir şekilde bir araya getirilemiyorsa, bu kelimeler hiçbir anlam ifade etmez. kullanabiliriz. Ancak konuşulan kelimelerin ne için kullanıldığı da önemlidir. Bir programlama dilinin özelliklerinin nasıl ve ne için kullanıldığı da, bu dilin semantiğidir. Örneğin bir finans programı, Yeni Türk Lirası cinsinden bir miktarı dolara çevirecektir. Yapılacak işlem, o andaki parite değerini merkez bankasından aldıktan sonra, girilen miktarı bu değerle çarpıp kullanıcıya göstermektir. Kullanılan programlama dili ÇARP, GÖSTER, EŞİTLE komutları ile bu işlemi gerçekleştirecektir. ÇARP EŞİTLE GÖSTER miktar parite sonuç Bu şekilde yazılan program söz dizimi açısından doğrudur. Girilen veriler ve komutlar dışında, programlama dilinin anlamayacağı bir kelime kullanılmamıştır. Ancak komutlar yanlış sırada kullanılmıştır. ÇARP komutu hangi sayıları çarpması gerektiğini bilemeyecektir. parite EŞİTLE sonuç ÇARP miktar GÖSTER parite Komutları ve değişkenleri, programlama dilinin gramerine göre doğru yerlerde kullanmamız gerekir. Bu şekilde kullanılan komutlar doğru bir şekilde çalışır. Fakat GÖSTER komutunun ne için kullanıldığı yani semantiği de önemlidir. İstenilen, miktar ile pariteyi çarpmak, sonuca eşitlemek ve sonucu göstermektir. Sonuç EŞİTLE miktar ÇARP parite GÖSTER sonuç Şu ana kadar 2500 den fazla programlama dili yazılmıştır. Bunlardan bazıları Pascal, Basic, C, C++, Java, JavaScript, Cobol, Perl, Python, Ada, Fortran, Visual Basic. NET, Microsoft Visual C# programlama dilleridir. 12

13 Programlamaya Giriş Yüksek seviye programlama dillerine Visual Basic. NET ve Microsoft Visual C++ dillerini örnek verebiliriz. C ile işletim sistemi yazılabildiğinden, daha alt seviye bir dil olarak değerlendirilir. Programlama Dillerinin Tarihçesi Bilgisayarlar, icat edilmeleriyle birlikte belli bir işi yapmak için bir dizi komuta ihtiyaç duymuşlardır. En başta çok basit işlemler yapan bu komutlar, zamanla nesne yönelimlilik (object orientation) gibi ileri seviyede özellikler kazanmıştır. İlk programlama dilleri, bilgisayarların üzerinde bazı araçların yerlerini değiştirerek veya yeni bileşenler eklenerek yapılıyordu. Programın işlemesi için bir devinime ihtiyaç vardı. Eskiden programlar fiziksel olarak yazılıyordu. Daha sonra, fiziksel programlama yerini elektrik sinyallerine bıraktı. Artık, kurulan elektronik devrelere düşük ya da yüksek voltajda akım gönderilerek bilgisayarın davranışı belirlenmeye başlanmıştı. Yüksek voltaj 1, düşük voltaj 0 sayılarını ifade ediyordu. Böylelikle bugün de kullanılan makine dilinin ortaya çıkması için ilk adımlar atılmış oldu. Ancak bu şekilde programlar yazmak, sistemi oluşturan elektronik devrelerin her program için baştan kurulmasını gerektiriyordu. Böylelikle programlar bazı kavramlar çerçevesinde yazılmaya başlandı. Öncelikle bilgisayar donanımı her program için baştan kurulmamalı, bunun yerine basit bir donanımın üzerine yazılan komutlar kullanılmalıdır. Daha sonra, programlar tek bir komutlar zinciri yerine, küçük parçalar halinde yazılmalıdır. Bu parçaların programın içinde defalarca kullanılabilmesi yordam (subroutine) kavramını ortaya çıkarmıştır. Bu modelin kullanılması ise mantıksal karşılaştırmaları, döngülerin kullanılmasını ve yazılan kodlar tekrar kullanıldığı için kütüphane (library) mantığını ortaya çıkarmıştır yılında IBM, düşük seviye (makine diline yakın) bir programlama dili olan FORTRAN dilini ortaya çıkardı. FORTRAN ile beraber basit mantıksal karşılaştırmalar, döngüler, lojik (truefalse) ve sayısal (integer, double) değişkenler kullanılmaya başlandı yılında, bu programlama dilinin özelliklerini alıp, giriş çıkış (Input/Output IO) gibi yeni işlevler sağlayan COBOL dili ortaya çıktı. Daha sonra 1968 yılında, COBOL ve FORTRAN 13

14 Programlamaya Giriş dillerinin en iyi özelliklerini alarak Pascal ortaya çıktı. Ayrıca Pascal dili, hafızadaki adresler üzerinde işlem yapmaya olanak veren işaretçi (pointer) kavramını da beraberinde getirdi yılında C, Pascal dilindeki birçok hatayı gidererek ortaya çıktı. C dili ilk defa Unix işletim sistemini yazmak için kullanılmaya başlanmıştır. C, düşük seviye bir dil olması, kuvvetli giriş çıkış işlemleri sağlaması gibi birçok özelliği ile işletim sistemlerinin yazılmasında tercih edilmiştir. Bütün programlama dilleri birçok özelliğe sahip olmasına rağmen, modüler programlamanın birçok eksiğini gidermek amacıyla, yeni bir programlama modeli olan nesne yönelimli programlama (Object Oriented Programming OOP) ortaya çıkarıldı. C dilinin ve OOP modelinin tüm özellikleriyle C++ dili oluşturuldu. C++ dilini, Sun Microsystems tarafından çıkartılan Java takip etti. Java dilinin kullanım alanları, nesneye yönelimli bir programlama dili olması ve beraberinde getirdiği artık toplama (Garbage Collection GC) gibi performans artırıcı özellikleri ile büyük ölçüde genişledi. Microsoft, 2000 yılında.net platformunu sunarak, otuzdan fazla programlama dilini aynı çatı altına topladı. VisualBasic.NET ve Visual C# günümüzde.net platformunu kullanan en güçlü yüksek seviyeli programlama dilleri arasında yer alır..net platformu hakkında daha detaylı bilgi için Bölüm 2 ye bakın. Konu 4. Programın Derlenmesi Programlar yazıldıktan sonra, çalışmaya uygun hale getirilene kadar bir dizi işlemden geçer. Bu işlemi gerçekleştiren, programlama dilinin derleyicisidir. (Compiler) nin gramer ve söz dizimi yapısına uygun bir şekilde yazılır. 14

15 Programlamaya Giriş bir yazım veya mantık hata sıvarsa, programcıya gerekli hata mesajı verilerek derleme işlemi iptal edilir. 15

16 Programlamaya Giriş Bölüm 3. Microsoft.NET Platformu Microsoft.NET, uygulama geliştiricilerin yazılım geliştirme sürecinde alt yapı işlemleri için harcadığı eforu en aza indirgemek ve daha güvenli, güvenilir ve sağlıklı uygulamalar geliştirebilmelerini sağlamak için geliştirilmiş bir alt yapıdır. Bu bölümü tamamladıktan sonra; bileşenlerini açıklayabilecek, avantajları tanımlayabileceksiniz. NET Framework ve Konu 1. Yazılım Geliştirme Dünyası Microsoft 1975 yılında Bill Gates ve Paul Allen tarafından kurulduğunda, vizyonu Her eve, her masaya bir PC idi. Donanım ve yazılım alanlarındaki gelişmelerin hızı ve birbirlerini sürekli tetiklemesinin sonucunda bilgisayar kullanıcılarının sayısı hızla arttı. Artan kullanıcı sayısı beraberinde yeni gereksinim ve talepleri getirdi. Bu taleplerin doğal sonucu olarak da farklı platformlar ve farklı servis sağlayıcıları ortaya çıktı. İletişim, finansal hizmetler, ticaret ve eğlence kullanıcıların (özellikle Internet in yaygınlaşmasıyla birlikte) en yoğun talep gösterdiği hizmetler halini aldı. Günümüze baktığımızda, Microsoft un çıkış noktasındaki hedefine büyük oranda ulaştığını görebiliyoruz. Ancak geldiğimiz noktada hızla artan bilgisayar ve Internet kullanıcısı sayısı, beraberinde güvenlik, iletişim ve entegrasyon gibi alanlarda çeşitli engelleri de getirdi. Gelişmelere kendi açımızdan, yani yazılım geliştiriciler açısından baktığımızda işlerin çok daha zor ve zahmetli durumda olduğunu görürüz. Kurumsal uygulamaların geliştirilmesinde performans, güvenlik ve süreklilik gibi konularda belirli bir seviyeyi yakalamak için oldukça fazla efor sarf etmemiz gerekiyor. Örneğin, elektronik cihazlarla soket iletişimi kuracak uygulamaları geliştirebilmek için iki alternatifimiz var. Birincisi, 3. parti firmalar tarafından geliştirilmiş olan bileşenler satın almak ve uygulamamıza entegre etmektir. 16

17 Programlamaya Giriş Diğer alternatifimiz ise, oldukça uzun sürecek bir kodlama ile benzer bir iletişim katmanını geliştirmektir. Her ikisi de firmaların birinci tercihi olmayacaktır. Sorunumuz, sadece soket iletişimi noktasında değil elbette. Bölümün başında da belirttiğimiz gibi uygulama geliştiriciler, güvenlik, performans ve yetkilendirme gibi pek çok konuda oldukça zahmetli alt yapı kodlarını geliştirmekle uğraşmak zorunda kalıyor. İşin kötü yanı, geliştirilen bu alt yapı kodlarının çoğu zaman istenen verimliliği sunmaktan oldukça uzak kalmasıdır. Kabul etmemiz gereken şey, bu alt yapı kodlarını geliştirecek bilgiye sahip olmadığımız; sahip olsak bile, alt yapı kodlarını yazacak zamana ve işgücüne sahip olmadığımız; zaman ve işgücü konusundaki ihtiyaçlarımızı karşılayabilsek bile, bu kodların testi, güvenliği, güvenilirliği, performansı ve uygulamalara entegrasyonu konusunda hiçbir zaman istenen düzeye ulaşamayacağımızdır. Keşke ihtiyaç duyduğumuz tüm altyapı işlemleri için hazır, kullanımı kolay ve esnek bir platform olsaydı. Hayalini kurduğumuz, aslında şöyle bir sistem: Bir sanal mağazada cep telefonlarından sorumlu departmanda satış müdürü olarak çalışıyorsunuz. İş dışındasınız ve akıllı cihazınıza bir mesaj geliyor: Piyasaya henüz çıkmış olan telefonumuz inanılmaz satışlar yapıyor, telefon çok popüler ve stoklarımız da oldukça azalmış durumda. Bu mesajın hemen ardından, akıllı cihazınız üzerinden, şirketiniz için fiyat ve teslim zamanı açısından en uygun olan tedarikçiyi bulup, ihtiyacınız kadar telefonu sipariş edebiliyorsunuz. Peki ya bu koşullar altında çalışmıyor olsaydınız? Şirketiniz, sizi cep telefonunuzdan arayacak ve problemi iletecekti. Sonra da siz ancak şirketinize dönebildiğiniz zaman tedarikçilerle teker teker irtibata geçerek hangisinin şirketiniz için en yararlı olduğuna karar verecektiniz. Sipariş ve teslimat bilgileri üzerinde anlaştıktan sonra işleminizi tamamlamış olacaktınız. Yani sadece birkaç dakikada yapabileceğiniz basit bir işlem için, belki de bütün bir gününüzü kaybedecektiniz. Verimliliğiniz düşerken, zamanınızı etkili şekilde kullanamayacaktınız. Oysa akıllı cihazınız üzerinden tüm bu işlemleri kısa bir şekilde çözebildiğinizden, işe gitmenize bile gerek kalmadan çok kısa bir zamanda şirketiniz için en iyi olan seçimi yapabilirsiniz. İşler kesinlikle çok daha verimli ve kolay ilerlerdi. Elbette bu, kurulabilecek hayallerin sadece mobil platforma yönelik bölümünden bir kesit. 17

18 Programlamaya Giriş Konu 2. Sorunun Temeli Microsoft, vizyonu doğrultusunda attığı adımların yazılım geliştiricilere yansıyan sonuçlarını sürekli izliyordu ve yazılım geliştiricilerin sorunlarını şu başlıklar altında ele alıyordu. iletişim sorunu. farklı kurumlar arasındaki tiyaç duydukları anda, kesintisiz, hatasız ve güvenli bir şekilde ve istedikleri platformdan erişebilmeleri gereksinimi. yapı kodları ile uğraşması ve bunun sonucunda, uygulama geliştirme ve test süresinin uzaması. kodların tekrar tekrar yazılması gereksinimi. Konu 3. Çözüm Platformu 18

19 Programlamaya Giriş Microsoft 1990 yılında, yaşanacak 10 yılı da öngörerek, bu ve benzeri sorunlara çözüm sunacak, uygulama geliştiricilerin ve son kullanıcıların işlerini kolaylaştıracak bir platform geliştirmeye başladı. Microsoft bu platforma öylesine inanıyordu ki, kaynaklarının %80 inden daha fazlasını, yani kaderini bu platforma bağlamıştı. Çok geniş bir analiz ve geliştirme ekibinin çalışmaları sonucunda ortaya çıkan ürün 2000 yılında dünyaya sunulduğuna, insanların karşılarında gördükleri yapı karşısında hissettiklerini tanımlamak için kullanılabilecek en uygun kelime hayranlık idi. Microsoft.NET platformu, her türlü yazılım geliştirme ihtiyacına yönelik hazır bir altyapı sunarak, uygulama geliştiricilerin Windows, Web ve mobil platformlara yönelik uygulamaları çok daha hızlı, kolay ve güçlü bir şekilde geliştirebilmelerine olanak tanıyordu. Uygulama geliştiriciler şifreleme, kimlik doğrulama, yetkilendirme, soket iletişimi, her türlü veri kaynağına yönelik veritabanı işlemleri, XML ve Web servisi teknolojilerine kadar burada saymadığımız (editörler bir bölümün 100 sayfayı geçmesine pek sıcak bakmıyorlar) pek çok teknolojiyi ve hatta milyonlarca hazır sınıf ve fonksiyonu karşılarında gördüler. Bugüne kadar günler, haftalar ve hatta aylar harcayarak geliştirmeye çalıştıkları bu yapıların hepsini, karşılarında kullanıma hazır bir şekilde görmekten de son derece memnunlardı. 19

20 Microsoft Visual Studio Bölüm 4. Microsoft Visual Studio Ara yüzü Bu bölüm, Microsoft Visual Studio ara yüzünü tanımayı sağlar ve etkili bir biçimde kullanmayı gösterir. Ev ve işyerindeki çalışma ortamını düzenlemek, daha verimli çalışmayı sağlar. Yazılım geliştirirken de çalışılan ortamı tanımak ve kişiselleştirmek, rahat çalışmak açısından önemlidir. Bu bölümü tamamladıktan sonra; ortamını tanıyacak, ullanabilecek, yardımını etkili bir şekilde kullanabileceksiniz. 20

21 Microsoft Visual Studio Konu 1. Visual Studio Çalışma Ortamı Visual Studio, çok gelişmiş özelliklere ve yardımcı araçlara sahip bir dosya editörüdür..net platformu üzerinde geliştirilen proje dosyaları dışında, metin dosyaları, *.sql ve *.rtf uzantılı dosyalar da düzenlenebilir. Visual Studio ortamını oluşturan ve kullanımını kolaylaştıran dört ana bileşen vardır: I. Çalışma Sayfaları Visual Studio ortamında dosyalar, birer çalışma sayfası (Tab Pages) olarak açılır. Bu dosyalar sekmeler halinde sıralanır. Sayfalar arasında CTRL+TAB kısayolu ile geçiş yapılır. Bu çalışma modelinde, sadece bir sayfa görünür ve üzerinde çalışma yapılır. Ancak Visual Studio bize, çalışma ortamını parçalara bölme imkânı verir. Örnek: 1 Visual Studio çalışma ortamını açın. Başlangıç sayfası karşınıza çıkar. (Eğer başlangıç sayfasını göremiyorsanız, Help menüsünden Show Start Page komutunu seçin.) 2 View menüsünden, Web Browser alt menüsünü işaretleyin ve Show Browser komutunu seçin. Visual Studio, açmak istediğimiz Internet tarayıcısı için yeni bir sayfa oluşturur. 3 CTRL tuşunu basılı tutarak TAB tuşuna basın. Açtığınız Internet tarayıcısından başlangıç sayfasına dönülür. 4 Başlangıç sayfasını sağ tıklayın ve açılan menüden New Vertical Tab Group komutunu seçin. Visual Studio, sayfaları sekme gruplarına ayırarak birden fazla sayfa üzerinde çalışma imkânını sağlar. 5. Başlangıç sayfasını, sayfa başlığını tıklayıp fare düğmesini basılı tutarak Internet tarayıcısının bulunduğu sekme grubuna taşıyın. 21

22 Microsoft Visual Studio İPUCU Visual Studio ortamını bir Web tarayıcısı olarak kullanabilirsiniz. Araç Çubukları Visual Studio, menü komutları için görsel kısayolları araç çubukları (Toolbars) ile sunar. Benzer işlemler için kullanılan komutlar bir araç çubuğunda gruplanır. Örneğin Standard araç çubuğu, yeni dosya oluşturmak, bir dosyayı açmak ve kaydetmek gibi genel dosya işlemleri için kullanılır. Araç çubukları, varsayılan durumda menülerin altında bulunur. Ancak araç çubukları taşınarak yerleri değiştirilebilir veya kayan duruma getirilebilir. Ayrıca istenen araç çubukları saklanabilir veya gösterilebilir. Araç çubuklarının listesini görmek için View menüsünden Toolbars alt menüsünü işaretleyin. Visual Studio bize kendi araç çubuklarımızı oluşturma imkânı da verir. Farklı işlevlere sahip komutlar gruplanıp, kişisel bir araç çubuğu oluşturulabilir. Örnek: 1 Başlangıç sayfasının üstündeki bir araç çubuğunu sağ tıklayın. Açılan menüde, varılan tüm araç çubukları listelenir. İşaretli olan araç çubukları eklenmiş araç çubuklarıdır. Bu listeden Web araç çubuğunu seçin. 2 Web araç çubuğunu çift tıklayın. Bu işlem, araç çubuğunu Floating (kayan menü) durumuna getirir. Tekrar çift tıklandığında, araç çubuğu Dockable (sabit) durumuna gelir. 3 Araç çubuğunu sağ tıklayın. Açılan menünün en altındaki Customize (özelleştir) komutunu seçin. 4 Toolbars sekmesinde New (yeni) komutunu tıklayın. Açılan pencerede araç çubuğunun ismi için Genel İşlemlerim yazın. OK düğmesini tıklayın. Visual Studio, verilen isimde bir araç çubuğu oluşturur ve kayan durumda görüntüler. 5 Commands (komutlar) sekmesinde, Categories (kategoriler) listesinden Help kategorisini seçin. Bu listenin yan tarafında bulunan Commands listesinden Index komutunu bulun. Bu komutu taşıyıp, oluşturduğumuz Genel İşlemlerim araç çubuğuna bırakın. 22

23 Microsoft Visual Studio Bu şekilde şu komutları da ekleyin: Categories Commands Tools Options File Exit View Show Web Browser Window Close All Documents 1 Araç çubuğunu çalışma ortamının altına taşıyarak sabitleyin. 2 Araç çubuğunu sağ tıklayın ve listeden Genel İşlemlerim araç çubuğunu seçerek çalışma ortamından kaldırın. Menüler Birçok çalışma ortamının yaptığı gibi, Visual Studio da benzer öğeler üzerinde işlevleri olan komutları menüler halinde gruplar. Menülerin araç çubuklarından farkı, sabit olmaları ve özelleştirmeye açık olmamalarıdır. Menüler bu bölümde detaylı olarak ele alınacaktır. Paneller Paneller, Visual Studio içindeki pencerelerdir. Çalışma ortamında birçok panel bulunur. Bunlar arasında Solution Explorer, Toolbox, Object Browser, Properties, Watch, Output, Search Result, Task List gibi sıkça kullandığımız paneller sayılabilir. İPUCU Görmek istenen paneller View menüsünden seçilebilir. Paneller, Visual Studio ortamı içersinde istenen yere taşınabilir veya sabitlenebilir. Panellerin birkaç genel özelliği vardır: Auto Hide (Otomatik gizle). Panelin, fare imleci üzerindeyken gözükmesi ve imleç çekildikten sonra gizlenmesidir. 23

24 Microsoft Visual Studio Dockable (Sabitlenebilir). Panelin, Visual Studio ortamı içersinde bir yerde sabitlenebilme özelliğidir. Floating (Kayan). Kayan paneller herhangi bir yere sabitlenemez. Ancak her sayfanın üstünde durur ve böylece sürekli görünür. Panellerin bu özelliklerine Window menüsünden erişilebilir. Örnek: 1 View menüsünden Other Windows alt menüsünü işaretleyin ve Favorites panelini seçin. Panelin başlığında, biri Auto Hide, diğeri Close olmak üzere iki düğme görülür. 2 Auto Hide düğmesini tıklayarak paneli gizleyin. 3 Paneli tekrar seçin, Window menüsünden Auto Hide özelliğini seçin. Daha sonra aynı menüden Floating özelliğini seçin. Panelin taşınabildiği, ancak sabitlenemediği görülür. 4 Panel seçiliyken, Window menüsünden Dockable özelliğini seçin. Bu sefer, panelin taşındığında çalışma ortamının herhangi bir yerine sabitlenebildiği görülür. 5 Panel seçiliyken, Window menüsünden Hide komutunu seçin. Paneli tekrar açmak için bu adımları tekrarlayın. Konu 2. Start Page Visual Studio çalışma ortamını açtığımız zaman karşımıza ilk gelen başlangıç sayfasıdır. Bu sayfa üç bölümden oluşur (Resim 3.3). Projects. O ana kadar çalıştığınız projeleri gösterir. Bu menüden son projelerinizi açabilirsiniz. Son projelerde gözükmeyen bir proje (Open Project) veya yeni bir proje (New Project) de açabilirsiniz. 24

25 Microsoft Visual Studio Online Resources. Bu bölümde örnek uygulamalar (Find Samples), ipuçları bulabilir, en yeni teknolojileri, güncellemeleri veya en son eklenen haberleri takip edebilir, MSDN kütüphanelerinde kod örnekleri ve makaleler araştırabilirsiniz. My Profile. Bu bölümde çalışma şeklinize göre bir profil seçebilirsiniz. Profiller; kullanılan kısayollara, panellerin yerlerine ve görünümlerine, Visual Studio yardımını kullanırken yapılan filtrelemeye göre değişir. Örneğin, profili Visual Basic Developer olarak ayarlarsak Toolbox, sayfaların sol tarafında çivili olarak durur. Yardım panelinde bir arama yapmak istediğimizde ise, sonuçlar Visual Basic filtresine göre çıkar. Ayrıca Solution Explorer paneli CTRL+R kısayolu ile açılır. Görünüm, kısayollar ve yardım filtresi birbirinden bağımsız olarak da ayarlanabilir. Bu durumda seçilen profil, custom (özel) olarak gözükecektir. At Startup seçeneklerinden, Visual Studio açılırken hangi pencerenin gözükeceğini belirleyebilirsiniz. Örneğin, başlangıçta en son çalıştığınız projenin açılmasını istiyorsanız, Load last loaded solution seçeneğini tercih etmelisiniz. İPUCU Giriş sayfasını kapattıktan sonra, Help menüsünden Show Start Page seçeneğini tıklayarak açabilirsiniz. 25

26 Microsoft Visual Studio Konu 3. Menüler Visual Studio menüleri birçok uygulamanın menülerine benzer niteliktedir. Menü isimlerinde, belirli bir harfinin altı çizilmiştir. Belirtilen harflere ALT tuşu ile birlikte basıldığında, o menülere kısayolla ulaşılır. Menü komutlarının bazılarında ise, sadece o komuta özel bir kısayol tanımlıdır. Bu kısayollar CTRL veya SHIFT gibi birkaç tuş kombinasyonu ile gerçekleşir. File (Dosya). Tüm dosya işlemleri bu menü altındadır. Standard araç çubuğu ile bu menüdeki bazı komutlara ulaşılır. File menüsündeki komutlar ile: Yeni bir proje, bir dosya veya boş bir çözüm (solution) oluşturmak, varılan bir dosyayı açmak, leri (Recent Files) açmak, ür. Edit (Düzenle). Tüm yazı düzenleme işlemleri için, bu menüdeki komutlar kullanılır. Text Editor araç çubuğu da bu menünün komutlarına kısayoldur. Edit menüsündeki komutlar ile: Copy, Cut, Paste, Delete, Select All gibi temel işlemleri Find And Replace, Go, Bookmark gibi navigasyon işlemleri Outlining ile metinleri gruplama işlemleri seviye işlemler gerçekleştirilir. çük harf çevrimi gibi ileri 26

27 Microsoft Visual Studio View (Görünüm). Visual Studio çalışma ortamındaki tüm paneller bu menü komutlarıyla gösterilir. Ayrıca Navigate Backward ve Navigate Forward komutlarıyla en son çalışılan satıra geri dönülür. Project (Proje). Projeye dosya eklemek, çıkarmak, proje özelliklerini göstermek için bu menü kullanılır. Build (Derleme). Projelerin çalışmak üzere derlenmesi için gereken komutlar, bu menü altındadır. Debug (Hata Ayıklama). Projede hata ayıklarken gereken komutlar Debug menüsü altındadır. Projeyi Debug durumunda başlatmak, BreakPoints (hata ayıklarken durulması gereken satırları ayarlamak) gibi işlemler yapılır. Tools (Araçlar). Visual Studio ile beraber yüklenen yardımcı araçların listelendiği menüdür. Araç çubuklarını özelleştirmek için kullanılan Customize seçeneği gibi Options seçeneği de en sık kullanılan özelliklerden biridir. Visual Studio çalışma ortamının tüm ayarları Options menüsünden yapılır. Environment ve Text Editor en sık kullanılan seçeneklerdir. Environment (Ortam). Sayfa düzeni ve görünüm ayarları, yazı tipi (font) ve renk ayarları, komutlar için kısayol ayarları, Internet tarayıcısı ayarları, yardım ve dinamik yardım ayarları buradan yapılır. Text Editor (Metin düzenleyicisi). Farklı programlama dillerine özgü yazı düzeni ayarları buradan yapılır. Örnek: 1 Tools menüsünden Options komutunu seçin. 2 Sol panelde bulunan Environment menüsünden Fonts and Colors (yazı düzeni ve renkler) sekmesine gelin. 3 Sağ panelde bulunan Display items (Öğeleri listele) menüsünden Text alanını seçin ve Item background (Öğe arka planı) özelliğini Light Grey (Açık gri) olarak belirleyin. Tüm sayfaların arka plan rengi açık gri olacaktır. 27

28 Microsoft Visual Studio Sol panelde Environment menüsünden Web Browser sekmesine gelin. Home Page (ana sayfa) özelliğinin altındaki Use Default seçeneğini kaldırın ve metin kutusuna yazın. 2 Sol panelde Text Editor menüsünden Basic alt menüsünü seçin. Burada Visual Basic diline özel metin düzenleme seçenekleri bulunur. Sağ panelde, Display sekmesinin altında Line Numbers (Satır numaraları) seçeneğini işaretleyin. Bu seçenek, Visual Basic projelerinde çalışırken satır numaralarını gösterir. Window (Pencere). Sayfaların ve panellerin görünümlerini ve özelliklerini değiştirmek için kullanılan komutlar bu menü altında bulunur. Tüm açık çalışma sayfaları bu menü altında görüldüğü gibi, istenen sayfa seçilerek ön plana getirilir. Ayrıca, Close All Documents (Tüm sayfaları kapat) komutu ile açık olan bütün sayfalar kapatılır. Auto Hide All (Tümünü otomatik gizle) komutu ile, sabit hale getirilmiş tüm paneller gizlenir. Help (Yardım). Visual Studio çalışma ortamında çok sık kullanılan yardım panellerinin görünümü bu menü ile sağlanır. Bu menü ile ayrıca, kullanılan Visual Studio çalışma ortamının sürümü hakkında bilgi alınır, son güncellemeler kontrol edilir, teknik destek için gereken eposta adreslerine veya telefonlara ulaşılır. Yardım kullanımı bu bölümde detaylı olarak ele alınacaktır. 28

29 Microsoft Visual Studio Konu 4. Solution Explorer Paneli Visual Studio çalışma ortamında projeler bir çözüm (solution) altında açılır. Bir çözüm içine farklı dilde ve tipte projeler dahil edilebilir. Visual Studio ile bir çözüm açıldığında, Solution Explorer panelinde (Resim 3.5) çözüm içinde bulunan tüm projelerle, ilgili dosya ve klasörler görüntülenir. Panelde koyu yazı tipinde gözüken proje, çözüm içindeki başlangıç projesidir. Bu panelden, öğeler üzerinde silme, kopyalama, taşıma ve ismini değiştirme işlemleri yapılabilir. Ayrıca panelin üst kısmında, seçilen öğe üzerinde basit işlemler gerçekleştirmek için bir araç çubuğu bulunur. Refresh (Yenile). Proje dosyaları üzerindeki değişikliklerin gözükmesini sağlar. Show All Files (Bütün dosyaları göster). Seçilen projenin bulunduğu klasördeki tüm dosyaları ve alt klasörleri gösterir. Panelde gözüken beyaz öğeler proje içine dahil edilmemiş öğelerdir. Proje kapsamında kullanılmak istenen öğeler (örneğin, arka plan resmi), sağ tıklanıp Include In Project komutu ile projeye dahil edilmelidir. Properties (Özellikler). Paneldeki tüm öğelerin özellikleri, Properties komutu ile görülebilir. Bu komut seçildiğinde, öğenin özellikleri Properties paneli ile görüntülenir. (Properties paneli bu bölümde detaylı olarak ele alınacaktır.) 29

30 Microsoft Visual Studio Solution Explorer paneli, View menüsünden görülebildiği gibi, varsayılan klavye seçeneklerinde CTRL+ALT+L kısayolu ile de görülebilir. Konu 5. Toolbox Paneli Toolbox (Araç kutusu) paneli, projelerde kullanılan çeşitli bileşenlerin listelendiği paneldir. Buradaki öğeler, sekmeler içinde gruplanmıştır. Her sekme, ortak platformlarda çalışan veya benzer işlevleri olan nesnelere sahiptir. Örneğin, Data sekmesinde veritabanı işlemlerinde kullanılan bileşenler vardır. Windows Forms bileşenleri Windows platformunda çalışan projelerde, Web Forms bileşenleri ise Web tabanlı projelerde kullanılan nesnelerdir. ClipBoard Ring sekmesinde ise kopyalanan metinler bulunur. Nesnenin silik gözükmesi, o anda çalışılan sayfada kullanılamayacağı anlamına gelir. 30

31 Microsoft Visual Studio Toolbox panelinde nesneler, en sık kullanılandan en az kullanılana göre sıralanır. Örneğin, Windows Forms sekmesinde en üstte Label, Link Label, Button, TextBox nesneleri bulunur. Nesneler, yerleri ve sıraları taşınarak değiştirilebilir, ayrıca başka bir sekmeye de taşınılabilir. Varsayılan sıralama dışında, alfabetik olarak da sıralama yapılabilir.visual Studio çalışma ortamı, Toolbox panelindeki nesnelere yeni isim verme, nesneleri silme veya panele yeni sekmeler ve nesneler ekleme imkânlarını da sağlar. Örnek: 1 View menüsünden Toolbox panelini seçin. 2 Panelde herhangi bir yeri sağ tıklayın ve Show All Tabs (Bütün sekmeleri göster) komutunu seçin. 3 Windows Forms sekmesinde TextBox nesnesini sağ tıklayın. Çıkan menüden Rename Item (Ad Değiştir) komutunu seçin ve Metin Kutusu yazın. 4 Metin Kutusu nesnesini taşıyarak sekmenin en üstüne getirin. 5 Paneli sağ tıklayın ve Sort Items Alphabetically (Nesneleri alfabetik olarak sırala) komutunu seçin. Metin Kutusu nesnesinin, alfabetik sırada yerini aldığı görülür. 6 Paneli sağ tıklayın ve Add Tab (Sekme ekle) komutunu seçin. Sekmeye Medya ismini verin. 7 Sekmeyi sağ tıklayın ve Add/Remove Items (Nesne Ekle/Kaldır) komutunu seçin. Customize Toolbox iletişim kutusu açılır. Burada Toolbox paneline eklenebilecek tüm bileşenler listelenir. Com Components sekmesine gelin ve listeden Windows Media Player nesnesini işaretleyin. OK düğmesini tıklayarak iletişim kutusunu kapatın. Windows Media Player nesnesinin, oluşturulan Medya sekmesine eklendiği görülür. Toolbox paneline varsayılan klavye seçeneklerinde CTRL+ALT+X kısayolu ile ulaşılır. 31

32 Microsoft Visual Studio Konu 6. Properties Paneli Properties (Özellikler) paneli seçilen bir nesnenin özelliklerini görüntüler. Paneldeki görünüm, Özellik adı değeri şeklindedir. Silik olarak gözüken özellikler salt okunurdur ve değiştirilemez. Panelin üzerindeki açılır liste, çalışma sayfasındaki nesneleri listeler. Buradan istenen nesne seçilerek özellikleri görüntülenir. Paneldeki özellikler kategorilere göre gruplanmıştır, ancak alfabetik olarak da dizilebilir. Panelin üstünde bulunan araç kutusundan Categorized (Kategorileştirilmiş) veya Alphabetic (Alfabetik) seçenekleri işaretlenerek özelliklerin görünümleri değiştirilebilir. Panelin en altında bulunan bölümde, her özelliğin açıklaması bulunur. İPUCU Bir nesnenin üzerindeyken F4 tuşuna basınca, Properties paneli görüntülenir. 32

33 Microsoft Visual Studio Konu 7. Help Kullanımı Yazılım geliştirirken en çok kullanacağımız kaynaklar yardım dosyaları olacaktır. Bir programlama dilinin çok çeşitli özellikleri ve kullanım farklılıkları olabilir. İyi bir programcı bütün bu özellikleri ezbere bilen değil, bu özellikleri en kısa sürede bulan, öğrenen ve kullanan programcıdır. Yardım dosyalarının kullanımını bilmek, programcılığın temelini oluşturan önemli unsurlardan biridir. DİKKAT Visual Studio yardımını kullanmak için, MSDN (Microsoft Developer Network) yardım kütüphanelerinin yüklenmiş olması gerekir. Visual Studio yardımı programcıya, gelişmiş özelliklere sahip paneller ve yardım dosyaları ile geniş bir kullanım kolaylığı sağlar.visual Studio yardım dosyalarının yapısı, başlık, içerik ve ilişkili konular (See Also) bölümlerinden oluşur. Ayrıca her yardım dosyasının altında bulunan Send Comments bağlantısı ile konu hakkında yorum gönderilebilir. Visual Studio yardım panelleri Dynamic Help, Search, Index ve Contents olarak dörde ayrılır. Bu panellere, Help menüsünden ulaşılabilir. I. Dynamic Help Dynamic Help (Dinamik yardım) paneli, içeriği otomatik olarak değişen bir araçtır. Kod yazarken, panellerde veya sayfalarda nesneler seçildiğinde, kullanıcının başka bir işlem yapmasına gerek kalmadan, o nesne hakkındaki yardım konularını listeler. F1 tuşuna bastığımız zaman ise, seçilen nesneye ait, Dynamic Help panelindeki ilk yardım konusu yeni bir sayfada görüntülenir. 33

34 Microsoft Visual Studio Paneldeki yardım konuları Help, Samples ve Getting Started olarak üç bölüme ayrılmıştır. Help bölümü, seçilen nesneyle ilişkili olan kavramların listelendiği bölümdür. Samples, konuyla ilgili kod örnekleri bulunan yardım dosyalarını gösterir. Getting Started, çalışılan sayfalara göre değişen, temel işlemleri içeren başlangıç yazılarını gösterir. Search Search (Arama) paneli, MSDN kütüphanelerinde arama yapılan paneldir. Look for metin kutusuna, aranacak anahtar kelimeler girilir. Filtered by (Filtreleme) ile arama sonuçları belli konulara göre sınırlanır ve istenmeyen seçeneklerin gösterilmesi engellenir. Search panelinde, Search in titles only, Match related words, Search in previous results, Highlight search hits arama seçenekleri bulunur: Search in titles only. Sadece konu başlıklarında arama yapar; içerik kısmına bakmaz. Match related words. Kelimeleri yazıldığı gibi arar; benzer yazımlı kelimeleri aramaz. Search in previous results. İlk aramadan sonra aktif olan bu seçenek ile kelimeler, bir önceki aramada bulunan sonuçlar arasında aranır. Highlight search hits. Bulunan yardım sayfalarında, aranan kelimelerin seçili olmasını sağlar. Bulunan sonuçlar Search Results (Arama Sonuçları) panelinde gösterilir. Bu panelde; Title, konunun başlığını Location, MSDN kütüphanelerinde hangi başlık altında bulunduğunu Rank, konunun aranan kelimeye olan yakınlık derecesini ifade eder. Index Index (Dizin) paneli, yardım dosyalarındaki bütün konuları alfabetik sırada dizer. Filtreleme işlevi, arama panelinde olduğu gibidir. Bu panelin özelliği, aranacak kelime yazılırken, bu kelime ile başlayan tüm konuların alfabetik sırada gösterilmesidir. Bu şekilde, aranan konulara çok hızlı bir şekilde ulaşılabilir. Eğer bir konu ile ilgili birden fazla yardım dosyası varsa, Index Results (Dizin Sonuçları) panelinde bu seçenekler gösterilir. Contents Contents (İçerik) panelinde, tüm MSDN içeriği konulara göre hiyerarşik yapıda, kategorilere ayrılmış olarak gösterilir. Bu panelde de aynı şekilde filtreleme yapılarak istenmeyen içerikler çıkartılabilir. Bir yardım dosyası açıkken, Help menüsünden Sync Contents (İçerik senkronizasyonu) komutu seçilerek o yardım dosyasının Contents panelindeki yeri bulunabilir. 34

35 Algoritma ve Dump Coding Bölüm 5. Algoritma ve Dump Coding Programlamanın temelinde, çalışma akışını ve izlenecek yolları belirleyen algoritmalar vardır. Bir iş yapılmaya başlanmadan önce nasıl planlanıyorsa, kodlamaya geçilmeden önce de bir çalışma planı belirlenmelidir. Programla, bu planda yazılan kodları belli bir sıra ile okur ve işler. Dolayısıyla algoritma yapısını çok iyi kurmak gerekir. Kurulan algoritmalar akış diyagramları ile görsel zenginlik kazanırlar. Dump Coding yöntemi algoritmaları çözmenin uzun, fakat etkili bir yoludur. Bu yöntem, adımları tek tek inceleyerek algoritma akışını çözer. Bu modül tamamlandıktan sonra; ding ile algoritmaları çözümleyecek, 35

36 Algoritma ve Dump Coding Konu 1. Algoritma Nedir? Algoritma, bir işin hangi etaplardan geçilerek yapılacağını gösteren çalışma planıdır. Algoritma bir programlama dili değildir. Programlama dillerine yol gösteren bir yöntem dizisidir. Her dilde algoritma yazılıp uygulanabilir. Örneğin bir cep telefonunun el kitapçığında yazan, rehber kaydı girmek için izlenecek yollar, o işin algoritmasıdır. Algoritma yazarken, programın çalışması için kullanılan kaynakların, yapılması gereken kontrollerin veya işlemlerin açıkça ifade edilmesi gerekir. Ayrıca iyi bir algoritmanın, tüm ihtimalleri kontrol edip istenmeyen durumlarda ne yapılması gerektiğini de belirtmesi gerekir. alışma zamanında çoğu kez, işleyişin tamamlanması için dışarıdan bir bilgi girilmesi gerekir. Algoritmanın çalışması için ihtiyaç duyduğu veriler, işlemi başlatan kişiden veya belirtilen bir kaynaktan alınabilir. Bu bilgiler sağlanmadan işlem devam etmez. kavramlardır. Girilen veya işlem sonucunda elde edilen veriler, işlemin amacına göre kontrol edilir ve sonuca göre algoritma akışı istenen yere yönlendirilir. itmanın akışı boyunca veriler üzerinde değişiklikler, yeni değer atamaları gibi işlemlere ihtiyaç duyulur. Algoritmalar kurulurken, yapılan işlemlerin yalın halde, tek tek yazılması okunabilirliği artırır. Algoritmalar adım sırası ile çalışır ve karar yapıları sonucunda farklı bir yere yönlendirilmediği müddetçe, bir sonraki adım ile işlemeye devam eder. Örnek: Telefon kulübesinden telefon açmak için örnek bir algoritma 1 Telefon kulübesine git. 2 Telefon kartı al. 36

37 Algoritma ve Dump Coding Telefon sırasında kaç kişi olduğuna bak. 4 Kişi sayısı sıfırdan fazlaysa 3 e dön. 5 Kapı kapalıysa kapıyı aç. 6 İçeri gir, kapıyı kapat. 7 Telefon kartını telefona yerleştir. 8 Ahizeyi kaldır. 9 Numarayı çevir. 10 Konuşmanın bitip bitmediğine bak. 11 Konuşma bittiyse kartı al, bitmediyse 10 a dön. 12 Bir daha konuşma yapılacaksa 7 ye dön. 13 Kapıyı aç, dışarıcık. Bu algoritmanın işlemesi için, her ihtimal gözden geçirilerek, algoritma akışı gerekli yerlere yönlendirilir. Örneğin, kapının kapalı olması durumunda kapıyı açmak için gerekli komutlar verilmelidir. Bu algoritmanın ihtiyaç duyduğu veriler ya kullanıcı tarafından verilir ya da işlem başlamadan önce belirlidir. Sıradaki kişi sayısı, telefon kartı gibi veriler kullanıcı tarafından sağlanmış; çevrilecek numara, algoritma başlamadan önce belirlenmiştir. Konu 2. Dump Coding Nedir? Dump Coding yöntemi birçok karışık algoritmayı çözümlememizi sağlar. 37

38 Algoritma ve Dump Coding Dump Coding yöntemi, algoritmanın her adımında, değişkenlerin tek tek değerlerini yazıp işleyişi takip etmektir. Örnek: İki sayının OBEB ini (ortak bölenlerin en büyüğünü) alan algoritmalardan bir tanesi Euclid tarafından geliştirilmiştir. 1 İki sayı gir. Büyük A, küçük B. 2 A sayısını B sayısına böl. Tam bölünüyorsa, OBEB B sayısıdır. Çıkış. 3 A sayısının değerini, kalan sayının değeri yap. 4 A ile B sayılarının yerini değiştir. İkinci etaba dön. Bu algoritmanın çalışma mantığı, Dump Coding yöntemi ile adım adım incelenir. 1 İki sayı girilir. A = 12 ve B = 8. 2 A sayısı, B sayısına tam bölünmüyor. Algoritma diğer etaptan devam eder. 3 Kalan sayı = 4. Dolayısıyla A = 4 olur. 4 A sayısı ile B sayısının yerleri değiştirilir.a = 8 ve B = 4 olur. İkinci etaba dönülür. 5 A sayısı B sayısına tam bölünüyor. OBEB = 4. Konu 3. Akış Diyagramlarında Kullanılan Semboller Madde madde yazılan algoritmaların okunması kolaydır, ancak işleyişin bütününü görmek, çoğu zaman mümkün değildir. Akış diyagramları, algoritmaları görsel biçimde göstermeyi, dolayısıyla daha anlaşılır hale getirmeyi sağlar. Algoritmada yapılacak işlemlerin çeşitlerine göre çeşitli semboller kullanılır. 38

39 Algoritma ve Dump Coding Başla Bitir. Algoritmanın hangi aşamadan başlayacağını ve ne zaman biteceğini gösteren semboldür. Bir algoritmayı temsil eden akış diyagramında, bir tane Başla ve bir tane Bitir sembolü olmalıdır (Resim 5.1). Veri Girişi. Kullanıcıdan ve başka bir kaynaktan alınan verilerin isimlerini tutar (Resim 5.2). Karar Verme. Karar yapısını belirten semboldür. Üstünde koşul ifadesi belirtilir (Resim 5.3). Veritabanı. Veritabanında okuma veya yazma işlemi yapıldığını gösterir (Resim 5.4). kullanılması, akış diyagramını daha anlaşılır kılar (Resim 5.7). rı bir fonksiyon sembolü sembolle belirtilir (Resim 5.8). 39

40 Algoritma ve Dump Coding Konu 4. Algoritma Uygulamaları I. Bilet Satma Bir tiyatro uygulamasının sürekli gerçekleştireceği temel işlem, bilet satmaktır. Bu işlemi gerçekleştirmek için gerekli kodlar yazılmadan önce, algoritma kurulmalıdır (Resim 5.9). 1 Kullanıcının istediği oyun, gün ve yer bilgileri alınır. 2 Veritabanı sorgulanarak, belirtilen günde oynayan oyunun boş yerleri çıkartılır. 3 Boş yer sayısı sıfırsa, o günde belirtilen oyun oynanmıyordur ya da oyundaki bütün yerler satılmıştır. 4 Her iki durumda da bilet kesilemediği için ekranda hata mesajı gösterilir. Gün ve oyun bilgilerini baştan almak için ilk etaba dönülür. 5 Kullanıcıdan oturmak istediği yer bilgisi alınır. 6 İstediği yerin dolu olup olmadığı kontrol edilir. 7 Yer dolu ise ekrana hata mesajı gösterilir ve yer bilgisi tekrar alınmak üzere 5. etaba dönülür. 40

41 Algoritma ve Dump Coding Yer boşsa, veritabanında oyunun yer kayıtları güncellenir. 9 İstenilen gün, oyun ve yer bilgilerini içeren bilet yazıcıdan çıkartılır. Çay Demleme Bu örnekte, bir çay demleme işleminde yapılması gereken işlemleri, kontrol edilmesi gereken olayları içeren algoritma kurulur (Resim 5.10). 1 Kullanıcıdan su vermesi beklenir. 2 Suyu ısıtma işlemi yapılır. 3 Suyun kaynayıp kaynamadığı kontrol edilir. Kaynamamışsa 2. etaba dönülür. 4 Çay daha önceden hazır olduğu için, kullanıcıdan beklenmez. Demliğe çay koyma işlemi yapılır. 5 Kullanıcıdan, demleme işleminin ne kadar süreceği bilgisi alınır. 6 Kullanıcıdan alınan demleme süresi ile şimdiki zaman (çayın demlenmeye başladığı zaman) toplanır. Çıkan değer, BitisZamani isimli değişkene atılır. Bu değişken demleme işleminin ne zaman biteceği bilgisini tutar. 7 Şimdiki zaman, bitiş zamanından küçükse çayın demlenmesi için ayrılan süre daha dolmamış demektir. Bu süre dolana kadar 7. etap tekrarlanır. 8 Çayın demlendiğini, kullanıcıya ekran üzerinde bildiren bir mesaj çıkartılır. 41

42 Algoritma ve Dump Coding Üniversite Eğitim Notunu Hesaplama Üniversitede bir dersin başarı notu, genelde bir vize ve bir final notu ile hesaplanır. Vize notunun katsayısı finalden daha düşüktür. Sonuçta çıkan not 50 ve üstündeyse öğrenci geçer, 50 nin altındaysa kalır. Bu örnek, vizenin %30 ve finalin %70 ağırlıklı olduğu başarı notunun hesaplanmasını akış diyagramıile gösterir (Resim 5.11). 1 Notu hesaplanacak öğrencinin numarasıkullanıcıdan alınır. 2 Veritabanından öğrencinin vize ve final notları çekilir. 3 Eğer final notu 28 veya daha düşükse öğrenci kalır ve 9. etaba gidilir. Bu durumda vize notu 100 olsa dahi, sonuç olarak toplanan not 50 nin altında olur. Dolayısıyla öğrencinin kalması kesinleşir. Böyle bir kontrol yapılması, gereksiz işlemlerin yapılmasını engeller. 4 Vize değişkenine, veritabanından alınan vize notunun %30 u atanır. 5 Final değişkenine, veritabanından alınan final notunun %70 i atanır. 6 Sonuc değişkenine, Vizeve Finaldeğerlerinin toplamıatanır. 7 Sonuc değerinin 50 den büyük olup olmadığı kontrol edilir. 8 Sonuc 50 den büyükse ekrana Geçtiniz yazan bir mesaj çıkartılır. Algoritmadan çıkılır. 9 Sonuç 50 den küçükse ekrana Kaldınız yazan bir mesaj çıkartılır. 42

43 43 Algoritma ve Dump Coding

44 Algoritma ve Dump Coding Konu 5. Alıştırmalar Kaynak: Aşağıdaki sorular Yeryüzünde henüz cevabını kimsenin bilmediği sorular Ancak biz bunların cevabını bulmayacağız tabii Bu sorulardan yararlanarak bazı problemler yapalım I. Soru Asal sayılara ilişkin pek çok bilgi henüz gün ışığına çıkmadı. Bunun yanı sıra ortaya atılmış ama ispatlanmamış pek çok da kestirim var. İşte bunlardan biri: İkiz Asallar: İkiz asallar yani aralarındaki fark 2 olan asallar sonsuz tane midir? Bende bilmiyorum ve tabii ki bunu bulmanızı istemicem (3, 5), (5, 7), (11, 13), (17, 19), (29, 31), (41, 43)...??? Veee soru. keyfi verilen N sayısı için elemanları ikiz asal sayılardan oluşan (2xN) lik matrisi veren programın algoritmasını yazınız. Soru Mükemmel Sayı Sorusu Mükemmel sayı kendisi haricindeki tüm çarpanlarının toplamı kendisini veren sayıdır. Örneğin 6 bir mükemmel sayıdır çünkü kendisi haricindeki çarpanları yani 1, 2 ve 3 toplanınca kendisini verir: = 6. Diğer örneklerse 28, 496, 8128 şeklinde gidiyor. Şimdiye kadar hiç tek mükemmel bir sayıya rastlanmamış. Merak edilen böyle bir sayının var olup olmadığı. Eğer vardır diyorsanız bu sayıyı, saklandığı yerden bulup çıkarmalı, ya da olmadığını iddia ediyorsanız bunu ispatlamalısınız. Tabii ki sizden böyle bir ispat beklemiyorum. Sizden istediğim (i,j) bileşenleri mükemmel sayılardan oluşan verilen 2x2 lik mükemmel bir matris oluşturacak şekilde algoritma yazmanız. Yani bu durumda matrisinizin elemanları 6,28,496,8128 olacaktır. Soru Palindromik Sayılar 44

45 Algoritma ve Dump Coding Kapak, kütük, sus, yay, kepek kelimeleri ilginç bir ortak özellik ile dikkat çekiyor: düzden ve tersten okunduğunda aynı. Benzer bir yapıya sahip olan Palindromik sayılar da düzden ve tersten okunduğunda aynı olan sayılardır: 1991, 10001, 12621, , Bu alandaki açık soru ise şöyle: Hem asal hem de Palindromik olan sonsuz tane asal sayı bulunabilir mi? Yine ben bu soruyu sormayacağım. Sanırım asallarla çok işimiz var. Soru şu: Bileşenleri Palindromik sayı olan NxN matris oluşturacak şekilde programın algoritmasını yazınız. Kaynak: Soru Elemanları, 6 ile bölündüğünde 5 kalanını; 7 ile bölündüğünde 6 kalanını veren keyfi NxN matrisi yazdıran programın algoritmasını yazınız. Soru Kendisi dışındaki tüm bölenlerinin toplamı kendisinden büyük olan her pozitif tam sayıya verimli sayı diyelim. Örneğin, 27 sayısının, kendisi dışındaki bölenlerinin toplamı = 13 < 27 olduğundan, 27 sayısı bir verimli sayı değildir. Öte yandan, kendisi dışındaki tüm bölenlerinin toplamı = 42 > 30 olduğundan, 30 sayısı bir verimli sayıdır. Buna göre elemanları verimli sayılardan oluşan keyfi NxN lik matrisi veren programın algoritmasını yazınız. Kaynak: Herkese çok kolay gelsin. Arzu Erdem 45

46 Algoritma ve Dump Coding Konu 6. Alıştırmaların çözümleri Kaynak: Aşağıdaki sorular Yeryüzünde henüz cevabını kimsenin bilmediği sorular Ancak biz bunların cevabını bulmayacağız tabii Bu sorulardan yararlanarak bazı problemler yapalım I. Soru Asal sayılara ilişkin pek çok bilgi henüz gün ışığına çıkmadı. Bunun yanı sıra ortaya atılmış ama ispatlanmamış pek çok da kestirim var. İşte bunlardan biri: İkiz Asallar: İkiz asallar yani aralarındaki fark 2 olan asallar sonsuz tane midir? Bende bilmiyorum ve tabii ki bunu bulmanızı istemicem (3, 5), (5, 7), (11, 13), (17, 19), (29, 31), (41, 43)...??? Veee soru. keyfi verilen N sayısı için elemanları ikiz asal sayılardan oluşan (2xN) lik matrisi veren programın algoritmasını yazınız. Çözüm Soru Mükemmel Sayı Sorusu Mükemmel sayı kendisi haricindeki tüm çarpanlarının toplamı kendisini veren sayıdır. Örneğin 6 bir mükemmel sayıdır çünkü kendisi haricindeki çarpanları yani 1, 2 ve 3 toplanınca kendisini verir: = 6. Diğer örneklerse 28, 496, 8128 şeklinde gidiyor. Şimdiye kadar hiç tek mükemmel bir sayıya rastlanmamış. Merak edilen böyle bir sayının var olup olmadığı. Eğer vardır diyorsanız bu sayıyı, saklandığı yerden bulup çıkarmalı, ya da olmadığını iddia ediyorsanız bunu ispatlamalısınız. Tabii ki sizden böyle bir ispat beklemiyorum. Sizden istediğim (i,j) bileşenleri mükemmel sayılardan oluşan verilen 2x2 lik mükemmel bir matris oluşturacak şekilde algoritma yazmanız. Yani bu durumda matrisinizin elemanları 6,28,496,8128 olacaktır. Soru Palindromik Sayılar 46

47 Algoritma ve Dump Coding Kapak, kütük, sus, yay, kepek kelimeleri ilginç bir ortak özellik ile dikkat çekiyor: düzden ve tersten okunduğunda aynı. Benzer bir yapıya sahip olan Palindromik sayılar da düzden ve tersten okunduğunda aynı olan sayılardır: 1991, 10001, 12621, , Bu alandaki açık soru ise şöyle: Hem asal hem de Palindromik olan sonsuz tane asal sayı bulunabilir mi? Yine ben bu soruyu sormayacağım. Sanırım asallarla çok işimiz var. Soru şu: Bileşenleri Palindromik sayı olan NxN matris oluşturacak şekilde programın algoritmasını yazınız. Kaynak: Soru Elemanları, 6 ile bölündüğünde 5 kalanını; 7 ile bölündüğünde 6 kalanını veren keyfi NxN matrisi yazdıran programın algoritmasını yazınız. Soru Kendisi dışındaki tüm bölenlerinin toplamı kendisinden büyük olan her pozitif tam sayıya verimli sayı diyelim. Örneğin, 27 sayısının, kendisi dışındaki bölenlerinin toplamı = 13 < 27 olduğundan, 27 sayısı bir verimli sayı değildir. Öte yandan, kendisi dışındaki tüm bölenlerinin toplamı = 42 > 30 olduğundan, 30 sayısı bir verimli sayıdır. Buna göre elemanları verimli sayılardan oluşan keyfi NxN lik matrisi veren programın algoritmasını yazınız. Kaynak: Herkese çok kolay gelsin. Arzu Erdem 47

48 Microsoft Visual Studio Ara yüzü Bölüm 6. Visual Basic.NET ile Windows Tabanlı Programlama Windows tabanlı uygulamalar, Windows işletim sistemi üzerinde çalışan uygulamalardır. Windows uygulamaları Windows formları ve kontrollerinden oluşur. Visual Studio bu formların ve üzerindeki kontrollerin tasarımını ve kodların yazılmasını büyük ölçüde kolaylaştırarak, uygulama geliştirme sürecini daha hızlı ve kolay hale getirir. Bu bölümü tamamladıktan sonra; tabanlı programlamada kullanılan kontrolleri tanıyacak, kavramlarını öğrenecek, tanımlamayı öğrenecek, 48

49 Microsoft Visual Studio Ara yüzü Konu 1. İlk Uygulama (Hello World, The Time Is...) Visual Basic.NET ile yazacağımız Windows uygulaması ekrana, Hello World yazısını ve o anki zamanı gösteren bir bilgi mesajını çıkartır. 1 Visual Studio çalışma ortamını açın. 2 File menüsünden, New alt menüsünü ve Project komutunu seçin. New Project iletişim kutusu, yazılacağı dile, çalışacağı ortama göre değişen proje tiplerini listeler. 3 Proje tiplerinden Visual Basic Project ve Windows Application tipinin seçili olduğunu kontrol edin. 4 Name özelliğine Hello World yazın ve OK düğmesini tıklayın. Açılan Windows projesinde başlangıç olarak bir adet Windows Form, tasarım görünümünde açılır. 5 Toolbox panelinden Button kontrolünü formun üzerine sürükleyip bırakın. Properties panelini açarak Button kontrolünün Text özelliğine Hello World yazın. 6 Eklenen Button kontrolünü çift tıklayarak kod sayfasına geçin. Button kontrolü tıklandığında çalıştırılacak kodu yazın: MsgBox("Hello World The time is " & Now) NOT Yazdığınız kodun ne anlama geldiğini belirtmek için yorum satırları kullanmak, kodları okumayı kolaylaştırır. Yorum satırları tek tırnak 'ile başlayarak yazılmalıdır. 7. MsgBox metodunun yazıldığı kodun üstüne, yapılmak isteneni belirten bir yorum satırı yazın. ' MsgBox metodu ile kullanıcıya Merhaba diyoruz. ' Now özelliği ile o andaki saat ve gün ' değerlerini de kullanıcıya gösteriyoruz. 8. F5 tuşuna basarak projeyi çalıştırın. 49

50 Microsoft Visual Studio Ara yüzü İPUCU Çalışma sayfaların isimlerinin yanında yıldız işaretinin gözükmesi, o sayfada değişiklik yapıldığını, ancak henüz kaydedilmediğini belirtir. Proje dosyalarınızı CTRL+S tuşlarına basarak sıkça kaydedin. Konu 2. Özellikler, Metotlar ve Olaylar.NET kontrolleri üç temel kavramdan oluşur. I. Özellikler Özellikler, kontrollerin görünümü, yerleşimi veya davranışlarına özgü niteliklerdir. Örneğin, bir Button kontrolünün Text özelliği, üzerinde yazan yazıya erişmemizi sağlar. Kontrollerin özellikleri, tasarım anında Properties panelinden ulaşılabileceği gibi, kod tarafında da okunup değiştirilebilir. Kontrollerin birçok özelliği hem okunabilir, hem de değiştirilebilir. Ancak bazı özellikler salt okunur (ReadOnly) ve salt yazılır (WriteOnly) olabilir. Bu tip özellikler Properties panelinde gözükmezler. Kontrollerin birçok ortak özellikleri vardır. Text (Yazı). Kontrollerin Text özelliği, üzerinde görüntülenen yazıdır. Bu özellik, çalışma anında sıkça okunup değiştirilerek kullanıcıyla iletişim sağlanır. TextBox kontrolüne girilen bir değerin okunup Label kontrolüne yazılması için, kontrollerin Text özellikleri kullanılır. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Label1.Text = TextBox1.Text End Sub 50

51 Microsoft Visual Studio Ara yüzü Name (İsim). Name özelliği kontrollere ulaşmak için kullanılan özelliktir. Birçok kontrolün Text özelliği aynı olabilir. Ancak her biri ayrı birer nesne olduğu için, Name özelliklerinin benzersiz olması gerekir. TextBox2.Text = TextBox1.Text İki TextBox kontrolünün yazıları aynı, fakat isimleri farklıdır. Size (Büyüklük). Kontrollerin büyüklük özelliğidir. Height (yükseklik) ve Width (genişlik) özelliklerinden oluşur. Genellikle tasarım anında belirlenen bu özellik, çalışma anında da değiştirilebilir. Label1.Height = 10 Label1.Width = 20 BackColor (Arka plan rengi). Kontrollerin arka plan renginin ayarlandığı özelliktir. Bu özelliğin değeri, Color (renk) nesnesinde tanımlı değerlerle belirlenir. ForeColor (Önalan rengi). Kontrollerin üzerindeki yazıların rengini belirler. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Button1.BackColor = Color.Black Button1.ForeColor = Color.White End Sub Visible (Görünür). Kontrollerin ekranda görünüp görünmediklerini belirleyen özelliktir. True ve False olmak üzere iki değer alabilir. Boolean veri tiplerinden bu modülde bahsedilecektir. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 'Label kontrolünü gizle Label1.Visible = False 'Label kontrolünü göster 51

52 Microsoft Visual Studio Ara yüzü Label1.Visible = True End Sub End Class Metotlar Metotlar kontrollerin yaptığı işlemlerdir. Metotlar parametreyle veya parametresiz çağrılabilir. Parametreyle çağırmak, metodun girilen değere göre işlem yapacağını belirtir. Örneğin Focus (Odaklan) metodu, parametre beklemeden çalışır ve kontrolün seçilmesini sağlar. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ' İşlem yapıldıktan sonra ' TextBox kontrolüne odaklan TextBox1.Focus() End Sub Kontrollerin bazı ortak metotları vardır. Select (Seç). Select metodu Focus ile aynıdır, ama TextBox kontrolünün Select metodunun diğerlerinden bir farkı vardır. TextBox içindeki yazının belli bir kısmını ya da tamamını, verilen parametrelere göre seçer (Resim 4.3). Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click TextBox1.Text = "Yazılım Uzmanı" TextBox1.Focus() ' Sekizinci karakterden sonra, beş karakter seç TextBox1.Select(8, 5) End Sub RESİM 4.3 BringToFront (Öne Getir). Kontrolü, üst üste duran kontroller arasından en öne getirir. SendToBack (Arkaya Gönder). Kontrolü, üst üste duran kontrollerin en arkasına gönderir. Hide(Sakla). Kontrolün gözükmesini engeller. Show(Göster). Kontrolün gözükmesini sağlar. 52

53 Microsoft Visual Studio Ara yüzü Olaylar Olaylar kontrollerin başına gelen işlemlerdir. Olayların metotlardan farkı, bu işlemlerin kontrollerin elinde olmadan gerçekleşmesidir. Örneğin bir Button kontrolünün tıklanması, o kontrolün isteği dışında yapılmıştır. Bu olayın tetiklenmesinde kontrolün bir rolü yoktur. Bu olaylar gerçekleştiği zaman yapılması gereken işlemler, ilgili olayın yordamına yazılır. Button1 isimli kontrol tıklandığı zaman gerçekleştirmek istenen eylemler Button1_Click yordamına yazılır. Visual Studio ortamı, kontrollerin olaylarını kolay bir şekilde seçmeyi sağlar. Kod sayfalarında kontrollerin bulunduğu listeden, istenen kontrol seçilir. Kontrolün olaylarının listelendiği diğer listeden de istenen olay seçilir (Resim 4.4). Private Sub Form1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Click MsgBox("Form üzerine tıklandı") End Sub Visual Studio, olayların yordam isimlerini Kontrol İsmi_Olay İsmi biçiminde yazar.kontrollerle çalışırken benzer olaylar kullanılır. Click (Tıklandığında). Kontrol tıklandığı zaman tetiklenen olaydır. Windows tabanlı programlamada en sık kullanılan olaylardan biridir. MouseDown (Fare düğmesi basıldığında). Fare, kontrolün üzerindeyken herhangi bir düğmesine basıldığı zaman gerçekleşen olaydır. Bu olay, Click olayından önce çalışır. MouseUp (Fare düğmesi bırakıldığında). Fare, kontrolün üzerindeyken basılan düğme bırakıldığı zaman çalışır. Enter (Girildiğinde). Kontrol seçildiği veya üzerine odaklanıldığı zaman gerçekleşen olaydır. Leave (Çıkıldığında). Başka bir kontrol seçilmek üzere çıkıldığında, bu kontrolün Leave olayı tetiklenir. VisibleChanged(Görünürlüğü değiştiğinde). Kontrolün görünüp görünmediğini belirten Visibleözelliği değiştiği zaman tetiklenir. İPUCU Olayların çalışma sıralarını test etmek için tüm olay yordamlarına, mesaj kutusu çıkaran (MsgBox) kod yazın. Daha sonra projeyi çalıştırıp kontroller üzerinde yapılan değişikliklere göre olayların çalışma sıralarına bakın. 53

54 Microsoft Visual Studio Ara yüzü Konu 3. Visual Basic.NET e Kontrollerin Eklenmesi Windows tabanlı uygulamalar geliştirirken sıkça kullanacağımız bir grup kontrol vardır. Form kontrolü hariç diğer bütün kontroller Toolbox panelinden seçilir. Bu kontroller sürüklenip form üzerinde istenen pozisyona bırakılır (Resim 4.5). Şekil 4.5 Kontroller, Toolbox panelinde çift tıklanarak da eklenebilir.kontrollerin tasarım anında büyüklükleri ve yerleri Size ve Location özellikleri ile değiştirilebileceği gibi, fare ile de istenen şekilde ayarlanabilir (Resim 4.6). Şekil

55 Microsoft Visual Studio Ara yüzü I. Form Windows uygulamaları, Windows kontrollerinin tutulduğu pencereler olan formlardan oluşur. Bir Windows projesi açıldığı zaman Form kontrolü otomatik olarak eklenir. İkinci bir form eklemek için Project menüsünden Add Windows Form komutunu seçilir. Proje çalıştığı zaman başlangıç formu görüntülenir. Başlangıç formu projenin özelliklerinden değiştirilir (Resim 4.7 ve Resim 4.8) Şekil 4.7 Şekil 4.8 Visual Studio ortamında formlar, tasarım sayfası ve kod sayfası olmak üzere iki farklı sayfada görüntülenir. Tasarım sayfası, formun ve üzerindeki kontrollerin görünümlerini 55

56 Microsoft Visual Studio Ara yüzü kolay bir şekilde değiştirmeyi sağlar. Visual Studio bu sayfada yapılan değişiklikleri kod sayfasında eşzamanlı olarak günceller. Örneğin, bir Button kontrolünün genişliğini fare ile değiştirdiğimiz zaman, kod sayfasında bu kontrolün Width özelliği yapılan değişikliğe göre güncellenir. Aynı değişiklikler Properties panelinde de görülebilir. Formların, diğer kontrollerin özelliklerinden farklı bazı özellikleri vardır. ControlBox (Denetim kutusu). Form üzerindeki simge durumuna küçültme, ekranı kaplama ve formu kapatma (Minimize / Maximize / Close) kutularının görünümünü ve erişilebilirliğini kontrol eder. NOT Formun ControlBox özelliği False iken uygulama, Debug menüsünden Stop Debugging komutu seçilerek kapatılabilir. StartPosition (Başlangıç pozisyonu). Form açıldığı zaman nerede gözükeceğini belirler. CenterScreen seçeneği formu ekranın ortasında gösterir. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Label1.Text = "Proje başlatıldı. Kayıt zamanı: " & Now End Sub Form Özellikleri Özellik AcceptButton Button AllowDrop AutoScroll AutoSize AutoValidate Değer Tipi Açıklama Form üzerinde Enter tuşuna basıldığı zaman tıklanacak Button kontrolü Bu özelliğin True olması ile resim dosyalarını formunuzun üstüne sürükleyip bıraktığınızda şekil formunuzun üstünde kalabilecektir. (Sadece True olması yeterli değildir. Formunuzun DragDrop olayı ile kod ekranında istediğiniz formatı vermeniz gerekmektedir.) Panel içinde kaydırma çubuklarının eklenmesini istiyorsanız bu özelliği True yapmalısınız. True ise nesnenin boyutlarını değiştiremeyebilirsiniz. Bu durumda nesnenin boyutlarını değiştirmek istiyorsanız False yapmalısınız. (i) Disable: Onaylama işlemleri bu özellik ile kapanır. (ii) EnableAllowFocusChange: Onaylama işlemleri ulaşılabilirdir. Fakat onaylama işlemi başarısız olursa işlem 56

57 Microsoft Visual Studio Ara yüzü yeni bir kontrole geçer. Validated olayı çalışmaz. (iii) EnablePreventFocusChange: Onaylama işlemi kontrol başarısız olsa bile gerçekleşir. (iv) Inherit: Otomatik kontrol davranışını içerdiği bir formdan veya başka bir kontrolden alır. Eğer içerdiği bir kontrol davranışı yok ise otomatik olarak EnablePreventFocusChange olarak atar. BackColour BackgroundImage BackgroundImageLayout CancelButton CauseValidation ContextMenuStrip ControlBox Cursor DoubleBuffered Enabled Font ForeColour FormBorderStyle Nesnenizin arka plan rengini değiştirir. Nesnenizin arka planına resim koymak istiyorsanız bu özellikten yararlanacaksınız. Resminizin ortalı, dayalı, vb. gibi olmasını istiyorsanız bu özelliği kullanacaksınız. AcceptButton un aksine formunuzda ESC düğmesini aktif hale getirme işlemini yapar. Validating veya validated olaylarının meydana gelmesi için bu özelliğin True olması gerekir. ContextMenu kontrolü sağ fare tuşu ile açılan menüler oluşturmak için kullanılır. Max. Min. Ve kapatma ile ilgili kontrolleri kullanmak istemiyorsanız bu özelliği False yapmalısınız. Fare kontrol üzerine geldiğinde fare göstergesinin alacağı şekil bu özellik ile belirlenir Kontrolünüzün yüzeyinin çizilebilir olmasını istiyorsanız True özelliğinde olmalı. Kontrolünüzü erişilebilir olması için True özelliğinde olmalıdır. Kontrolünüzdeki yazı tipini belirlemek istiyorsanız buradan değişiklik yapabilirsiniz. Kontrolünüzdeki yazı renklerini buradan değiştirebilirsiniz. Bu özellik ile formun çerçeve şeklini belirleyebilirsiniz. (i) Sizable: Otomatik olarak atana değerdir. Formun kapatılması, boyutlandırılması ve taşınması mümkündür. (ii) FixedSingle: Boyutları değiştirilemeyen ancak taşınabilir bir form oluşturur. Ekran boyutu yalnızca ekranı 57

58 Microsoft Visual Studio Ara yüzü kapla ve simge durumuna küçült seçenekleri ile değişir. (iii) Fixed3D: Aynı FixedSingle da olduğu gibi boyutları değiştirilemeyen bir form oluşturur. Tek farkı 3 boyutlu bir görünüme sahip olmasıdır. (iv) FixedDialog: Boyutları değiştirilemeyen ve sistem menüsü (ControlBox) olmayan bir form oluşturur. Genelde diyalog pencereleri oluşturmak için kullanılır. (v) FixedToolWindow: Normal forma göre başlığı daha küçük olan, kontrol menüsü olmayan ve boyutlandırmayan bir form oluşturur. Ekranı kapla ve simge durumuna küçült düğmeleri bulunmaz. (vi) SizableToolWindow: FixedToolWindow ile hemen hemen aynı olup tek farkı boyutlandırılabilir olmasıdır. (vii) None: Çerçevesi, başlığı, kontrol kutusu, ekranı kapla ve simge durumuna küçült düğmeleri olmayan bir form oluşturur. HeplButton Bu özelliği True yaparak formlarınıza düğmesini ekleyebilirsiniz. Formun üzerinde bu düğmenin bulunabilmesi için: (i) ControlBox özelliği True olmalıdır. (ii) FormBorderStyle özelliği, FixedSingle, Fixed3D, Sizable veya FixedDialog olmalıdır. (iii) (iv) (v) MaximizeBox ve MinimizeBox özellikleri False olmalı. Formunuzun üstüne bir TextBox yerleştirin. Textbox un HelpRequested olayına Help.ShowPopup(TextBox1, _ "Buraya ne görüntülenmesini istiyorsanız yazın...", _ hlpevent.mousepos) ifadesini yazın ve formunuzu çalıştırın. Icon ImeMode Formunuzun ikonunu değiştirmek için gerekli olan bir özelliktir. İkon dosyalarının uzantısı *.ico olduğu için buradaki dosyanızın *.ico uzantılı olması gerekmektedir. Nesneniz seçili olduğunda nesnenizin the Input Method 58

59 Microsoft Visual Studio Ara yüzü Editor (IME) durumunu verir. IsMdiContainer KeyPreview Tek başına çalışan formlara SDI form denir. Normalde yeni bir projeye başlarken projede bulunan form ve daha sonra eklenen formlar SDI formlardır. Bir formun IsMdiContainer özelliğini true yaparsak o form MDI form haline dönüşecektir. MDI formlar içinde kendisine bağlı formlar bulundurur Bu formlar (Child form) MDI formuna bağlıdır. MDI forma bağlıdır. Formunuzu MDIChild yapma işlemini tasarım ile değil, kod ile yapabilirsiniz. Bu özelliği True yaparsanız herhangi bir tuşa basıldığında, o kontrolün Key olayları ile birlikte Formun da Key olayları meydana gelir. Örnek: F10 basıldığında programdan çıkmak istiyorsunuz. Bu durumda kodu hangi kontrolün Key olayına yazacaksınız? Programınızda bir sürü kontrol olabilir. Programınızdaki tüm kontrollerin KeyDown olayına F10 tuşunu algılayacak kodu yazmaktansa Formun KeyPreview özelliği True yapılır. Daha sonra formun kod kısmına Protected Overrides Sub OnKeyDown(ByVal e As System.Windows.Forms.KeyEventArgs) MyBase.OnKeyDown(e) If Keys.F10 Then end End Sub Konutlarını yazıp programınızı çalıştırdıktan sonra F10 tuşuna bastığında programınızın kısayol olarak sonlandığını göreceksiniz. Language Localizable Location Locke Dil özelliklerini belirler. Dil seçenlerinizin kullanılabilir olması için bu özelliğin True olması gerekmektedir. Kontrolünüzün x ve y koordinatlarını belirler. Fareyle de belirleyebileceğiniz gibi hassas ayarlar için elle giriş yapabilirsiniz. True olduğunda kontrolün kilitlenmesini sağlar. MainMenuStript Formunuza yerleştirdiğiniz MenuStript özelliği için geçerlidir. 59

60 Microsoft Visual Studio Ara yüzü MaximizeBox True olduğunda ekranı kapla düğmesi kullanılabilirdir. MinimizeBox True olduğunda simge durumuna küçült düğmesi kullanılabilirdir. Opacity: Padding RightToLeft ShowIcon Size SizeGripStyle StartPosition Bu özelliğin değeri normalde 100% dır. Bu değeri azalttıkça formunuzun saydamlaşmasını ve alttaki belgeyi göstermesini sağlarsınız. Kontrolün kenarlara olan uzaklığını verir. Kontrolün text yazısını sağdan sola doğru yazılması için Yes olarak seçilmelidir İkonun görünebilir olması için bu özelliğin True olması gerekir. Kontrolün boyutlarını belirlemek için kullanılır. Fare ile de belirleyebilirsiniz. Formunuzun sağ alt köşesinde sembolünü görmek istiyorsanız bu özelliği Show olarak ayarlayınız. Form açılırken ekrandaki koordinatların belirlenmesi için kullanılan özellikleri: (i) CenterScreen: Form ekranın ortasında açılır. (ii) CenterParent: Form içinde bulunduğu formun ortasında açılır. (MDI Child formlar gibi) (iii) açılır. Manual: Form tasarlanırken bulunduğu koordinatlarda (iv) WindowsDefaultBounds: Formun koordinatları ve boyutları Windows tarafından belirlenir. (v) WindowsDefaultLocation: Formun koordinatları Windows tarafından belirlenir Tag Text TopMost TransparencyKey Bu özelliğin Visual Basic için hiçbir anlamı yoktur. Kullanıcı bu özelliği bir değişken gibi kullanarak istediği bilgiyi saklayabilir. Kontrolün başlığıdır. Formun devamlı üstte durmasını istiyorsanız bu özelliğin True olması gerekir. Örneğin Word de kelime arama formunu düşünün. Formunuzu görüntü olarak özelleştirmek istiyorsanız bu 60

61 Microsoft Visual Studio Ara yüzü özelliği kullanın. Örnek: Şeklinde Paint de bir dosya oluşturun ve kaydedin. Formunuzun BackgroundImage ne bu resmi yerleştirin. TransparencyKey özelliğindeki arka plan rengini resminizin arka plan rengi olarak seçin. (Benim örneğimde mavi olacak) Formunuzu çalıştırdığınızda formunuzun saydam bir özellikte olduğunu göreceksiniz. UseWaitCursor Fare göstergesinin, formun üstüne geldiğinde program çalışıyormuş formatında görünmesini istiyorsanız bu özelliği True yapmalısınız. WindowsState Form açıldığında hangi formatta olduğunu buradan belirleyeceksiniz. (i) (ii) (iii) Normal: Normal olarak açılacaktır Minimized: Simge durumunda açılacaktır. Maximized: Tam ekran durumunda açılacaktır. Form Olayları Olay Click Closing Closed Load Açıklama Form üzerine tıklandığı zaman gerçekleşir Form kapanmadan hemen önce gerçekleşir Form kapandıktan sonra gerçekleşir Form yüklenirken gerçekleşir 61

62 Microsoft Visual Studio Ara yüzü KeyDown KeyUp Form üzerindeyken bir tuşun basılması ile gerçekleşir Basılan tuşun kaldırılması ile gerçekleşir Form Metotları Metot Hide Close Show ShowDialog Açıklama Visible özelliğini False yaparak formu gizler Formu kapatır. Eğer form başlangıç formuysa uygulama sonlanır Formu gösterir. Hide ile gizlenmişse, Visible özelliği True yapılır. Formu iletişim kutusu olarak gösterir. Button Bir Windows düğmesini temsil eder. Button kontrolü tıklandığında Click olayı tetiklenir. Bu olay gerçekleştiği zaman yapılacak işlemler, Button İsmi_Click yordamında yazılır. Private Sub btnrenkdegistir_click(byval sender As System.Object, ByVal e As System.EventArgs) Handles btnrenkdegistir.click btnrenkdegistir.forecolor = Color.Gray End Sub 62

63 Microsoft Visual Studio Ara yüzü Button Özellikleri Özellik Anchor AutoEllipsis Dock ImageList Değer Tipi Açıklama Anchor kelime anlamı olarak demir atmak demektir. Bu özellik ile formunuzun boyutları değişse de kontrolünüz belirlediğiniz konumda sabit kalacaktır. Bu özelliği True yaparak okunmayan yazıları ipucu gibi görüntüleyebilirsiniz. Bunun için AutoSize seçeneğinin False olması gerekmektedir. Bu özellik ile herhangi bir kontrolün, formun belirlemiş olduğunuz bir kenarına alınmasını sağlarsınız. Butonun arka planında resmi kapsanmış bir şekilde değil de bir ikon gibi görünmesini istiyorsanız bu özelliği kullanacaksınız. Örnek: Toolbox penceresinde Components sekmesinden formunuza bir ImageList kontrolü yerleştirin. ImageList formda görünmeyen kontrollerdendir. ImageList in Properties penceresinde Images seçeneğinden resimler belirleyin. Seçmiş olduğunuz butonun ImageList özelliğinde formunuza koymuş olduğunuz ImageList inizi seçin. ImageIndex özelliğinden istediğiniz resmi seçip, ImageAlign özelliği ile resminizin butonun neresinde olmasını ayarlayın. TabIndex TabStop Klavyedeki Tab kontrolünü bu özellik ile belirleyebilirsiniz. Bu özellikte vermiş olduğunuz numaralandırma sizin tab kontrolünüzün sırasını belirler. True olduğunda nesneye Tab ile ulaşabilirsiniz. TextAlign Kontrolünüzün üstünde bulunan yazının hizalamasını buradan belirleyebilirsiniz. TextImageRelation UseCompatibleTextRendering UseMnemonic Visible Butonunuzda yazı ile birlikte şekilde varsa bunların ilişkisini bu özellik ile ayarlayabilirsiniz. Uyumlu olabilen yazıları bir araya toplar. Bu özelliği True yaparak yazı da (kısayol tuşu olarak kullanılabilen) & sembolünü kullanmanızı sağlayabilirsiniz. Kontrolünüzün görünmesini istiyorsanız True olarak seçin 63

64 Microsoft Visual Studio Ara yüzü aksi durumda False olarak seçin. TextBox TextBox Özellikleri Özellik MultiLine ScrollBars PasswordChar WordWrap MaxLength Açıklama Metin kutusuna birden fazla satırda değer girilebilmesini sağlar. False durumunda ise, metin kutusunun yüksekliği değiştirilemez Metin kutusunda kaydırma çubuklarının görünmesini kontrol eder. Varsayılan durumda kaydırma çubuğu görüntülenmez, ancak Horizontal, Vertical kaydırma çubukları ya da ikisi birden gösterilebilir. Metin kutusuna parola girilecekse, girilen karakterlerin hangi karakter olarak görüneceğini belirler. Metin kutusuna girilen değerlerin, satır sonlandığında bir alt satıra geçmesini belirtir. Eğer MultiLine özelliği False ise, alt satırlar tanımlı olmayacağı için bu özelliğin bir etkisi görülmez. Metin kutusunun alabileceği maksimum karakter sayısını belirtir. TextBox Olayları TextChanged Metin kutusundaki yazı değiştiği zaman gerçekleşir. 64

65 Microsoft Visual Studio Ara yüzü TextBox Metotları Metot Cut Copy Paste Clear SelectAll SelectedText Açıklama Seçilen karakterleri siler, ancak hafızada tutar. Seçilen karakterleri kopyalar. Hafızaya alınan karakterleri metin kutusuna yapıştırır. Metin kutundaki yazıları temizler. Metin kutusundaki tüm yazıyı seçer. Seçilmiş kısmı silmek veya değiştirmke için kullanılır. Select Select(Baslangic,Uzunluk), Text kutusu içindeki bölgeyi seçmek için kullanılır. Undo CanUndo Kullanıcı Ctrl+Z tuşlarına basarak en son yaptığı işlemi geri alabilir. Bu özelliği kullanarak geri alınacak bir işlemin olup olmadığını anlayabilirsiniz. Label Label kontrolü form üzerinde kullanıcıya bilgi vermek amacıyla kullanılan etikettir. Label Özellikleri Özellik TextAlign BorderStyle Açıklama Yazının etiket üzerindeki pozisyonu belirler. Kontrolün kenar stilidir. 65

66 Microsoft Visual Studio Ara yüzü FixedSingle değeri, kontrolün kenar çizgilerini gösterir. Fixed3Ddeğeri, kenarların üç boyutlu olmasını sağlar. ImageAlign RightToLeft Etiket üzerindeki resmin nerede duracağını belirler. Etiket üzerindeki yazının yönünü belirler. Eğer Yes değerini alırsa, yazılar sağdan sola gösterilir Label1.BorderStyle = BorderStyle.Fixed3D Visual Studio klasörü altındaki simgeler kullanılabilir Label1.Image = Image.FromFile("C:\Program Files\Microsoft Visual Studio.NET 2003\Common7\Graphics\icons\Flags\FLGTURK.ICO") Label1.ImageAlign = ContentAlignment.MiddleRight Label1.RightToLeft = RightToLeft.Yes Label1.Text = "Türkçe" NOT Resmin bulunduğu yer kontrolün sağ tarafında bulunacak şekilde ayarlanmasına rağmen, sol tarafta gözükür. Bu durum, RightToLeft özelliğinin Yes olarak atanmasından kaynaklanır. CheckBox CheckBox Özellikleri Özellik Appearence AutoCheck Açıklama Görüntüsünü bu özellik ile değiştirebilirsiniz. Normalde True değerindedir ve kullanıcı Check kutusunu tıklayarak işaretleyebilir. False yapılırsa bu özelliğini 66

67 Microsoft Visual Studio Ara yüzü kaldırmış olursunuz ve sadece kod ile erişebilirsiniz. CheckAlign Checked CheckState TextAlign Check kutusunun hangi tarafta olduğunu belirlemeniz için bu özelliği kullanacaksınız. Check kutusunun işaretli olmasını istiyorsanız True olarak belirlemelisiniz. Normalde False olarak atanır. Check kutusunun işraret durumunu belirler. Checke özelliğini True olarak belirlerseniz, CheckState özelliğiniz Checked olarak belirlenecektir. Kontrolünüzün üstünde olan yazının hizalamasını bu özellik ile verebilirsiniz. RadioButton RadioButton kontrolleri, kullanıcıya sunulan seçeneklerden sadece bir tanesinin seçilmesine izin verir. Form üzerinde birden fazla RadioButton konulduğunda, bu kontrollerin sadece bir tanesi seçili olabilir. Fakat bazı durumlarda, farklı seçenek grupları kullanılarak kullanıcının birden fazla seçim yapması istenebilir. Bu durumda, bazı seçenekler GroupBox kontrolü ile gruplanmalıdır. Bu kontrolün özellikleri ve olayları CheckBox kontrolü ile aynıdır. Sadece bir seçenek işaretlenebildiği için, kontrollerin yapılması CheckBox kontrolüne göre daha kolaydır. 67

68 Microsoft Visual Studio Ara yüzü ListBox Kullanıcıya sunulan seçeneklerin bir liste halinde görünmesini sağlar. Liste kutusundan istenen sayıda öğe seçilebilir. ListBox Özellikleri Özellik Items SelectedItem SelectedItems SelectedIndex Açıklama Liste kutusuna eklenen öğelerin tutulduğu koleksiyon nesnesidir. Liste kutusundan seçilen öğeyi alır. Liste kutusundan seçilen öğeleri alır. Seçilen öğeler dinamik bir dizide tutulur. Liste kutusundan seçilen öğenin indisini alır. SelectedIndices Liste kutusundan seçilen öğelerin indislerini bir koleksiyon nesnesinde tutar. DataSource DisplayMember ValueMember SelectedValue Listenin öğelerinin tutulduğu veri kaynağıdır. Veri kaynağı boş geçilirse Itemskoleksiyonuna eklenen öğeler görüntülenir. Veri kaynağından gelen öğelerin, kullanıcıya gösterilecek özelliğidir. Veri kaynağından gelen öğelerin, dönüş değerini belirleyen özelliğidir. Seçilen öğenin, liste kutusunun ValueMember ile belirtilen özelliğidir. 68

69 Microsoft Visual Studio Ara yüzü SelectionMode Liste kutusundan kaç tane öğe seçilebileceğini belirtir. Nonedeğeri 0, Onedeğeri 1, MultiSimple ve MultiExtended değerleri birden fazla öğenin seçilebileceğini belirtir. MultiColumn Liste kutusundaki öğelerin biden fazla kolonda görüntülenmesini belirler. ListBox Olayları Olay SelectedIndexChanged Açıklama Liste kutusunda bir öğe seçildiği zaman gerçekleşir. ListBox Metotları Metot Items.Add(ByVal Eleman As Object) Items.AddRange Items.Insert(No,Eleman) Items.RemoveAt(No) Items.Remove(Eleman) Items.Clear Items.Count Items(No) Items.IndexOf(Eleman) Items.Contains(Eleman) Items.CopyTo(Dizi,No) SelectedIndex Açıklama Listeye eleman eklemek için bu metot kullanılır.verilen elemanları listenin sonuna ekler. Bir grup elemanı tek seferde listeye eklemek için bu metot kullanılır. Elemanı verilen yere eklemek için kullanılır. Numarası verilen elemanı listeden siler. Verilen elemanı listeden siler. Listedeki bütün elemanları siler. Listedeki eleman sayısını verir. Listede numarası verilen elemanın içeriğini öğrenmek veya değiştirmek için bu metot kullanılır. Listede bir elemanı aramak için bu metot kullanılır. Bir elemanın listede olup olmadığını incelemek için bu metot kullanılır. Listedeki elemanları bir diziye aktarmak için bu metot kullanılır. Listedeki seçili elmanın sıra numarasını öğrenmek için bu 69

70 Microsoft Visual Studio Ara yüzü özellik kullanılır. ClearSelected FindStringExact(aranan) FindString GetItemText GetSelected FindString Listedeki seçili elemanı kaldırmak için bu metot kullanılır. Bu metot, verdiğiniz elemanı arar ve bulunduğu konumu verir. Parametredeki String ifadesini liste kutusunda arayarak, bulduğu ilk öğenin indisini döndürür. FindStringExact tan farkı elemanın tümünde değil bir bölümünde arama yapar. Örneğin Ali kelimesini aramak istiyorsanız Ali, Aliş, Alihan gibi elemanları da bulur. Parametre olarak verilen nesnenin liste kutusunda gösterilen yazısını döndürür. Parametre olarak verilen indisteki öğenin seçili olup olmadığını döndürür. Parametredeki String ifadesini liste kutusunda arayarak, bulduğu ilk öğenin indisini döndürür Çok Seçimli Listeler SelectedItems SelectedItems.Count SelectedItems.Item(No) Seçili elemanların sayısı, içeriği vb. gibi bilgileri verir. Seçili eleman sayısını verir. Seçili elemanın içeriğini verir. ComboBox Liste kutusu ile aynı özelliklere sahiptir, ancak listelenen öğeler açılan bir kutuda görüntülenir ve listeden en fazla bir tane öğe seçilebilir. Liste kutusuna göre bir başka 70

71 Microsoft Visual Studio Ara yüzü farklılığı ise, isteğe bağlı olarak, kullanıcının açılan kutu üzerinde değer girebilmesidir. Dolayısıyla bir TextBox kontrolü gibi de davranabilir. ComboBox Özellikleri Özellik AutoCompleteCustomSource Açıklama Otomatik tamamlama ilgili kaynak belirlemek istiyorsanız buradaki listeye elemanları giriniz. AutoCompleteMode Otomatik tamamlama şekillerini bu özellik ile belirleyebilirsiniz. AutoCompleteSource DropDownStyle Otomatik tamamlama ilgili var olan kaynakları seçebilirsiniz. AutoCompleteCustomSource ile farkı: AutoCompleteCustomSource da kendi listenizi oluşturma ayrıcalığı mevcuttur. ComboBox ın tipini belirler. i. DropDown: Aşağı doğru açılan v eiçeriği kullanıcı tarafından değiştirilebilen ComboBox dır. ii. DropDownList: Aşağı doğru açılabilen fakat kullanıcı tarafından değiştirilemeyen ComboBox lardır. iii. Simple: Aşağı doğru açılmayan fakat kullanıcı tarafından değiştirilebilen ComboBox dır. DropDownWith MaxDropDownItems SelectedIndex ComboBox ile açılan kısmın genişliğini ayarlayabilirsiniz. Listenizin maksimum uzunluğunu belirler. Listede seçili olan elemanların numarası bu özellik ile belirlenir. ComboBox Olayları Olay SelectedIndexChanged TextChanged Açıklama Liste kutusunda bir öğe seçildiği zaman gerçekleşir. DorpDownStyle özelliği DropDown olan listeler için kullanıcın listedeki yazıyı değiştirirken gerçekleşen bir olaydır. 71

72 Microsoft Visual Studio Ara yüzü MainMenu Type Here yazılan yere menu eklemek için kullanırız. Bunun yerine DropDownItems yerine menuleri ekleyebilirisiniz. MainMenu Özellikleri Olay DropDownItems ShortCut ShowShortCut Checked Açıklama Menu eklenir Kısayol eklemek için kullanılır. ShortCut özelliğinin gösterilip gösterilemeyeceğini belirler. True özelliği ile CheckBox özelliği kazanılır. OpenFileDialog OpenFileDialog Özellikleri Özellik Açıklama FileName Kullanıcının seçtiği dosyanın adını bu özellikle öğrenebilirsiniz. Filter MultiSelect Dosya türünü belirlemek için kullanılır. Resimler *.gif Birden fazla dosyayı seçmek için kullanılır. 72

73 Microsoft Visual Studio Ara yüzü ReadOnlyCheck Title InitialDirectory DefaultExt CehckFileExists Salt okunur aç seçeneğinin işaretli olup olmadığını öğrenebilirsiniz. Diyalog penceresi açılırken Diyalog penceresi açıldığında hangi klasörü göstereceğini belirler. Kullanıcı dosya isminde dosya uzantısını yazmaz ise bu özellik ile belirtilen dosya uzantısı dosya adına eklenir. True değeri atanırsa, dosya aç penceresinde yazılan dosyanın kayıtlı olup olmadığını kontrol eder. CheckPathExists True değeri ile, kullanıcının yazdığı dosya yolunun doğruluğunu kontrol edersiniz. OpenFileDialog Metotları Olay ShowDialog Açıklama Dialog penceresini açmak için kullanılır. SaceFileDialog OpenFileDialog ile aynı özelliklere sahip olup, dosyaları kaydetmek için kullanılır. RichTextBox Standart TextBox kutusunda formatlı bir giriş için uygun olmadığından bu nesne kullanılır. RichTextBox Metotları Özellik SelectionFont SelectionColor SelectionAlignment Cut, Copy, Paste CanPaste Undo Redo Açıklama Seçili bölgenin fontunu ayarlamak için kullanılır. Seçili bölgenin yazı rengini ayarlamak için kullanılır. Seçili paragrafın hizalamak için kullanılır. Kesme, kopyalama ve yapıştırma işlemleri için kullanılır. Pano içine yapıştırılabilir bir bilgi olup olmadığını öğrenmek için kullanılır. Son yapılan işlemi geri almak için kullanılır. Son geri alınan işlemi tekrar yapmak için kullanılır. 73

74 Microsoft Visual Studio Ara yüzü CanUndo, CanRedo SaveFile(Dosya_Adı) LoadFile(Dosya_Adı) Geri alınacak veya yinelecek bir işlem olup olmadığını öğrenmek için kullanılır. Dosya adı verilerek RTF formatında kayıt yapar. RTF formatında dosyayı açmak için kullanılır. NumericUpDown NumericUpDown Özellikleri Özellik Açıklama DecimalPlaces Sayının ondalık kısmını belirlemek istediğimizde bu özelliği kullanacaksınız. Hexadecimal Bu özelliğin True olması durumunda sayı Hexadecimal (16 tabanında) gösterilir. Increment InterceptArrowKeys Maximum: Minimum ReadOnly ThousandsSeparator Sayıların artış miktarı için kullanılacak olan bir özelliktir. Klavyedeki üst ve alt tuşların kullanılabilir olması için bu özelliği True olarak belirlemelisiniz. Sayıların üst sınırıdır. Sayının alabileceği en küçük değerdir. Kontrolün içine sayı girişi yapılmamasını istiyorsanız bu özelliği True olarak değiştirmelisiniz. Binlik hanelerde. Ayıracını koymak istiyorsanız bu özelliği True olarak belirlemelisiniz. 74

75 Microsoft Visual Studio Ara yüzü UpDownAlign Value Yukarı ve aşağı azaltma düğmelerini bu özelliği kullanarak sağda veya solda görünmesini sağlayabilirsiniz. NumericUpDown kontrolünün içindeki değerini bu özellik ile öğrenebiliriz. NumericUpDown Olayları Olay ValueChanged Açıklama NumericUpDown kontrolünün içinde değer yukarı aşağı seçildiğinde bu olay gerçekleşir. NumericUpDown Metodları Olay UpButton(),DownButton() Açıklama Kontrolün içindeki sayıyı kontrol ile azaltmak isterseniz bu metodu kullanabilirsiniz. ProgressBar ProgressBar Özellikleri Özellik Mininmum Maximum Value Step Açıklama ProgressBarın alacağı minimum değerdir. ProgressBar ın alacağı maksimum değerdir. ProgressBar ın alacağı değerdir. Değerin hangi adımlarla artacağını belirler. 75

76 Microsoft Visual Studio Ara yüzü NumericUpDown Metotları Özellik PerformStep Açıklama Step belirttikten sonra bu metot ile değeri belirtilen aralık kadar değiştirebilirsinz. TabControl TabControl Özellikleri Özellik Değer Tipi Açıklama HotTrack Boolean Fare ile sekme sayfalarının üzerine gelindiğinde, isimlerinin görsel olarak değişmesini belirler. ItemSize Size Sekme sayfalarının büyüklüğünü belirler. Multiline True Eklenen sekmelerin birden fazla satırda üst üste gözükmesini belirler. ShowToolTips Boolean Fare sekme sayfalarının üzerindeyken bilgi mesajının gösterilmesini belirler. SelectedTab TabPage Seçilen sekme sayfasını belirler. SelectedIndex Integer Seçilen sekme sayfasının indisini belirler. TabCount Integer Sekme sayısını belirler. TabPages TabPageCollection Kontrolün içinde bulunduğu sekme sayfalarının koleksiyonudur. 76

77 Microsoft Visual Studio Ara yüzü Timer Timer Özellikleri Özellik Interval Enabled Açıklama Bu nesnenin çalışacağı zaman periyodudur. Normalde program çalıştığında False değerindedir. Timer ın çalışması için True yapılmalıdır. Timer Olayları Özellik Tick Açıklama Timer kontrolünün Interval özelliği ile belirtilen süre içerisinde periyodik olarak bu olay meydana gelir. Interval 77

78 Microsoft Visual Studio Ara yüzü özelliği düşük olan Timer lar için bu olay içerisinde yazılacak kodun hızlı olması gerekir. ErrorProvider ErrorProvider Özellikleri Özellik Değer Tipi Açıklama BlinkRate Integer Hata simgesinin kaç milisaniyede bir yanıp söneceğini belirler. BlinkStyle ErrorBlinkSytle Hata simgesinin yanıp sönme stilini belirler. i. AlwaysBlink, her zaman, ii. BlinkIfDifferentError farklı bir hata meydana geldiğinde yanıp söneceğini belirler. iii. NeverBlinkise simgenin yanıp sönmeden görüntüleneceğini belirler. Icon Icon Hata mesajlarının gösterilmesi sırasında çıkan simgeyi belirler. ErrorProvider Metotları SetError Kontrollerin hata mesajlarının belirlenmesi için kullanılır. ErrorProvider kontrolü forma eklendiği zaman, Properties panelinde, kontrollerin ekstra özellikleri görünür. Bu özellikler, forma eklenen her ErrorProvider için oluşturulur. 78

79 Microsoft Visual Studio Ara yüzü Özellik IconAlignment On IconPadding On Error On Açıklama Hata simgesinin, kontrolün üzerinde nerde bu lunacağını belirler. Hata simgesinin, kontrolden kaç piksel uzakta duracağını belirler. Varsayılan hata mesajını belirler ImageList Birden fazla resmi bir arada tutmak için kullanılır. ImageList Özellikleri Özellik Değer Tipi Açıklama ImageSize Images(No) Resmin boyutunu ayarlarsınız. Listenin içindeki resmileri almak için kullanılır. PictureBox Form üzerinde bir resim görüntülemek için kullanılır. PictureBox Özellikleri Özellik Değer Tipi Açıklama Image Image Kontrolün resim kaynağını belirler. 79

80 Microsoft Visual Studio Ara yüzü SizeMode PictureBoxSizeMode Kontrolün, resmi nasıl görüntüleyeceğini belirler. i. AutoSizedeğeri, kontrolün büyüklüğünü resmin büyüklüğüne göre ayarlar. ii. CenterImagedeğeri, resmi kontrolün ortasına gelecek şekilde ayarlar. iii. Normaldeğeri, kontrolün sol üst köşesine göre konumlandırır. iv. StretchImagedeğeri, resmi kontrolün büyüklüğüne göre boyutlandırır ve resmin tam görünmesini sağlar. DateTimePicker Bir açılan kutudan zaman değeri seçmeyi sağlar. Seçilen değer Date tipinde olur. DateTimePicker Özellikleri Özellik Değer Tipi Açıklama CalendarTrailing ForeColor CalendarTitle ForeColor CalendarTitle BackColor CalendarMonth Background Color Color Color Color Bir önceki ve bir sonraki ayın günlerinin görüntülenme rengidir. Takvim başlığının ön plan rengidir. Takvim başlığının arka plan rengidir. Takvim arka plan rengidir. 80

81 Microsoft Visual Studio Ara yüzü CalendarForeColor Color Takvimdeki yazıların ön plan rengidir CalendarFont Font Takvimin gösterileceği yazı tipi ayarlarıdır. ShowCheckBox Boolean Tarih değerinin yanında seçme kutusunun gösterilmesi. Checked Boolean Seçme kutusu görüntülendiği zaman, tarihin seçili olup olmadığını gösterir Format DateTime PickerFormat Kontrolün görüntüleneceği formatı belirler. Long, Shortdeğerleri uzun ve kısa tarih formatını, Time sadece zamanı gösterir. Custom değeri, CustomFormat özelliğine girilen formatta gösterileceğini belirler. CustomFormat String Tarihin hangi formatta gösterileceğini belirler. Value Date Seçilen tarih değerini belirler. MaxDate Date Kontrolün alabileceği maksimum tarih değeridir. MinDate Date Kontrolün alabileceği minimum tarih değeridir. ShowUpDown Boolean Kontrolün formunu açılan kutu ya da yukarı aşağı okları formatında gösterir. Bu özellik True olduğunda, kontrolün formatı, NumericUpDown kontrolünün formatında olur. DateTimePicker Metotları ToOADate:Tarih bilgisini Double türünden bir sayıya çevirir. ToShortDateString: Tarihi kısa formatta stringe dönüştürür. ToLongTimeString: Zamanı uzun formda stringe dönüştürür. 81

82 Microsoft Visual Studio Ara yüzü Konu 4. Hazır Fonksiyonlar I. Yazı işlemleri Trim Yazının başındaki ve sonundaki boşlukları atmak: Label1.Text = Trim(" BilgeAdam ") ' Sonuç: BilgeAdam LCase Tüm yazıyı küçük harfe çevirmek: Label1.Text = LCase("BILGEAdam") ' Sonuç: bilgeadam UCase Tüm yazıyı büyük harfe çevirmek: Label1.Text = UCase("bilgeADAM") ' Sonuç: BİLGEADAM Mid Yazının belirli bir bölümünü almak. İkinci parametrede verilen pozisyondan başlayarak, üçüncü parametredeki değer kadar karakter alınır: Label1.Text = Mid("BilgeAdam", 6, 4) ' Sonuç: Adam Replace Replace(Neyin_İçinde,Neyi,Ne_İle, [Kaçıncı_Harften],[Kaç_Tane],[Nasıl]) Stringin içindeki bir ifadeyi değiştirmek istediğimizde kullanırız. Replace( Arzu Erdem, Arzu, Melike ) Sonuç: Melike Erdem Space Space(Sayı) Verilen sayıda boşluk oluşturur. Msgbox( Hoşçakal & Space(25) & & Bye & Space(25) & Tschüs ) 82

83 Microsoft Visual Studio Ara yüzü II. Karakter işlemleri Char.IsLetter Karakterin alfabetik olup olmadığını öğrenmek için kullanılır. CharIsDigit Karakterin 09 arasında bir rakam olup olmadığını öğrenmek için kullanılır. CharIsNumber Karakterin sadece bir rakam değil ½, 1/5 gibi bir sayı olup olmadığını öğrenmek için kullanılır. CharIsLower Karakterin küçük harf olup olmadığını kontrol eder. CharIsUpper Karakterin büyük harf olup olmadığını kontrol eder. CharIsSymbol Karakterin bir sembol olup olmadığını kontrol eder. Aşağıdaki program ad girişinde harf kontrolü yapmaktadır. Eğer harf girişi yok ise program uyarı vericek Dim adim As String, i As Byte, c As Char adim = InputBox("Adınızı giriniz", "Ad girişi") For i = 0 To adim.length 1 c = adim.chars(i) If Not Char.IsLetter(c) Then Else MsgBox("Lütfen harf giriniz", MsgBoxStyle.Critical) Exit For If i = adim.length 1 Then MsgBox("Adınız..." & adim) End If Next End If GetChar Yazının parametrede belirtilen sıradaki karakteri almak: 83

84 Microsoft Visual Studio Ara yüzü Label1.Text = GetChar("BilgeAdam",9) ' Sonuç: m III. Sayı işlemleri Rnd Rasgele sayı üretmek ' Maximimum 400 değerini alan bir sayı üretir Rnd() * 400 değer üretmek için, Rnd fonksiyonundan önce Randomize fonksiyonunun gerekir: çağırılması Randomize() Rnd() * ile 1 arasında rasgele sayı üretir. Rnd 20 ile 50 arasında sayı üretir. Rnd*30+20 IsNumeric Parametrede verilen bir değerin sayı olup olmadığını kontrol etmek. Geriye dönen değer True ya da False mantıksal değeridir: IsNumeric(TextBox1.Text) IV. Sayı işlemleri Rnd Rasgele sayı üretmek ' Maximimum 400 değerini alan bir sayı üretir Rnd() * 400 değer üretmek için, Rnd fonksiyonundan önce Randomize fonksiyonunun gerekir: çağırılması Randomize() Rnd() * ile 1 arasında rasgele sayı üretir. Rnd 84

85 Microsoft Visual Studio Ara yüzü ile 50 arasında sayı üretir. Rnd*30+20 IsNumeric Parametrede verilen bir değerin sayı olup olmadığını kontrol etmek. Geriye dönen değer True ya da False mantıksal değeridir: IsNumeric(TextBox1.Text) Konu 5. InputBox InputBox, kullanıcının veri girmesi için açılan bir mesaj kutusudur. Formlarda TextBox kontrolüne ihtiyaç duymadan veri almayı sağlar (Resim 4.15). InputBox("Bir sayı giriniz: ", "Sayı Girişi", 1, 350, 350) Prompt InputBox metodunun ilk parametresi, mesaj kutusunun gövdesinde gözükecek yazıdır. Diğer tüm parametreler isteğe bağlıdır. Title(Başlık). Mesaj kutusunun başlığıdır DefaultResponse (Varsayılan cevap). Kullanıcı veri girmediğinde varsayılan değerdir. XPos(X pozisyonu). Mesaj kutusunun sol kenarının, ekranın sol kenarına olan uzaklığıdır. YPos(Y pozisyonu). Mesaj kutusunun üst kenarının, ekranın üst kenarına olan uzaklığıdır. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ListBox1.Items.Add(InputBox("İsim soyad giriniz:", "Bilgi Girişi", "Bilinmiyor")) End Sub 85

86 Microsoft Visual Studio Ara yüzü Konu 6. MessageBox MessageBox, kullanıcıya bilgi göstermek için açılan mesaj kutusudur. Bu mesaj kutusu dört öğeden oluşur (Resim 4.16). Text(Yazı). Mesaj kutusunda verilmek istenen bilgiyi tutan yazıdır. Caption(Başlık). Mesaj kutusunun başlığıdır. Buttons (Düğmeler). Mesaj kutusunda hangi düğmelerin gösterileceğini belirler. Icon (Simge). Mesaj kutusunda gösterilecek olan simgeyi ve açıldığı zaman çıkartılacak sesi belirler. MessageBox.Show("Devam etmek istiyor musunuz?", "Uyarı", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) Mesaj kutusu, kapanırken hangi düğmenin tıklandığını DialogResult nesnesi ile programcıya bildirir. NOT MsgBoxhazır fonksiyonu MessageBox.Show metodu ile aynı işleve sahiptir. 86

87 Microsoft Visual Studio Ara yüzü Konu 7. Değişken Sabit Nedir? Değişkenlerin ve Sabitlerin Tanımlanması I. Değişken Nedir, Nasıl Tanımlanır? Program yazarken, bazı verilerin daha sonra kullanılmak üzere bir yerde tutulması gerekebilir. Örneğin, bir hesaplama yapılırken, önceden hesaplanmış verilerin kullanılması istenirse, bu verileri tekrar hesaplamak yerine hafızada tutmak performansı artırır. Veya veritabanından alınan bir kullanıcı isminin hafızada tutulması, bu değer her istendiğinde veritabanına bağlanıp alınmasına tercih edilmelidir. Verilerin bu şekilde hafızada tutulması değişkenlerle sağlanır. Değişkenler farklı türlerde verileri tuttukları için, farklı tiplere sahip olabilir. Bir negatif veya pozitif sayıyı tutan değişken ile yazı tutan bir değişken farklı tiplere sahiptir. Değişkenler Dim anahtar kelimesi ile tanımlanır. Dim sayi NOT Dim sözcüğü, boyut anlamına gelen Dimension kelimesinin kısaltmasıdır. Bu şekilde tanımlanan değişkenler Object (nesne) tipindedir, yani her türden veriyi tutabilirler. Nesne tipindeki değişkenler, tanımlanmalarının kolay olması ve istenen tipte değer tutabilmeleri açısından avantajlı olsa da, performansı önemli ölçüde düşürürler. Tuttukları değerlerin tipleri biliniyorsa, değişkenleri tanımlarken tiplerini belirlemek gerekir. 87

88 Microsoft Visual Studio Ara yüzü Sayısal Tipler: Byte, Short, Integer, Long, Single, Double, Decimal String Tipler: String, Char Mantısal Tipler: Boolen Tarih Tipi: Date Tanımlama Kuralları Boşluk, nokta, soru işareti, noktalı virgül, çift tırnak, tek tırnak, aritmetik operatörler, karşılaştırma operatörleri ve atama operatörleri ile parantezler kullanılamaz. Dim Ad1 Doğru Dim 1Ad Yanlış Dim Ad_Soyad Doğru Dim Ad ve Soyad Yanlış Dim AdSoyad Yanlış Dim Ad_Soyad Doğru Değişken ismi 255 karakterden fazla olmamalıdır. Dim x,y,z as Integer, t,k as String Değişkenlerin tanımlanmadan kullanılması için Option Explicit seçeneğinin kapalı olması gerekir. Option Explicit seçeneğini projenin özelliklerindeki Build sekmesinden değiştirilebileceği gibi, kod sayfalarının en üstünde de değiştirilebilir. 88

89 Microsoft Visual Studio Ara yüzü Option Explicit seçeneğinin On olması, tanımlanmamış değişkenlerin kullanılmasına izin vermez, tasarım anında hata üreterek programcıya bildirir. Varsayılan durumda Ondeğeri seçilidir. II. Sayısal Tipler Byte: 1 Baytlık 0 ile 255 arasında değer alır. Short: 2 Baytlık ile arasında değer alır. Integer: 4 Baytlık ile arasında değer alır. Long: 4 Baytlık ile arasında değer alır. 38 Single: 4 Baytlık ile arasında değer alır. 308 Double: 8 Baytlık ile arasında değer alır. Decimal: 14 Baytlıktır ve 29 basamağı tüm dijitleri koruyarak tutabilir. Sayısal hesaplamalarda hassasiyet için Decimal kullanmanızı öneririz. Sınır aşımlarına dikkat Val(String): Text kutularında sayı olup olmadığını anlamak için IsNumeric komutunu kullanmak kodunuzu uzatabilir. Böyle bir durumda hatalı veri girişini engellemek için bu komutu kullanırız. Val fonksiyonu ondalık ayıracı olarak nokta işaretini kabul eder. Eğer ondalık ayıracı kullanmak istiyorsanız Val yerine Cdec fonksiyonunu tercih etmelisiniz. Sayıların Yuvarlanması \ Operatörü Sonucu tamsayı gösterir. Virgülden sonrasını yuvarlama yapmaksızın atar. Int(sayı) Kendinden düşük olan sayıya tam sayı olarak yuvarlar. Tam değer gibi düşünebilirsiniz. 89

90 Microsoft Visual Studio Ara yüzü Fix(sayı) Int(sayı) dan farkı sadece virgülü atar. Math.Round Diğerlerinden farkı istediğiniz ondalığa kadar gösterme ve yuvarlama işlemini yapar. Sayıları Biçimlendirme Format: Format(sayı, ##,## TL ) III. Char ve String Tipi Char: Sadece 1 karakter barındırır. String: Karakter sınırı verilmezse 2 milyar karaktere kadar atama yapılabilir. Length: String in uzunluğunu verir. Dim str As String = "Ali Gel" MsgBox(str.Length) Chars: Chars(k) Stringin k. Harfini verir. BüyükKüçük Harfe Çevirme ToLower: Küçük harfe çevirir. Label1.Text.ToLower ToUpper: Büyük harfe çeirir. Label1.Text.ToUpper String Karşılaştırma String.Compare(String1,String2) karşılaştırma harfin öncelik sırasına göre yapılır. Eşitse 0 değerini alır, string in baş harfi diğerinden önce geliyorsa büyüktür ve pozitif bir sayı alır aksi durumda negatif değer alır. String.Compare(TextBox1.Text, TextBox2.Text) String.Compare(String1,String2,Ayırım yapılmasın mı?) İki String arasında karşılaştırma yaparken harfin büyük ve küçük ayrımı yapılmasını istemiyorsanız Ayırım yapılmasın mı?yerine True yazınız String.Compare(TextBox1.Text, TextBox2.Text, True) BoşlukKarakter Atma TrimStart: Stringin başındaki boşlukları atar. TextBox2.Text = TextBox1.Text.TrimStart 90

91 Microsoft Visual Studio Ara yüzü TrimEnd: Stringin sonundan boşlukları atar. TextBox2.Text = TextBox1.Text. TrimEnd Trim: Stringin her iki tarafından boşlukları atar. TextBox2.Text = TextBox1.Text.Trim String Parçalama SubString(Başlangıç, Uzunluk) MsgBox( Erzurum.SubString(2,4)) zuru Split Dim S() As String S= Arzu Erdem.Split( ) S(0)=Arzu, S(1)=Erdem UBound Stringin kaç parçaya ayrıldığını öğrenebilirsiniz. UBound(S) 1 (Yukarıdaki örnek için) String Arama IndexOf, LastIndexOf IndexOf(Aranan_String, Kaçıncı_Harften(, Kaç_Harf)) Aramayı baştan yapar Dim str As String str = "Arzu Erdem" MsgBox(str.IndexOf("r", 2)) MsgBox(str.IndexOf("r", 0)) MsgBox(str.IndexOf("r", 2, 4)). LastIndexOf(Aranan_String, Kaçıncı_Harften, Kaç_Harf) Aramayı sondan yapar String Birleştirme Concat Concat(String1, String2,, StringN) Concat(String1, String2,, StringN) = String1 & String2 & & StringN = String1 + String2 + + StringN String.Concat(TextBox1.Text, TextBox2.Text) TextBox1.Text&TextBox2.Text TextBox1.Text+TextBox2.Text 91

92 Microsoft Visual Studio Ara yüzü Join Join(Birleştirici_String,String Dizisi) Bir grub stringin arasına bir karakter koyarak birleştirmek için kullanılır. Dim str() As String = {"A", "B", "C", "D", "E", "F", "G", "H", "I"} MsgBox(String.Join(", ", str)) Insert Insert (Kacinci_Harften, String) Bir stringin içine başka bir stringi eklemek için kullanılır. Dim str As String = "Ali Gel" MsgBox(str.Insert(4, "Okula ")) String Değitirme ve Silme Replace Replace(Aranan_Metin, Yerine_Yazilacak_Metin) Bir stringin içinde geçen metni başka bir metin ile değiştirmek için bu metod kullanılır. Dim str As String = "Ali Gel" MsgBox(str.Replace("Gel", "Gelme")) Remove Remove(Kacinic_Harften, Kac_tane) Bir stringin içinde geçen metni silmek için bu metod kullanılır. Dim str As String = "Ali Okula Gel" MsgBox(str.Remove(4, 6)) String Formatlama PadLeft, PadRight PadRight(adet,karakter) Sağa karakter ekleme, PadLeft(adet,karakter) Sola karakter ekleme Dim str As String = "Ali Okula Gel" MsgBox(str.PadRight(20, ".")) Format String.Format( Formatlanicak_bicim ) Dim ad, yer As String, tarih As Date ad = "Arzu" yer = "İzmit" 92

93 Microsoft Visual Studio Ara yüzü tarih = Today MsgBox(String.Format("{0}, {1} tarihinde, {2}'te Vbasic dersi veriyor... ", ad, tarih, yer)) RSet, LSet RSet(String, Uzunluk) Sağa hizalama, LSet(String, Uzunluk) Sola hizalama Dim str As String = "Ali Okula Gel" TextBox1.Text = LSet(str, 20) IV. Global ve Local Değişkenler Dim ile tanımlanan değişken bir prosedür veya bir fonksiyonun içinde tanımlanmış ise Local, dışında tanımlanmış ise Global olarak adlandırılır. Bir değişken Public Shared ile tanımlanıyorsa tüm formlarda ve tüm modüllerde kullanılabilir. Bir değişkeni programın her tarafında kullanacak şekilde tanımlamak için bir Modülün içinde Public deyimi ile kullanmak gerekir. Değişkenlere değer atamayı aşağıdaki şekillerde yapabilirsiniz: Dim a=1, b=2 Dim a,b a=1 b=2 Dim a as integer=1, b as integer=2 V. Static Değişken Tanımı Local olarak tanımlanan bir değişkenin, tanımladığı altprogram veya fonksiyonun çalışması bittikten sonra değerinin korunması isteniyorsa Dim yerine Static deyimi kullanılır. Static değişkenlere değer atama aşağıdaki şekilde yapılır. Static a=1 Static a Yanlis kullanim 93

94 Microsoft Visual Studio Ara yüzü a=1 VI. Sabit Tanımlama Const Sabit_Ismi=Degeri (Const pi=3.1415) Konu 8. Operatörler I. Aritmetiksel Mantıksal Operatörler Bu operatörler aritmetik işlemlerinde, sayılarla veya sayı tutan ifadelerle kullanılır. Özellik Değer Tipi Açıklama = Eşittir * Çarpma / Bölme \ Tam Bölme + Toplama Çıkarma ^ Mod Not And Or XOr Üs Alma Bölmede kalan Değil Ve Veya Verilen koşulların farklarını kıyaslar 94

95 Microsoft Visual Studio Ara yüzü TABLO: And Operatörü Koşul 1 Koşul 2 Koşul 1 AndKoşul 2 True True True True False False False True False False False False TABLO : Or Operatörü Koşul 1 Koşul 2 Koşul 1 Or Koşul 2 True True True True False True False True True False False False TABLO: XOr Operatörü Koşul 1 Koşul 2 Koşul 1 XOrKoşul 2 True True False True False True False True True False False False II. Karşılaştırma Operatörleri Bu operatörler veri tiplerini birbirleriyle karşılaştırmak için kullanılır. Bu operatörler ile yapılan işlemlerin sonucunda True ya da False değeri döner. Karşılaştırma operatörleri yalnızca sayı tipleri üzerinde yapılmaz. String tipleri birbirleriyle alfabetik sıraya göre karşılaştırılabilir. Özellik Değer Tipi Açıklama <> Eşit Değil 95

96 Microsoft Visual Studio Ara yüzü > Büyük < Küçük >= Büyük eşit <= Küçük Eşit III. Özellik Matematiksel İşlemler Değer Tipi Açıklama Math.Max(Sayı1,Sayı2) Math.Min(Sayı1,Sayı2) Math.Abs(Sayı) Math.Sign(Sayı) Math.Floor(Sayı) Math.Ceiling(Sayı) Math.Round(Sayı) Math.Round(Sayı,Basamak) Math.Log10(Sayı) Math.Log(Sayı) Math.Log(Sayı,Taban) Math.Pow(sayı,üs) Math.Exp(sayı) Math.Sqrt(Sayı) Math.Sin(sayi) Math.Cos(Sayı) Math.Tan(Sayı) Math.Acos(Sayı) Math.Asin(Sayı) Math.Atan(Sayı) Maksimum Minimum Mutlak değer Signum fonksiyonu Yukarıya yuvarlama Aşağı yuvarlama En yakın tamsayıya çevirir. Virgülden sonra kaç basamağa kadar yuvarlatılacağını verir. 10 tabanında logaritma e tabanında logaritma Belirtilen tabanda logaritma Sayının üssünü alır Exponansiyel kuvvetini alır Sayının karekökünü alır Sayının sinüsünü alır Sayının Cosünüsünü alır Sayının Tanjantını alır Sayının arccos unu hesaplar. Sayının arcsin unu hesaplar Sayının arctan ını hesaplar 96

97 Microsoft Visual Studio Ara yüzü IV. Kısaltılmış Atama Operatörleri x=x+y ifadesi yerine x+=y kullanabiliriz. Buna göre kısaltabileceğimiz diğer operatörler şöyledir: ^= *= \= += = &= Konu 9. Dizilerle Çalışmak I. Dizi Tanımlama Dim isimler(3) As String Diziler tanımlanırken, ismi verildikten sonra parantez içinde kaç eleman içereceğini belirtmek gerekir. Dizilerin indisleri sıfırdan başlar. Örnekteki isimler dizisinin String tipinde 4 tane elemanı vardır. Dizilerin elemanlarına ulaşmak için, istenen elemanın indisinin verilmesi gerekir. isimler(0) = "Ali" isimler(1) = "Ahmet" isimler(2) = "Mehmet" isimler(3) = "Ayşe" MsgBox(isimler(3)) Dizilere tek tek değer atanabildiği gibi, tanımlarken de başlangıç değerleri atanabilir. 97

98 Microsoft Visual Studio Ara yüzü Dim isimler() As String = {"Ali","Ahmet","Mehmet","Ayşe"} Diziler tek boyutlu olduğu gibi, birkaç boyutlu diziler de tanımlanabilir. Dim x(10,25) II. Dinamik Dizi Tanımlama Programda tanımlanacak dizinin boyutu her zaman belli olmayabilir. Örneğin bir üye takip programı yapacaksınız. Üyeler ile ilgili bilgilerin hafızada tutulması gerekebilir. Bu program örneğin Türkiye genelinde kullanılacaksa yüz binlerle ifade edilir ama küçük bir sitede uygulayacaksanız yüzlerle ifade edebilirsiniz. Boyutu 500 gibi bir değerde tutarsak, program 500 den fazla üyenin bulunduğu bir sitede çalışmayacaktır gibi bir rakam yazarsak sorun çözülecektir. Ancak bu kadar boyut ayırdığımızda bu kadar boyutun tamamını kullanamayabiliriz. Bu durumda hem programa yer kaplatmış oluruz hem de programı yavaşlatmış oluruz. İşte böyle durumlarda diziyi static deyimi yerine ReDim deyimi ile tanımlayabiliriz. ReDim [Preserve] degisken_ismi (dizi_boyutu) Burada Preserve kullanılmazsa dizi içindeki elemanlar kaybolur. Dim degisken_ismi () As tipi Parantez içerisinde dizi boyutları verilmemiştir. Daha sonra dizinin boyutu ReDim ile yeniden tanımlanır. (3,0) boyutlu olan bir dizi, ' değerlerini koruyarak (3,1) boyutlu yapılır Dim dizi(,) As Double = {{1.0},{2.0},{3.0},{4.0}} ReDim Preserve dizi(3, 1) III. Diziler Üzerinde Yapılan İşlemler Array.Sort(Dizi) Diziyi sıralar Array.BinarySearch (Dizi, Aranan) Sıralı dizide arama yapar Array.IndexOf (Dizi, Aranan) Sıralı olmayan dizide de arama yapar Array.Reverse(Dizi) Diziyi ters çevirir 98

99 Karar Yapıları ve Döngüler Bölüm 7. Karar Yapıları ve Döngüler Karar yapıları ve döngüler, algoritmaların akışını yönlendirir. If ve Select Case karar yapıları ile gerekli kontroller yapılarak, uygulama istenen şekilde yönlendirilir. Döngüler ile, belli bir yol izelenerek birçok kez tekrarlanacak işlemler bir defa yazılır. Bu işlem, döngü sonlanana kadar gerçekleştirilir. Bu modül tamamlandıktan sonra: yapısının ve döngünün nerede kullanılacağını öğreneceksiniz. Konu 1. Karar Yapıları 99

100 Karar Yapıları ve Döngüler I. If If karar yapısı, bir koşul sağlandığı zaman yapılacak işlemleri kapsar. Kontrol edilecek koşul ifadesinin sonucu True değerini alırsa, If EndIf bloğu arasındaki kodlar çalıştırılır. If Şart Then Komutlar ElseIf Şart Komutlar ElseIf Şart Komutlar Else Komutlar End If If Şart then End If Komutlar Tek şartımız varsa End If kullanmayabiliriz If Şart Then Komutlar Else Komutlar 100

101 Karar Yapıları ve Döngüler If Şart Then Komutlar II. Select Case Bir değişkenin aldığı bir çok değere göre farklı komutların çalıştırılması gereken durumlar için If yapısını kullanmak yerine Select Case yapısını kullanmak daha avantajlıdır. Select Case Değişken Case Durum 1: Case Durum2, Durum3: Case Durum4 to Durum7: Case is <Durum8: Case is >Durum9: Case DurumN: Case Else End Select Komutlar Komutlar Komutlar Komutlar Komutlar Komutlar Komutlar Konu 2. Döngüler 101

102 Karar Yapıları ve Döngüler I. For Next For Sayac=Baslangic_Degeri To Bitis_Degeri Step Artim Next Komutlar DİKKAT Döngüler içinde dizi kullanılırken, sayaç sıfırdan başlamışsa döngünün biteceği nokta dizi uzunluğu 1 olmalıdır. DİKKAT Değişken tanımlamaları For döngüsünün içinde de yapılabilir. Bu durumda, değişkenin kapsam alanı bu döngüyle sınırlı kalır. For Döngülerinin İç İçe Kullanımı: For. Next. For Next 102

103 Karar Yapıları ve Döngüler II. While End While ve Do whileloop Bir döngünün kaç defa çalışacağı biliniyorsa ForNext döngüsü tercih edilir ancak bilinmiyorsa While döngüleri kullanılır. Bu iki döngünün de çalışma mantığı aynıdır. While Şart End While Komutlar Do While Şart Loop Komutlar III. Döngü Kontrol İfadeleri Exit Do Loop ve While döngülerinden birinde bazı şartların gerçekleşmesi durumunda döngüden çıkmak için kullanılır. Exit For ForNext döngüsü tamamlanmadan, bazı şartlar gerçekleştiğinde döngüden çıkmak için kullanılır. Exit SubExit Function Prosedür sonuna ulaşmadan prosedürden çıkmak için kullanılır. 103

104 Karar Yapıları ve Döngüler End Programı sona erdir. WithEnd With Bir kontrole ait bir özellik değiştirmek istendiğinde veya bir metod çağrıldığında kısayol olarak ulaşmak için kullanılır. With kontrol_adı.özellik=değer.özellik=değer End With Konu 3. Hata Yakalama Örneğin InputBox metodu ile bir sayının alınması sırasında, kullanıcı String tipinde bir değer girerse çalışma zamanında bir hata oluşur. 104

105 Karar Yapıları ve Döngüler Dim dizi(10) As Integer For i As Integer = 0 To dizi.length Label1.Text &= dizi(i) Next Resim deki hata mesajı, dizinin büyüklüğünün dışında bir indis verildiğini belirtir. Visual Basic.NET dilinde uygulama geliştirirken oluşabilecek tüm hatalar.net Framework altındaki Exception sınıfları halinde tanımlanır. Örneğin dizinin büyüklüğünden farklı bir indis verildiğinde IndexOutOfRangeException hatası ortaya çıkar. Tüm hatalar gibi bu hata da Exception taban sınıfından türetilmiştir. I. Try Catch Finally 105

106 Karar Yapıları ve Döngüler Try Komutlar Catch End Try Komutlar Çalışma zamanında ortaya çıkan hatalar uygulamanın beklenmedik bir şekilde sonlanmasına neden olur. Uygulamanın devam etmesi için bu hataların yakalanıp işlenmesi gerekir. Try Catch Finally blokları içinde, çalışma zaman hataları meydana geldiği durumlarda çalışması istenen kodlar yazılır. Try bloğu içine, çalışırken hata üretebilecek kodlar yazılırken, Catch bloğu içine, hata oluştuğunda yapılması gereken işlemler yazılır. Dim sayi As Byte Dim sonuc As Integer Try sayi = Rnd() * 3 sonuc = 100 / sayi MsgBox("Bölme işlemi başarılı, sonuç: & sonuc) Catch ex As Exception MsgBox("Bölme işlemi başarısız. Hata Mesajı: " & ex.message) End Try Bu örnekte üretilen rasgele bir sayı ile bölme işlemi yapılıyor. Sayı sıfır değerini aldığında, bölme işlemi hata üretir. Dolayısıyla bu işlem Try bloğu içine yazılmalıdır. Catch bloğunda, işlemin başarısız olduğunu belirten bir mesaj yazılır. Exception nesnesinin Message özelliği, hatanın oluştuğu zaman üretilen mesajı tutar. Exception nesnesinin özellikleri Catch içinde kullanılmayacaksa, tanımlanmasına gerek yoktur. 106

107 Fonksiyonlar ve Altprogramlar Bölüm 8. Fonksiyonlar ve Altprogramlar (Yordamlar) Uygulama geliştirirken, bir işlemin birçok yerde kullanıldığı zamanlar olur. Bu gibi durumlarda bir kere yazılan kodlar, farklı yerlerde tekrar yazılır. Uygulama üzerinde bir değişiklik yapılmak istenirse, tekrar yazılan kodların tek tek bulunup değiştirilmesi gerekir. Böylece hem uygulamanın yazımı zorlaşır, hem de değişik yapmak giderek imkânsız hale gelir. Bu problemler, birçok yerde yapılması istenen işlemlerin fonksiyonlar ve yordamlar içinde yazılması ile çözülür. Sadece fonksiyon ve yordamların isimleri kullanılarak, istenen yerlerde kodlar çalıştırılır. Yapılan işlemin sonucunda oluşan değer isteniyorsa fonksiyonlar kullanılır. Örneğin, veritabanına yeni bir kullanıcı ekledikten sonra, kullanıcının ID numarası isteniyorsa fonksiyon kullanılmalıdır. Eğer yapılan işlemlerin sonunda bir değer döndürülmüyorsa yordamlar kullanılır. Örneğin bir ComboBox kontrolüne öğe ekleme işlemi yordam içine yazılabilir..net çatısındaki nesnelerin birçok fonksiyon ve yordamları vardır. Tüm fonksiyon ve yordamların kaç parametre aldığı, geriye dönüş değerinin ne olduğu, hangi nesneye ait oldukları ezberlenemez. Dolayısıyla Visual Studio yardımının kullanılması kaçınılmazdır. Bu modül tamamlandıktan sonra; rak kodlarınızın yönetilebilirliğini ve esnekliğini artıracak, 107

108 Fonksiyonlar ve Altprogramlar (Yordamlar) I. Sub Sub yordamları dönüş değeri olmayan kod bloklarıdır. Bu kodlar Sub ve End Sub ifadeleri arasına yazılır. Sub YordamIsmi([Giriş_Parametreleri[As Tipi]]) End Sub Uygulama içinde birçok yerde çalışacak olan kodlar Sub yordamı içinde yazılır. Bu kodlar, içine yazıldıkları yordamın ismi ile çağırılarak, istenen yerde tekrar çalıştırılabilir. Örneğin, bir uygulama başlarken form üzerindeki kontrollerin temizlenmesi gerekiyorsa, bu kodları bir daha yazmamak için yordam kullanılabilir. II. Parametre Kullanımı Yordamların bazı değerlere göre farklı işlem yapması istenebilir. İşlemin bağlıolduğu bu değerlere parametre veya argüman denir. Yordamlar parametre alacak şekilde tanımlanıp, çağırıldıkları sırada istedikleri parametreler verilerek kullanılır. Sub YordamIsmi(Parametre1 As VeriTipi, Parametre2 As VeriTipi, ) End Sub 108

109 Fonksiyonlar ve Altprogramlar Örneğin, uygulamanın birçok yerinde kullanıcıya bilgi vermek amaçlı mesaj kutuları kullanılır. Eğer bu mesajlar bir yordam içine yazılırsa, daha sonra mesajlar bir Label üzerinde gösterilecek şekilde kodu değiştirmek kolay olacaktır. Yordamın göstereceği mesajların parametre olarak verilmesi gerekir. Optinal Parametre kullanımı Public Function f(x,y,optinal t=3, Optinal k=5) F(5,4) x=5, y=t, t=3, k=5 F(5,4,2) x=5, y=4, t=2, k=5 F(5,4,2,3) x=5, y=4, t=2, k=3 F(5,4,,2) x=5, y=4, t=3, k=2 III. Function Fonksiyonlar bir işlem yaptıktan sonra geriye değer döndürürler. Örneğin, bir çarpma fonksiyonunun dönüş değeri, parametre olarak verilen iki sayının çarpımıolacaktır. Fonksiyonların tanımları değişkenler gibidir. Function Fonksiyon(ByVal Param1 As VeriTipi,...) As DönüşVeriTipi End Function Fonksiyonların geriye dönüş değerleri Return ifadesi ile ya da fonksiyonun ismi verilerek yapılır. 109

110 Fonksiyonlar ve Altprogramlar (Yordamlar) IV. Parametre sayısı belli olmayan prosedür yazma ParamArray Yordamları ve fonksiyonları çağırırken parametrelerin mutlaka girilmesi gerekir. Ancak bazı durumlarda yordamlara ve fonksiyonlara girilecek parametrelerin sayısı tasarım zamanında belli olmaz. ParamArray anahtar kelimesi ile yordamlara, aynı veri tipinde bir parametre dizisi verilebilir. ParamArray ile verilen dizi, yordamın son parametresi olarak tanımlanmalıdır. Function(Sub) Fonksiyon(Yordam)Adı(ParamArray degisken As Tipi) As Tipi V. Fonksiyonların ve Yordamların Aşırı Yüklenmesi Fonksiyon ve yordamları kullanırken, aynı isimde birden fazla kez tanımlanabildikleri görülür. Buna Aşırı Yükleme (OverLoad) denir. Bir yordamın ve fonksiyonun aşırı yüklenmesi kullanımını kolaylaştırır. Aynı isimde farklı seçenekler sunması, metotların kullanışlılığını artırır. Overloads Function FonksiyonAdı(degisken1 As Tipi, degisken2 As Tipi, ) End Function 110

111 ADO.NET Bölüm 9. ADO.NET Konu 1. Veri Depolama Günümüzde verileri saklamak için çeşitli teknikler kullanılır. Örneğin bir emlakçı emlak alımsatım bilgilerini dosya kâğıtları üzerinde depolayabilir. Bu yöntem veri arama ve listeleme işlemlerinin karmaşık hale gelmesine ve arama süresinin uzamasına sebep olur. Hatta daha büyük organizasyonlarda işlemlerin yavaşlamasına ve durmasına sebep olabilir. Artan ihtiyaçlar doğrultusunda veri depolamak ve depolanan veriye erişmek için çeşitli veri depolama yöntemleri geliştirilmiştir. Bu yöntemler şunlardır: Yapısal Olmayan: Bu yöntem ile depolanan veriler için belirli bir sınıflandırma ve sıralama yoktur. Veriler düz bir şekilde kaydedilir. Örneğin basit not dosyaları. Yapısal: Bu yöntem ile depolanan veriler çeşitli gruplara ayrılarak saklanır, fakat bu gruplar arasında bir altüst ayrımı yapılmaz. Örneğin virgülle ayrılmış dosyalar (csv), Excel belgeleri. Hiyerarşik: Hiyerarşik depolama yöntemini ağaç yapısına benzetebiliriz. Bu yöntemde veriler çeşitli kategorilere bölünerek depolanır. Her bir kategorinin içinde alt kategorilerde olabilir. Örneğin XML (extensible Markup Language) dosyaları. 111

112 ADO.NET İlişkisel Veritabanı: İlişkisel veritabanlarında veriler tablolar üzerinde depolanır. Tablo içindeki her satır kaydı, her sütun ise veriyi ifade eder. Örneğin SQL Server, Oracle, Access. Nesne Yönelimli Veritabanı: En gelişmiş veri depolama yöntemidir. Bu yöntemde veriler; ihtiyaca göre gruplandırılarak nesneler içinde saklanır. Örneğin Versant, AOL. ADO.NET bu depolama tekniklerinin tümünü destekler. Bağlantılı (Connected) Veri Ortamları Bağlantılı veri ortamları, uygulamaların veri kaynağına sürekli bağlı kaldığı ortamlardır. Bu ortamlarda veri alma ve değiştirme işlemleri uygulama ile veri kaynağı arasında bağlantı kurulduktan sonra gerçekleştirilir. Bağlantılı veri ortamlarında, veri işlemleri gerçekleştiği sürece bağlantı açık kalır. İlk bilgisayar üretiminden bugüne en çok tercih edilen yöntem bağlantılı veri ortamları olmuştur. Bağlantılı ortamlar veriye erişmek için birçok avantaj sağlar. Avantajları En güvenli veri ortamıdır. Veri kaynağına yapılan eş zamanlı erişimlerde, veri kaynağının kontrolünü kolaylaştırır. Dezavantajları Uygulama ile veri kaynağı arasında gerçekleşen bağlantıyı koruyabilmek için sabit bir ağ bağlantısının olması gerekir. Uygulama ile veri kaynağı arasındaki bağlantı ağ üzerinden gerçekleştiği için, ağ trafiğinin yoğunluğunu artırır. Örneğin araba üreten bir fabrikada yapılan üretim bilgilerinin diğer birimlere ulaştırılması ve bu kayıtların depolanması için eş zamanlı bir bağlantı kurulması gereklidir. Ya da bir emlak firmasında emlakçının, mülk ve menkul bilgilerini güncel tutabilmesi için sabit bir bağlantı kurması gereklidir. 112

113 ADO.NET Bağlantısız (Disconnected) Veri Ortamları Bağlantısız veri ortamı, uygulamanın veri kaynağına sürekli bağlı kalmadığı veri ortamıdır. Uygulama ile veri kaynağı arasındaki bağlantı, veri alışverişi yapılırken açılır ve işlem bittikten sonra kapatılır. Bu veri ortamları çevrim dışı çalışmak için kullanılır. Teknolojinin ilerlemesi ve veri depolayan araçların taşınabilirliğinin sağlanması ile tüm dünyada çevrimdışı ortamlara duyulan ihtiyaç artmıştır. Laptop, Notebook ve Pocket PC gibi araçların yaygınlaşması ile günümüzde uygulamanın veri kaynağına bağlı olmadığı durumlarda bile veri girişi yapılabilir. Uygulamada sadece çevrimiçi veya çevrimdışı ortamlardan birini seçmek yeterli olmayabilir. Gelişmiş uygulamalarda her iki ortamın avantajlarını birleştiren bir çözüm tercih edilebilir. Avantajları Laptop, Notebook ve Pocket PC gibi araçlarla girilen veriler, istenilen zamanda veri ortamlarına aktarılabilir. Çevrimdışı ortamlar sayesinde, verilerin depolandığı uygulama üzerindeki yük hafifletilir. Bu durum performans artışını sağlar. Dezavantajları Bağlantısız veri ortamlarında, verilerin güncel kalmasına dikkat edilmelidir. Bu ortamlarda veri güncelleme işlemleri farklı zamanlarda gerçekleştirilebilir. Veri üzerinde yapılan bu değişimlerin diğer kullanıcılara gösterilebilmesi için çeşitli çözümler geliştirilmelidir. Bağlantısız veri ortamları içinde farklı kullanıcılar eş zamanlı güncelleme işlemleri gerçekleştirebilir. Bu durumda oluşacak veri çakışmalarının engellenmesi gerekir. Örneğin bir toptancı firmasında, firma çalışanları farklı konumdaki bayilerinin tüm siparişlerini bir el bilgisayarına kaydedebilir. Bu veriler el bilgisayarında geçici bir süre için depolanır. Bu süre çalışanların sahada kaldığı süredir. Süre sonunda veriler sunucu bilgisayara aktarılır. 113

114 ADO.NET Konu 2. ADO.NET e Giriş ADO.NET Nedir? ADO (ActiveX Data Objects), farklı veri kaynaklarına hızlı ve güvenli erişim için Microsoft tarafından geliştirilen nesne modelidir. ADO.NET ise ADO teknolojisinin en yeni versiyonudur. ADO ile aynı programlama modelini kullanmamakla birlikte, ADO modelinden gelen pek çok çözüm yolunu da beraberinde getirir. Uygulama gelişim ihtiyacı arttıkça, yeni uygulamalarda Web uygulama modeline olan bağlılık gittikçe azalmaktadır. Şimdilerde ise ağ bağlantıları üzerinden veriyi rahatça aktarabilmek için XML kullanımına olan yönelim artmaktadır. İşte ADO.NET, XML ve ADO.NET in.net Framework içinde en uygun şekilde programlama ortamı oluşturmamızı sağlar. ADO.NET modelinin diğer veri erişim modellerine göre üstünlüklerini şöyle sıralayabiliriz: ADO.NET, veritabanından çekilen verilerin kopyasını XML formatını kullanarak belleğe aktarır. Uygulamanın kullanıcı sayısı arttıkça kaynak kullanımı da artar. Nkatmanlı (Ntier) uygulama yapısı kullanılarak, uygulamaların katmanlar üzerinden dağıtılması sağlanır. Böylece uygulamaların ölçeklenirliği artar. ADO.NET ile bağlantısız veri ortamları için uygulama geliştirilebilir. ADO.NET gelişmiş XML desteği verir. 114

115 ADO.NET ADO.NET Nesne Modeli ADO.NET nesne modeli iki ana bölümden oluşur. DataSet sınıfları.net veri sağlayıcı sınıfları DataSet sınıfları, çevrimdışı ortamlar için veri depolama ve yönetme işlemlerini sağlar. DataSet sınıfları veri kaynağından bağımsız her tür uygulama ve veritabanı için kullanılabilir. Özellikle İlişkisel Veritabanı, XML ve XML Web Servisleri üzerinden veri çekmek için kullanılır..net veri sağlayıcı sınıfları, farklı türdeki veritabanlarına bağlanmak için kullanılır. Bu sınıflar sayesinde istenilen türdeki veri kaynağına kolayca bağlantı kurulabilir, veri çekilebilir ve gerekli güncelleme işlemleri yapılabilir. ADO.NET nesne modeli, aşağıdaki veri sağlayıcı sınıflarını içerir: SQL Server.NET veri sağlayıcısı OLE DB.NET veri sağlayıcısı Diğer.NET veri sağlayıcıları Hangi veri kaynağı kullanılacaksa, sadece ona uygun veri sağlayıcı sınıfı kullanılmalıdır. ADO.NET Veri Sağlayıcıları 115

116 ADO.NET NET veri sağlayıcıları, ADO.NET mimarisinin veritabanı ile uygulama (Windows, Web) veya XML Web Servisi arasında bağlantı kurmak için her tür alt yapıyı barındıran çekirdek bileşendir. Tüm veri sağlayıcıları, System.Data isim alanı içinde tanımlanmıştır..net Framework 1.0 sürümü ile birlikte SQL Server.NET ve OLE DB.NET veri sağlayıcı sınıfları gelmiştir. SQL Server.NET: SQL Server 7.0 ve SQL Server 2000 veritabanlarına hızlı bağlantı sağlar. SQL Server bağlantı nesneleri System.Data.SqlClient isim alanında bulunur. OLE DB.NET: SQL Server 6.5 ve daha öncesi sürümlerine, Oracle, Sybase, DB2/400 ve Microsoft Access veritabanlarına bağlantı kurmayı sağlar. OLE DB bağlantı nesneleri System.Data.OleDb isim alanında bulunur..net Framework 1.1 sürümü ile birlikte SQL Server.NET ve OLE DB.NET veri sağlayıcılarına Oracle.NET ve ODBC.NET veri sağlayıcıları da eklenmiştir. ORACLE.NET: Oracle veritabanlarına bağlantı için tasarlanmış veri sağlayıcısıdır. Oracle bağlantı nesneleri System.Data.OracleClient isim alanında bulunur. System.Data.OracleClientisim alanını kullanmak için, projeye System.Data.OracleClient.dll referansı eklenmelidir. ODBC.NET: Diğer veritabanlarını destekleyen genel bir veri sağlayıcıdır. ODBC bağlantı nesneleri System.Data.ODBC isim alanında bulunur. Veritabanı Sql Server 7.0 ve sonraki sürümler Sql Server 6.5 ve önceki sürümler Microsoft Access veritabanı Oracle Server Diğer veritabanları(oracle, Sybase,DB2/400) Veri Sağlayıcısıİsim Alanı System.Data.SqlClient System.Data.OleDb System.Data.OleDb System.Data.OracleClient System.Data.OleDb XxxConnection: Veri kaynağına bağlantı için kullanılan sınıftır. 116

117 ADO.NET XxxCommand: Veri kaynağı üzerinde sorgu çalıştırmak için kullanılır. Veri kaynağından dönen kayıtlar XxxDataReader veya DataSet kullanılarak veri bağlantılı kontrollere aktarılır. XxxDataReader: Çevrimiçi bağlantılarda sadece veri okumak için kullanılan sınıftır. XxxDataAdapter: Çevrimdışı bağlantılarda kullanılan veri işleme nesnesidir. Xxx yerine seçilen veri sağlayıcısına göre SQL, OLEDB, Oracle ve ODBC eklerinden biri kullanılır. Konu 3. Bağlantı Oluşturmak Öncelikle grafiksel arayüzü kullanarak daha kolay şekilde yapacağız. Daha sonra bunu kod ile yapacağız. Menü Yardımı ile bağlantı oluşturmak 1. Data menüsünden Add New Data Source menüsüne tıklayın: 2. Data Source Configuration Wizard da Database icon u tıklayıp Next e tıklayın. 3. New Connection butonuna tıklayın. 117

118 ADO.NET Microsoft Access Database File ı seçin ve OK deyin. 5. DataBase i seçmek için Browse yi tıklayın ve dosyanızı seçin. 6. Test Connection butonuna basın. 7. OK dedikten sonra bağlantımızı test etmiş oluyoruz. 8. (+) işaretine bastığımızda tamamlanmış bağlantının şekli aşağıdaki gibidir. Bağlantı sağlayıcımızın ismi Microsoft.Jet.OLEDB.4.0 şeklinde ve otomatik olarak gelmiştir. Daha sonra bunu kod ile yapacağız. 118

119 ADO.NET Next tıklayın. 10. Geçerli bağlantı cümlesini oluşturmak için Next e tıklayın. 119

120 ADO.NET Tablonun içindeki listeleri görmek için (+) ya tıklayın. 12. Seçmek istediğiniz sütunları checkbox ı işaretleyerek seçiniz. 120

121 ADO.NET Data Source Configuration Wizard ı kapatmak için Close tıklayın. 14. Solution Explorer pencersindeki görünüt aşağıdaki gibi olacaktır. Burada yeni bir dosya türü görüyoruz: StudentsDataSet.xsd. Bu dosya bir XML şemasıdır, tabloları, alanları, data tiplerini ve diğer elemanları içerir 15. Solution Explorer dan dosyayı seçin ve görüntüsünü izleyin. 16. Instructor field alanını tıklayın ve özellikler kısmını açın. 121

122 ADO.NET Bu uygulamada yeni bir pencere açılıyor. Data Sources window. Yeni DataSet ekleme için kullanılır. DataSet i düzenleme için kullanılır. DataSet e alan ekleme ve silme için kullanılır. DataSet i yenilemek için kullanılır. Yeni StudentsDataSet bağlantısı. Students.mdb veri tabanından instructors tablosun alanlar Seçili olan alanlar 122

123 ADO.NET Grafiksel arayüzü kullanarak bağlantı oluşturmak Uygulamaya veritabanınıeklemek. Proje ismi sağ tıklayın. Açılan menüden Add alt menüsündeki Add Existing Item komutunu verin. Açılan pencere üzerindeki Look in açılan kutusundan CD Sürücüsü\Veritabanı klasörünü seçin. Açılan Add Existing Item penceresinden *.mdb veritabanını seçerek Open düğmesini tıklayın. Şimdi ise bu işlemleri kod ile gösterelim. Parametre Provider ConnectionTimeout veya ConnectTimeout Initial Catalog Data Source Password (pwd) User Id (uid) Integrated Security veya Trusted Connection Persist Security Info Tanımı Sadece OleDbConnection nesnelerinde kullanılır. Bağlantı sağlayıcısının ismini tutar. Sağlayıcı isimleri diğer Tablo da belirtilmiştir. Veritabanı bağlantı için beklenmesi gereken maksimum saniye sayısıdır. Varsayılan değer 15 saniyedir. Veritabanı adı SQL Server adı, veya MS Access veritabanı için dosya adı SQL Server login (giriş) parolası SQL Server login (giriş) adı SQL sunucusuna Windows hesabı ile bağlantı yapılacağını belirtir. True, Falseveya SSPI girilebilir. SSPI, Trueile eş anlamlıdır ve bu durumda Windows hesabı kullanılır. Varsayılan değeri False olur. Bu durumda güvenlik için hassas bilgileri geri döndürmez. True olduğunda ise güvenlik risk taşımaya başlar. 123

124 ADO.NET Provider parametresinin Access, SQL Server ve Oracle veritabanlarına göre alacağı değerler aşağıdaki tabloda gösterilmiştir. Tür Açıklama SQLOLEDB SQL Server için Microsoft OLE DB Provider MSDAORA ORACLE için Microsoft OLE DB Provider Microsoft.Jet.OLEDB.4.0 Microsoft Jet için OLE DB Provider Bağlantılı (Connected) Veri Ortamları XXXConnection Toolbox ı kullanarak ToolBox üzerinden Connection nesnesi oluşturmak için belirtilen adımları takip edin. 1. ToolBox içinden Data paneli seçilir. 2 Data panelindeki OleDbConnection veya SqlConnection nesnesi form üzerine sürüklenir. Eğer bu nesneler Data panelinde yok ise panelin üstüne sağ tuş tıklanıp Choose Items seçeneği seçilir. Gelen menüde Net Framework Components lerin içinden OleDbConnection veya SqlConnection nesnesi işaretlenerek OK butonuna basılır. Bağlantı oluşturmak için Connection nesnesinin DataSource özelliğinden, veri tabanını seçiniz. Kod kullanarak SQL Server veritabanı için bağlantı cümlesi Örnek: SQL Server veritabanı için bağlantı cümlesi oluşturulmuştur. London isimli sunucuda bulunan Northwind veritabanına, sa kullanıcı ismi ve 2389 parolası ile bağlanılıyor. Eğer veritabanı sunucusundan 60 saniye içinde cevap alınamazsa bağlantı iptal ediliyor. Dim cnnorthwind as New System.Data.SqlClient.SqlConnection() cnnorthwind.connectionstring = _ 124

125 ADO.NET "User ID=sa;" & _ "Password=2389;" & _ "Initial Catalog=Northwind;" & _ "Data Source=London;" & _ "Connection TimeOut=60;" Microsoft Access veritabanı için bağlantı cümlesi Örnek: Microsoft Access veritabanı için bağlantı cümlesi oluşturulmuştur. OleDb bağlantısı yapıldığı için Provider özelliğinin Microsoft.Jet. OleDB.4.0 olarak belirtilmesi gerekir. Bağlantının yapılacağı Northwind veritabanının local makinede C:\Samples dizini altında bulunduğu belirtiliyor. Dim cnnorthwind as New System.Data.OleDb.OleDbConnection() cnnorthwind.connectionstring = _ "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=C:\Samples\Northwind.mdb;" Connection Özellikleri Parametre ConnectionTimeout ConnectionString Data Source Provider Tanımı VeritabanI bağlanti için beklenmesi gereken maksi-mum saniye sayisidir. VarsayIlan değer 15 saniyedir. Veri kaynağına bağlanmak için oluşturulan bağlantı cümlesi SQL Server adi, veya MS Access veritabani için dosya adi Bağlantı sağlayıcısının ismini tutar. 125

126 ADO.NET Bağlantıyı Açmak ve Kapatmak Bağlantı cüml esini oluşturduktan sonra, bağlantıyı açmak ve kapatmak için Connection sınıfının iki önemli metodu kullanılır. Open Close Open metodu, bağlantı cümlesinde belirtilen veri kaynağını açmak için kullanılır. Close metodu, açılan bağlantıyı kapatmak için kullanılır. Close metodu ile kullanılmayan bağlantıları kapatmak, kaynak tüketimini azaltır. Open metodu, uygulama ile veri kaynağı arasındaki bağlantıyı, bağlantı cümlesinin Timeout parametresinde belirtilen süre içinde kurmaya çalışır. Eğer belirtilen süre içinde bağlantı gerçekleşmiyorsa, uygulama hata üretir. Bu süre için herhangi bir değer belirtilmemişse, varsayılan değer 15 saniyedir. Daha önceden açılmış bir bağlantı; kapatılmadan tekrar açılmaya çalışılırsa, uygulama yine hata üretir. Kapatılan bağlantının yeniden kapatılması hataya yol açmaz. cnnorthwind.connectionstring = _ "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=C:\Samples\Northwind.mdb;" Bağlantıyı açmak cnnorthwind.open() Veritabanı işlemleri bu arada gerçekleştirillir. Bağlantıyı kapatmak cnnorthwind.close() Open metodu ile veri kaynağı açılırken, çeşitli çalışma zamanı hatalarından dolayı bağlantı açılmayabilir ve uygulama hata üretebilir. Bu çalışma zamanı 126

127 ADO.NET hataları; Sunucunun bulunamamasından, Veritabanının bulunamamasından, Hatalı kullanıcı adı veya parola girilmesinden, Donanım veya yazılımdan kaynaklanabilir. Bağlantı Durumlarını Kontrol Etmek Bağlantı sınıfının durumu hakkında bilgi almak için, bağlantı sınıfının State özelliği kullanılır.state özelliğinin alabileceği değerler Tablo da belirtilmiştir. İsim Açıklama Değeri Broken Yalnızca, açık bir bağlantının kopup tekrar bağlanıldığı durum 16 Closed Bağlantı kapalı 0 Connecting Veri kaynağına bağlanma aşamasında 2 Executing Bağlantı üzerinden bir komutu çalıştırılıyor 4 Fetching Bağlantı üzerinden veri çekiliyor 8 Open Bağlantı açık 1 127

128 ADO.NET XXXCommand Command, veritabanı üzerinde Stored Procedure (SaklıYordam) ve sorgu çalıştırmak için kullanılır. Command nesneleri ile veritabanı tablolarında; sorgu, ekleme, silme ve güncelleme işlemleri yapılabilir. Nesne Veri Sağlayıcıları System.Data.SqlClient.SqlCommand SQL Server.NET Veri Sağlayıcısı System.Data.OleDb.OleDbCommand OLE DB.NET Veri Sağlayıcısı System.Data.OleDb.ODBCCommand ODBC.NET Veri Sağlayıcısı Veritabanı üzerinde Stored Procedure ve sorgu çalıştırmak için Command nesnelerinin belirli özelliklerini kullanmak gerekir. Toolbox ı kullanarak ToolBox üzerinden Command nesnesi oluşturmak için belirtilen adımları takip edin. 1 Veri kaynağına bağlantıkurmak için Connection tanımlanır. 2 ToolBox içinden Data paneli seçilir. 3 Data panelindeki OleDbCommand veya SqlCommand nesnesi form üzerine sürüklenir. Kod kullanarak Dim sql As String = "SELECT StokMiktari FROM Urun " & _ "WHERE UrunID Dim cmurun As New SqlCommand(sql, cnalisveris) Dim prmid As SqlParameter = cmurun.parameters.add( _ New SqlDbType.Int, 4)) =

129 ADO.NET cnalisveris.open() Command özellikleri Özellik Açıklama Name Connection Command nesnesinin kod içinde kullanılan ismidir. Commandnesnesinin hangi Connection üzerinde çalışacağını belirler. Bu özellik ile yeni Connection oluşturabilir veya varolan Connection nesnesine bağlanılabilir. CommandType Command nesnesinin tipini belirler. Çalıştırılacak Command a göre Text, StoredProcedureve TableDirect seçilir. Text: SQL Cümlesi StoredProcedure: Kayıtlı Yordam TableDirect: Tablo kayıtları TableDirectsadece OleDbCommand nesnesi tarafından kullanılır. CommandText Commandnesnesinin çalıştırılacak komutudur. Seçilen CommandType a göre CommandText belirlenir. Text: Çalıştırılacak SQL cümlesi. StoredProcedure: Çalıştırılacak Stored Procedure adı. TableDirect: Veritabanındaki tablo adı Parameters Commandnesnesinin CommandTextkomutuna dışardan değer almak veya komuttan geriye değer döndürmek için kullanılır. Parameters özelliği Collection olduğu için bir veya birden çok değer alabilir veya gönderebilir. 129

130 ADO.NET Command metotları Command Metodu ExecuteScalar ExecuteReader ExecuteNonQuery ExecuteXmlReader Dispose Açıklama Çalıştırılan Command nesnesinden geriye tek değer döndürmek için kullanılır. Çalıştırılan Command nesnesinden geriye kayıt kümesi döndürmek için kullanılır. Command nesnesi üzerinde veri güncelleme, değiştirme ve silme işlemleri yapmak için kullanılır. Bu işlemin sonucunda etkilenen kayıt sayısı geriye döndürür. Çalıştırılan Command nesnesinden geriye XML döndürmek için kullanılır. Sadece SQL Server 7.0 ve sonraki versiyonları için kullanılır. Command nesnesini kapamak amacıyla kullanılır. Böyle bir durumda tekrar Connection tanımlanmalıdır. Parametre Kullanmak Stored Procedure ve SQL cümleleri parametre alabilir veya gönderebilir. Ayrıca Stored Procedure geriye tek değer bile döndürebilir. Stored Procedure ve SQL cümlelerinin 130

131 ADO.NET parametre değerlerini saklamak için, XXXCommand nesnesinin Parameters özelliği kullanılır. Aynı zamanda bu özellik XXXParameters nesnesinin koleksiyonudur. Command nesnesi çalıştırılmadan önce, komuttaki her giriş parametresi için bir değer girilmelidir. Ayrıca Command nesnesi çalıştırıldıktan sonra, sonuç parametrelerinin değerleri geriye döndürülebilir. Commandnesnesine parametre eklemek için aşağıdaki yöntemler kullanılır. Properties penceresi kullanılarak Command nesnesinin Parameters özelliğine tasarım aşamasında parametreler eklenir. XXXParameter nesnesini kullanarak, parametre eklemek için aşağıdaki adım-lar takip edilir. 1 Yeni bir OleDbParameterveya SqlParameternesnesi oluşturulur. 2 Eklenen Parameter nesnesinin özellikleri göre ayarlanır. 3. XxxParameter nesnelerini Command nesnesine eklemek için, Command nesnesinin Parameters koleksiyonunu içindeki Add metodu kullanılır. Eğer bu komut sonuç döndürecek bir Stored Procedure çağırıyorsa, herhangi bir parametre eklemeden önce ParameterDirection. ReturnValue parametresini eklenmelidir. Parametrelerin eklenme sırasıönemli değildir. OleDbCommand_Name.Parameters.Add (parametername as string, oledbtype as oledbtype, size as integer) Oledbcommand_name.Parameters..AddWithValue(parametername as string, value as Object) Parametrelerin özellikleri: Özellik ParameterName DbType,SqlDbType, OleDbType Size Açıklama Parametrenin Parametrenin veri türü. Kullanılan veritabanına göre SqlDbTypeveya OleDbType enumeratörlerinden seçilir. Parametredeki verinin byte olarak maksimum boyutu. 131

132 ADO.NET Direction Parametrenin türü. ParameterDirectiondeğerlerinden biri ile belirtilir. Bu özelliğin alabileceği değerler: ParameterDirection.Input (varsayı- lan değer) ParameterDirection.InputOutput ParameterDirection.Output ParameterDirection.ReturnValue XXXDataReader DataReader dönen kayıtlar üzerinde işlem yapmayı sağlayan metot ve özelliklere sahiptir. DataReader nesnesinin bu özellik ve metotları aşağıda işlemleri yapar. Kayıt kümesi içindeki kayıtları tek tek okur. Kaydın belirli bir kolonunu veya tüm kolonlarını okur. Kolonların içinde değer olup olmadığını kontrol eder. Kolonların şema bilgilerini okur. (ColumnName, ColumnOrdinal,ColumnSize, NumericPrecision, NumericScale, Datatype,ProviderType, Islong, AllowDBNull) Aşağıdaki şekilde sadece kod ile DataReader nesnesi tanımlanır Dim DataReader_Adı As OleDbDataReader 132

133 ADO.NET DataReader metotları Metot Açıklama Close NextResult Read DataReader nesnesini kapatılır ve hafızadan kaldırır. Komut metninde birden fazla SELECT ifade varsa, sonuçlar bu metot kullanılarak farklı veri kümeleri gibi alınabilir. DataReader nesnesinde okunacak kayıt olduğu sürece okuma yapar. Kayıt varsa True, yoksa False değeri geri döndürür. Command ile Sorgu Oluşturmak Command ile veritabanı yapısında değişiklik yapılabilir (veri almak, eklemek, değiştirmek ve silmek. OleDbCommand veya SqlCommandnesnesi ile bu tür işlemlerin yapılabilmesi için, ExecuteNonQuerymetodu kullanılır. ExecuteNonQuery metodu ile Select hariç SQL (Structured Query Language) ve TSQL (Transact Structured Query Language) komutları kullanılır. SQL "Structured Query Language" (YapılandırılmışSorgulama Dili) veritabanı sorgu dilidir. SQL ile veritabanına kayıt ekleme, silme, varolan kaydı düzenleme ve kayıt sorgulama işlemleri yapılabilir. SQL standart bir veritabanı sorgu dilidir ve Oracle, db2, Sybase, Informix, Microsoft SQL Server, MS Access gibi veritabanı yönetim sistemlerinin temelini oluşturur. En sık kullanılan SQL komutları SELECT, INSERT, UPDATEve DELETE komutlarıdır. DML Komutu SELECT DELETE UPDATE INSERT Açıklama Veri seçmek Veri silmek Veri güncellemek Veri girmek SELECT ifadesi Veritabanından bilgi seçmek için kullanılır. Genel ifade: 133

134 ADO.NET SELECT Sütun_ismi1, Sütun_ismi2, Sütun_ismi3, FROM Tablo_ismi WHERE Koşul ORDER BY Sıralanacak_sütun [ASC/DESC] Temel SELECT ifadesi: SELECT * FROM Tablo_ismi (*) ile tüm alanları seçer. Belirli Sütunların seçilmesi: SELECT Sütun_ismi1, Sütun_ismi2, Sütun_ismi3, FROM Tablo_ismi Koşullu olarak sütunların seçilmesi SELECT Sütun_ismi1, Sütun_ismi2, Sütun_ismi3, FROM Tablo_ismi WHERE Koşul Satırları sıralamak için: SELECT Sütun_ismi1, Sütun_ismi2, Sütun_ismi3, FROM Tablo_ismi ORDER BY Sıralanacak_sütun [ASC/DESC] INSERT ifadesi: Veritabanına yeni kayıt eklemek için kullanılır. INSERT INTO Tabo_ismi (Sütun_ismi1, Sütun_ismi 2, ) VALUES (Deger1, Deger2, ) UPDATE ifadesi: Veritabanına kayıt değiştirmek için kullanılır. UPDATE Tabo_ismi SET (Sütun_ismi 1=Deger1, Sütun2= Deger2, ) WHERE koşul DELETE ifadesi: Veritabanından kayıt silmek için kullanılır. DELETE FROM Tabo_ismi WHERE Koşul Command ile Kayıt Döndüren Sorgular Çalıştırmak DataReader kullanarak kayıt çekmek için aşağıdaki adımları takip edin. 1 Bağlanılacak veritabanına göre Connection nesnesi eklenir. 2 Bağlanılacak veritabanına göre OleDbCommand veya SqlCommand nesnesi eklenir ve gerekli özellikleri ayarlanır. 3 Veritabanı bağlantısı açılır. 134

135 ADO.NET DataReader tanımlanır. Command nesnesinin ExecuteReader metodu ile çağrılan kayıtlar DataReadernesnesine atanır. 5 DataReader nesnesinin Read metodu False oluncaya kadar, kayıtlar döngü ile okunur ve form kontrollerine aktarılır. 6 Command nesnesi kapatılır (dispose) 7 DataReader kapatılır. 8 Veri tabanı bağlantısı kapatılır. NOT: Eğer kayıt döndürmek istemiyorsak, Datareader nesnesini tanımlamya, Read ve Close metodlarını çalıştırmaya gerek yoktur. 135

136 ADO.NET Data ile Bağlantı Yapınız (Menü ile). OleDBConnection nesnesi tanımlayınız (Toolbar veya kod ile). OleDBConnection nesnesinin ConnectionString özelliği ile veritabanına bağlantı yapınız (Properties penceresi veya kod ile). OleDBCommand nesnesi tanımlayınız (Toolbar veya kod ile). OleDBCommand nesnesinin Connection özelliğini OleDBConnection nesnesi olarak belirleyiniz (Toolbar veya Kod ile.) OleDBConnection nesnesinin Connection özelliğini Open olarak belirleyiniz (Herbir prosedür için ayrı ayrı yapılıcak ise kod ile). OleDbCommand nesnesinin ConnectionString Özelliğini Belirle! 136

137 ADO.NET SELECT-Veri seçmek SELECT Sütun_ismi1, Sütun_ismi2, Sütun_ismi3, FROM Tablo_ismi WHERE Koşul ORDER BY Sıralanacak_sütun [ASC/DESC] DELETE-Veri silmek DELETE FROM Tabo_ismi WHERE Koşul UPDATE-Veri güncellemek UPDATE Tabo_ismi SET (Sütun_ismi 1=Deger1, Sütun2= Deger2, ) WHERE koşul INSERT-Veri girmek INSERT INTO Tabo_ismi (Sütun_ismi1, Sütun_ismi 2, ) VALUES (Deger1, Deger2, ) Kayıt Döndürücek misin! Evet OleDbDataReader nesnesi tanımla! (Kod ile) Command nesnesinin ExecuteReader metodu ile çağrılan kayıtlar DataReader nesnesine ata Hayır Command Nesnesi Dispose ile son bulur. Connection kapatılır. DataReader nesnesinin Read metodu False oluncaya kadar, kayıtlar döngü ile okunur ve form kontrollerine aktarılır. DataReader kapatılır. Command nesnesi Dispose ile son bulur. Connection kapatılır. 137

138 ADO.NET Örnek 1: Öğrenci not tablosu, öğrenci no bulma, öğrenci kayıt ekleme, silme, güncelleme Örnek 2: İş başvuru formu, iş başvuru kayıt ekle, sil, güncelle, görüntüle. Bağlantısız (Disconnected) Veri Ortamları Bağlantısız veri ortamları, uygulamaların veritabanından bağımsız çalıştığı ortamlardır. Veritabanı sunucusunun uzak olması, veri işlemlerinin uzun sürmesi ve mobil çalışma ihtiyacı, bağlantısız veri ortamlarına olan ihtiyacı artırmıştır. Bağlantısız veritabanı mimarisini öğrenecek, DataAdapter nesnesinin yapısını tanıyacak, DataSet nesne modelini öğrenecek, DataTable nesne modelini öğrenecek, Veri arama ve sıralama işlemlerini öğreneceksiniz. Bağlantısız veri ortamı, uygulamanın veri kaynağına sürekli bağlı kalmadığı veri ortamıdır. Bu modelde, veri kaynağının istenen bölümü çekilerek belleğe alınır. Veri üzerinde gerekli işlemler gerçekleştirildikten sonra, veri kaynağına aktarılarak güncelleme yapılır. 138

139 ADO.NET Sınıf XXXDataAdapter Açıklama Connection, Command ve DataReader sınıflarını kullanarak, verilerin DataSet e doldurulmasını ve DataSet te yapılan değişikliklerin veritabanına kaydedilmesini sağlar. Örneğin SqlDataAdaptersınıfı SQL Server ile DataSetarasındaki etkileşimi sağlar. XXXConnection Bağlantı açmak ve kapatmak için kullanılan nesnedir. Örneğin SqlConnectionSQL Server a bağlantı sağlar. XXXCommand Veritabanı üzerinde Stored Procedure (Saklı Yordam) veya SQL cümleleri çalıştırmak için kullanılan nesnedir. Örneğin SqlCommandSQL Server üzerinde Stored Procedure veya SQL cümleleri çalıştırmayı sağlar. XXXDataReader Veritabanından sadece okunur ve ileri hareketli kayıtlar çekmek için kullanılır. Örneğin SqlDataReaderile SQL Server üzerinden kayıtlar okunur. Kayıtlar SqlCommandnesnesinin ExecuteReader metodu ile DataReader a aktarılır. DataAdapter Oluşturmak DataAdapter, data kaynağı ile DataSet arasında duran bir mekanızmadır. SQLDataAdapter ve OleDbDataAdapter olmak üzere 2 çeşittir. DataAdapter, seçme, güncelleme, silme ve kayıt ekleme işlemlerini yapar. Bu yöntemler SelectCommand, UpdateCommand, InsertCommand ve DeleteCommand özellikleri ile sağlanır. 139

140 ADO.NET XxxDataAdapter oluşturmak için aşağıdaki adımları takip ediniz: Formunuzun Toolbox penceresinde, Data panelinden XxxDataAdapter bileşeninin formunuza sürükleyin. 140

141 ADO.NET Karşımıza aşağıdaki gibi DataAdapter Configuration Wizard penceresi çıkıcaktır. Burada database ile bağlantı yapılacaktır. Eğer daha önceden bir bağlantı yapılmış ise dropdownlist de yapılan bağlantıyı görürsünüz aksi durumda boştur ve New Connection butonuna basarak yeni bağlantı oluşturmak zorundasınız. Data bağlantısını yaptıktan sonra Sorgu tipini belirleyeceğimiz ekran gelicektir. Burada SQL komutunu veya yeni (varolan) bir prosedürü kullanabilirsiniz. İlk önce kullanmak için SQL konutunu belirlemelisiniz. Buna göre aşağıdaki pencereyle karşılaşırsınız. Database deki kayıtları çağırmak için SELECT komutunu kullanmamız gerekmektedir. (Bkz. SELECT ifadesi). Ayrıca direk yazmak yerine Query Builder butonu bize yardımız olucaktır. Öncelikle Advance Options butonuna basalım. 141

142 ADO.NET Seçtiğimiz pencerede 3 seçenek vardır. Birincisi, Insert, Update ve Delete SQL ifadeleriniz SELECT konutu ile oluşturulacağını söyler. Eğer veriler üzerinde silme, kaydetme veya güncelleme işlemleri yapıcaksak bu seçeneğin tıklı olması gerekmektedir aksi durumda seçimi kaldırmalısınız. 2. Seçenek olan Use optimistic concurrency seçeneği, UPDATE vedelete konutlarını gerçekleştir ve orijinal kayıtlara ulaşıldığında hiçbir kolonun değişmemesini sağlar ve aynı zamanda birden fazla kullanıcının değişiklik yapmasını engeller. Son seçenek olan Refresh Dataset ise UPDATE ve DELETE konutlarından sonra SELECT ifadesini çağırarak, DataSet inizi günceller. OK butonuna basarak bir önceki ekrana geri dönelim ve şimdi Query Builder butonuna basalım. 142

143 ADO.NET İstediğiniz tabloyu seçerek, burada görüntülenmesini istediğiniz kolonları belirleyin. Seçmiş olduğumuz kolonlar SQL komutu ile aşağıdaki ekranda görünür. 143

144 ADO.NET Finish butonu ile bağlantı işlemini yapmış oluruz. Ve formumuza XxxDataAdapter1 nesnesi ile birlikte XxxConnection1 nesnesi de gelir. 144

145 ADO.NET Kod Kullanarak Dim conn As New OleDbConnection("provider = & _ microsoft.jet.oledb.4.0; data source=../stok.mdb") Dim da As New OleDbDataAdapter("select * from & _ kitaplar", conn) DataSet ve DataTable Oluşturmak Veri kaynağından DataAdapter ile çekilen verilerin çekirdek belleğe atılan kopyası DataSet içinde saklanır. DataSet ile bu veriler üzerinde gerekli düzenlemeler yapıldıktan sonra, veriler aynı DataAdapter ile veritabanına aktarılır. DataSet in temel özellikleri aşağıda listelenmiştir: Veri sağlayıcı türünden bağımsız çalışır: DataSet tüm veri sağlayıcılarıile kullanılabilir. Tamamen türden bağımsız çalışır. Sürekli çevrimdışıdır: DataAdapter nesnesi ile veriler DataSet içine aktarılır ve bağlantı kapatılır. Bağlantı kesildikten sonra yapılan tüm değişiklikler DataSet içine kaydedilir. Bu durum uygulamanın çevrimdışıçalışmasınısağlar. Değişikliklerin kaydını tutar: DataSet içinde yapılan tüm değişiklikler, DataAdapte rnesnesi ile veri kaynağına aktarılır. Birden fazla tablo bulundurabilir: İlişkisel veritabanlarında olduğu gibi, birden fazla tablo ve ilişkileri hafızada tutmanın tek yolu DataSet kullanmaktır. 145

146 ADO.NET DataSet, sanal bir veritabanı yapısını temsil eder. DataTable nesnelerinden oluşur. Bu tablolar arasında ilişkiler tanımlanabilir. DataSet i oluşturan nesneler, DataTable, DataColumn, DataRow ve DataRelation nesneleridir. DataTable: Veritabanı tablolarını temsil eder. DataColumn, DataRow nesnelerinden oluşur. Primary Key alanı tanımlanabilir. DataColumn: DataTable nesnelerini oluşturmak için gereken kolonlarıtemsil eder. DataRow: DataTablenesneleri için veri satırlarını temsil eder. DataRelationship: Tablolar arasındaki ilişkileri temsil eder. DataView: DataTable nesneleri üzerinde filtreleme, veri güncelleme leri işlemleri yapmak için kullanılır. Dataset oluşturmak için aşağıdaki adımları takip ediniz: XxxDataAdapter1 kontrolünü üzerine sağ tuş tıklayıp Generate Dataset ifadesini seçin. 146

147 ADO.NET Buradaki Configure Data Adapter seçeneği, bağlantınızı yeniden oluşturmanızı ve Preview Data seçeneği ise verilerinizi göstermeyi sağlar. Eğer bunu seçerseniz aşağıdaki gibi bir ekran ile karşılaşırsınız. Generate DataSet seçeneğini seçtikten sonra yeni bir CustomerDataSet oluşturalım, adını belirleyip, Add this dataset to designer seçeneğini işaretleyin. Bunu işaretlememiz durumunda formun yüklenmesi ile datanız prejenize yüklenicektir. 147

148 ADO.NET Ok butonuna bastığımızda formumuzda, CustomerDataSet.xsd XML şeması ile bağlantılı olan CustomerDataSet1 kontrolü oluşucaktır. Böylece formumuzda aşağıdaki gibi 3 bileşen bulunacaktır. Kod Kullanarak Örnekte ds isminde yeni bir DataSet, New anahtar sözcüğü tanımlanmaktadır. Tanımlamada DataSet e parametre olarak girilen YeniDataSet değeri, DataSet nesnesinin DataSetName argümanıdır. Eğer hiçbir isim verilmezse varsayılan olarak NewDataSet ismi verilir. Dim ds As New DataSet( YeniDataSet ) DataSet, diğer bir DataSet nesnesinden kopyalanarak oluşturulabilir. DataSet kopyalamak için iki yöntem kullanılır. Birinci yöntem Copy metodu ile diğer bir DataSet nesnesinin, veri ve ilişkileri (şema bilgileri) kopyalanarak yeni bir DataSet oluşturmaktır. İkinci yöntem Clone metodu ile diğer bir DataSet nesnesinin şema bilgilerini kopyalanarak, yeni bir DataSet oluşturmaktır. Bu yöntem şablon kopyalamak için kullanılır. Örnekte ds ismindeki DataSet nesnesinin tüm tablo, ilişki ve verileri dscopyismindeki DatasSetnesnesinin içine aktarılmıştır. Dim dscopy As DataSet dscopy = ds.copy() Örnekte ds ismindeki DataSet nesnesinin tüm tablo ve ilişkileri, dsclone ismindeki DataSetnesnesinin içine aktarılmıştır. Dim dsclone As DataSet dsclone = ds.clone() 148

149 ADO.NET Örnekte Stok veritabanını içindeki tüm kitaplar, DataAdapter nesnesi ile DataSet e aktarılmıştır. Dim conn As New OleDbConnection("provider = & _ microsoft.jet.oledb.4.0; data source=../stok.mdb") Dim da As New OleDbDataAdapter("select * from & _ kitaplar", conn) Dim ds As New DataSet("set") da.fill(ds, "kitaplar") DataGrid1.DataSource = ds.tables("kitaplar") DataSet sınıfının Tables koleksiyonu ile DataSet içine bir veya birden çok DataTable eklenebilir. DataSet sınıfının Relations koleksiyonu ile DataSet içine bir veya birden çok DataRelation eklenebilir. Örnekte dtkitaplarisminde yeni bir DataTableoluşturulmaktadır. Dim dtkitaplar As New DataTable("kitaplar") Oluşturulan tabloyu DataSet içine eklemek için DataSet nesnesinin Tables koleksiyonu kullanılır. Ds.Tables.Add(dtKitaplar) DataTable nesnesinin içine kolon eklenebilir. Örnekte dtkitaplar ismindeki DataTablenesnesinin içine, yeniid isminde yeni bir kolon eklenmektedir. Yeni kolon eklemek için, DataTablenesnesinin Columnskoleksiyonu kullanılır. Dim colkitapid As DataColumn = dtkitaplar.columns.add("yeniid", GetType(System.Int32)) DataAdapter ile KayıtlarıDataset e Doldurmak 149

150 ADO.NET DataAdapter sınıfı, DataSet ile veri kaynağı arasında köprü oluşturur. Veri kaynağına yapılan bağlantı ile verilerin DataSet nesnesine aktarılmasını sağlar. DataAdapter ayrıca DataSet üzerinde yapılan değişikliklerin veri kaynağına aktarılmasını sağlar. XxxDbDataAdapter ile çekilen veriler Dataset nesnesine fill komutu ile aktarılır. XxxDataAdapter_Name.fill (DatSet_Name) Fill yöntemi bir tamsayı sonucu verir ve bu sayı DatSet te mevcut olan kayıtların sayısıdır. Verilerin Form kontrolleri ile bağlantısı 1. Veri tabanını formunuza bağlayınız. 2. Veritabanınızdaki sütünlar için formunuzda açıklayıcı label ve textbox (combobox) ekleyin. 3. Textboxların özelliklerinde DataBinding Text özelliğini seçmek istedğiniz alan olarak değiştirin. (DataSet, BindingSource ve TableAdapter nesneleri formunuza otomatik olarak eklenecektir.) 4. Forma Data panelinden DataGridView ekleyin ve datasource özelliğini belirleyin. 5. Verilerin form başladığında görünmesi için Form_Load olayına aşağıdaki kodu yazın. Name_TableAdapter.Fill(Name_DataSet.NameofTable) 6. Verilerin buton içinde kod ile ileri-geri kontrolleri için aşağıdaki kodu kullanın. Name_BindingSource.MoveNext(Previous) DataSet Nesnesini Kontrollere Bağlamak 150

151 ADO.NET DataSet nesnesi ile veritabanının bir kopyası çekirdek belleğe atıldıktan sonra, bu veriler çeşitli Windows kontrolleri ile gösterilebilir veya değiştirilebilir. Bu kontrollerin en önemlisi DataGrid bileşenidir. DataSet nesnesin içerdiği veri, Windows Form içindeki herhangi bir kontrolün herhangi bir özelliğine bağlanabilir. Örneğin DataSet içindeki bir tablonun ilk satır ve sütunundaki veri, TextBoxkontrolünün Textözelliğine bağlanabilir. DataSet içindeki veriyi Windows kontrollere bağlamanın iki yöntemi vardır. Bu yöntemler basit (simple data binding) ve karmaşık (complex data binding) veri bağlama olarak adlandırılır. Basit veri bağlama; DataSet içindeki bir veri elemanını (DataTable kolonunu) Windows kontrollere bağlama işlemidir. TextBox, Label, RadioButton gibi kontroller bu gruba girer. Örneğin, DataSet tablosundaki herhangi bir kolonu TextBox, Labelgibi Windows kontrollere bağlamak. Karmaşık veri bağlama; DataSet içindeki birden fazla veri elamanını Windows kontrollerine bağlama işlemidir. DataGrid, ListBox, ErrorProvider gibi kontroller bu gruba girer. Basit Bağlantı - CheckBox için: (diğerleri için de benzer şekilde herçekleşir.) CheckBox ın DataBindings.Checked özelliğini, varolan DataSetteki tablonun kolonu ile bağlayın. 151

152 ADO.NET Textbox için ise Text kısmını bağlamanız gerekmektedir. Karmaşık Bağlantı Listbox için (diğerleri içinde aynıdır!) ListBox ın DataSource özelliğinden DatSet i seçiniz. Ve DisplayMember özelliğini, Listbox ın içerisinde görünmesi gereken kolon olarak belirleyin. 152

153 ADO.NET Kod Kullanarak ComboBox ve ListBox gibi kontrollere veri bağlamak için DataSource ve DataMember özelliği kullanılır. DataSouce özelliği DataSet içindeki tablo ismini, DisplayMember ise tablo kolonunu belirtir. Örnekte, ComboBox ve ListBox kontrolünün DataSource ve DisplayMember özellikleri kullanılmaktadır. ComboBox1.DataSource = ds.tables("kitaplar") ds DataSetin adı! ComboBox1.DisplayMember = _ ds.tables("kitaplar").columns("kitap_baslik").tostring ListBox1.DataSource = ds.tables("kitaplar") ListBox1.DisplayMember = _ ds.tables("kitaplar").columns("kitap_baslik").tostring Bir diğer özelliği de DataBinding.Add yöntemidir. TextBox1.DataBindings.Add("Text", CustomerDataSet1, "Customers.Address") 153

154 ADO.NET DataSet içindeki veriyi DataGridView e Bağlamak DataGridView, veriyi satırlar ve sütunlar halinde görüntüler. DataGridView ile ilişkisiz DataSet tabloları kolay bir şekilde görüntülenebilir. Bu görüntü Excel tablolarına benzer. DataGridView ilişkili DataSet tabloları da gösterebilir. Bu durumda istenilen tabloya DataGridView üzerindeki gezinti köprülerinden erişilebilir. DataSet tablolarını DataGridView kontrolüne bağlamak için iki yöntem kullanılır. Bu yöntemler grafiksel ve programlama yöntemleridir. Grafiksel yöntem ile bağlantısağlamak için aşağıdaki adımlarıtakip edin. 1 Araç kutusu üzerindeki DataGridView kontrolünü form üzerine sürükleyin. 2 DataGridView kontrolünün DataSource özelliğini, önceden oluşturulmuş DataSetnesnesine bağlayın. 3 DataGridView kontrolünün DataMember özelliğini, DataSet tablolarının herhangi biri ile bağlayın. Programlama yöntemi ile bağlantı sağlamak için DataGridView nesnesinin DataSource özelliği kullanılır. Örnekte, DataSet içindeki Kitaplar tablosu DataGridView kontrolüne bağlanır. DataGridView1.DataSource = ds.tables("kitaplar") 154

155 ADO.NET DataTable Üzerine Yeni Veri Eklemek DataTable, veritabanı tablolarını temsil eder. DataColumn, DataRow nesnelerinden oluşur. DataSet içinde yeni bir DataTable oluşturduktan sonra, veritabanı üzerinde işlem yapıyormuş gibi veri üzerinde düzenlemeler yapılabilir. DataTable, bu çevrimdışı düzenlemeleri kabul veya iptal etme olanağı sunar. DataTable nesnesine, yeni bir satır eklemek için DataRow nesnesi kullanılır. DataTable nesnesinin NewRow metodu ile oluşturulan yeni satır, DataRow nesnesinin değişkenine atanır. 155

Bölüm 3. Microsoft.NET Platformu

Bölüm 3. Microsoft.NET Platformu Programlamaya Giriş 2009 2010 Bölüm 3. Microsoft.NET Platformu Microsoft.NET, uygulama geliştiricilerin yazılım geliştirme sürecinde alt yapı işlemleri için harcadığı eforu en aza indirgemek ve daha güvenli,

Detaylı

Bilgisayara Giriş 2010-2011 Güz Bahar Öğretim Yılı Ders Notları

Bilgisayara Giriş 2010-2011 Güz Bahar Öğretim Yılı Ders Notları 2010 2011 Bilgisayara Giriş 2010-2011 Güz Bahar Öğretim Yılı Ders Notları Arzu Erdem Kaynaklar: 1. Yazılım Uzmanı 1, Selçuk Tüzel 2. Yazılım Profesyoneli 2, Fulya SATAR. Engin ÖREN 3. Herkes için Visual

Detaylı

5. PROGRAMLA DİLLERİ. 5.1 Giriş

5. PROGRAMLA DİLLERİ. 5.1 Giriş 5. PROGRAMLA DİLLERİ 8.1 Giriş 8.2 Yazılım Geliştirme Süreci 8.3 Yazılım Geliştirme Sürecinde Programlama Dilinin Önemi 8.4 Programlama Dillerinin Tarihçesi 8.5 Programlama Dillerinin Sınıflandırılması

Detaylı

Program nedir? Programcı kimdir? Programlama Dilleri Programlama Dillerinin Tarihçesi Programın Derlenmesi

Program nedir? Programcı kimdir? Programlama Dilleri Programlama Dillerinin Tarihçesi Programın Derlenmesi Modül 1: Programlamaya giriş Hedefler Program nedir? Programcı kimdir? Programlama Dilleri Programlama Dillerinin Tarihçesi Programın Derlenmesi Bu modülde, bir programcının bilmesi gerek temel programlama

Detaylı

KAPAK Yazılım Uzmanı Yazan Yazan Editör: Selçuk Tüzel

KAPAK Yazılım Uzmanı Yazan Yazan Editör: Selçuk Tüzel KAPAK Yazılım Uzmanı Yazan Yazan Editör: Selçuk Tüzel Künye sayfası: Yazılım Uzmanı 1 Yazan Yazan Editör: Tuncer Karaarslan Düzelti: Selçuk Tüzel Teknik Editör: Zeynep Çömlekçi Şef Editör: Mehmet Çömlekçi

Detaylı

http://www.microsoft.com/visualstudio/eng/downloads

http://www.microsoft.com/visualstudio/eng/downloads Visual Studio 2012'nin kurulumunu, Visual Studio'nun kullanımını ve Windows Store'da basit bir proje hazırlanmasını anlatacağım. Hepsinden önce Visual Studio ortamından biraz bahsedelim. Visual Studio

Detaylı

1. MİCROSOFT EXCEL 2010 A GİRİŞ

1. MİCROSOFT EXCEL 2010 A GİRİŞ 1. MİCROSOFT EXCEL 2010 A GİRİŞ 1.1. Microsoft Excel Penceresi ve Temel Kavramlar Excel, Microsoft firması tarafından yazılmış elektronik hesaplama, tablolama ve grafik programıdır. Excel de çalışılan

Detaylı

Bilgisayarda Programlama. Temel Kavramlar

Bilgisayarda Programlama. Temel Kavramlar Bilgisayarda Programlama Temel Kavramlar KAVRAMLAR Programlama, yaşadığımız gerçek dünyadaki problemlere ilişkin çözümlerin bilgisayarın anlayabileceği bir biçime dönüştürülmesi / ifade edilmesidir. Bunu

Detaylı

BİLGİSAYAR DESTEKLİ TASARIM II

BİLGİSAYAR DESTEKLİ TASARIM II 0 BÖLÜM 1 ORCAD PROGRAMINA GİRİŞ: OR-CAD programını başlatmak için Başlat menüsünden programlara gelinir. Programların içerisinde ORCAD Release 9 ve bunun içerisinden de ORCAD Capture seçilir. Karşımıza

Detaylı

Data Structures Lab 1 2012-Güz

Data Structures Lab 1 2012-Güz Data Structures Lab 1 2012-Güz C# Ortamı Tanıtımı ve Uygulama Geliştirilmesi Visual Studio 2010 Ortamının Temini -NYG'ndan MSDN üyeliği için başvuru dilekçesi alınıp doldurulmalı ve yine NYG'ye teslim

Detaylı

Ekrana gelen diyalog penceresinden Typical radyo düğmesi seçilir ve Next düğmesine basılır.

Ekrana gelen diyalog penceresinden Typical radyo düğmesi seçilir ve Next düğmesine basılır. Windows 2012 Server Windows Server 2012 Programını VmWare Altına Kurma Microsoft firmasının ürettiği en son Server İşletim Sistemi 2012 dir. Bu işletim sistemi sürümleri 64 bit olarak yazılmış 32 bit sürümü

Detaylı

DENEME SINAVI CEVAP ANAHTARI

DENEME SINAVI CEVAP ANAHTARI DENEME SINAVI CEVAP ANAHTARI ECDL BAŞLANGIÇ Bilgisayarı Kullanmak ve Dosyaları Yönetmek 1) Bilgisayar ı doğru şekilde kapatıp, açmak için uygun metodu uygulayınız.(bilgisayarı kapatın ve tekrar açın.)

Detaylı

ASP.NET ile Bir Web Sitesi Oluşturma

ASP.NET ile Bir Web Sitesi Oluşturma 29,30 Eylül 2011 ASP.NET ile Bir Web Sitesi Oluşturma ASP.NET sitesi oluşturmak için File menüsündeki, New açılır listesindeki, Web Site komutuna tıklıyoruz Açılan pencereden C# içindeki ASP.NET Web Site

Detaylı

www.wikispaces.com Kullanım Kılavuzu

www.wikispaces.com Kullanım Kılavuzu www.wikispaces.com Kullanım Kılavuzu İnternet tarayıcınıza(internet Explorer vb.) www.wikispaces.com adresini yazıp enter tuşuna bastığınızda yukarıdaki ekranla karşılaşacaksınız. Önceden oluşturmuş olduğunuz

Detaylı

U y g u l a m a A i l e s i (Abakus 360, T-Panel, T-CRM) Tarayıcı Ayarları. IPera İletişim Teknolojileri

U y g u l a m a A i l e s i (Abakus 360, T-Panel, T-CRM) Tarayıcı Ayarları. IPera İletişim Teknolojileri U y g u l a m a A i l e s i (Abakus 360, T-Panel, T-CRM) Tarayıcı Ayarları Başlarken İletişim yönetimi için gerekli tüm araçları sunan OfisTelefonu 07 programları Abakus 360, T-Panel ve T-CRM, bir kuruluştaki

Detaylı

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay. PROGRAMLAMAYA GİRİŞ Öğr. Gör. Ayhan KOÇ Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay., 2007 Algoritma ve Programlamaya Giriş, Ebubekir YAŞAR, Murathan Yay., 2011

Detaylı

AutoCAD 2011 Kurulumu

AutoCAD 2011 Kurulumu AutoCAD 2011 Kurulumu AutoCAD Installation Wizard Kurulum için AutoCAD 2011 DVD sini sürücüye yerleştirdiğinizde, DVD-ROM un içeriğinin okunduğunu belirten Setup Initialization penceresinden sonra, karşınıza

Detaylı

EndNote Web Hızlı Başvuru kartı

EndNote Web Hızlı Başvuru kartı EndNote Web Hızlı Başvuru kartı THOMSON SCIENTIFIC Web öğrencilere ve araştırmacılara çalışmalarını yazarken yardımcı olacak şekilde tasarlanmış Web tabanlı bir servistir. ISI Web of Knowledge, EndNote,

Detaylı

TecCom TecLocal Programı Kurulum ve Yapılandırma Rehberi

TecCom TecLocal Programı Kurulum ve Yapılandırma Rehberi TecCom TecLocal Programı Kurulum ve Yapılandırma Rehberi Giriş: TecLocal programı TecCom elektronik ticaret platformu üzerinden sisteme kayıtlı tedarikçi/distribütör firmalara bağlanmayı sağlayan ücretsiz

Detaylı

MPLAB IDE ve ISIS ile ASSEMBLY DİLİNDE UYGULAMA GELİŞTİRMEK

MPLAB IDE ve ISIS ile ASSEMBLY DİLİNDE UYGULAMA GELİŞTİRMEK MPLAB IDE ve ISIS ile ASSEMBLY DİLİNDE UYGULAMA GELİŞTİRMEK 1.1 Programın Başlatılması 1.2 Yeni Proje Oluşturma 1.3 MCU Seçimi Yrd.Doç.Dr.Bülent Çobanoğlu 1.4 MCU Programlama Dil Seçimi 1.5 Proje İsmi

Detaylı

KODLAMAYA HAZIRLIK MODÜLÜ 1. YAZILI SINAV ÇALIŞMA SORULARI VE MODÜL ÖZETİ

KODLAMAYA HAZIRLIK MODÜLÜ 1. YAZILI SINAV ÇALIŞMA SORULARI VE MODÜL ÖZETİ KODLAMAYA HAZIRLIK MODÜLÜ 1. YAZILI SINAV ÇALIŞMA SORULARI VE MODÜL ÖZETİ ÖLÇME DEĞERLENDİRME-1 SORULAR Aşağıdaki cümleleri dikkatlice okuyarak boş bırakılan yerlere doğru sözcüğü yazınız. 1.., elektronik

Detaylı

Kelime işlemcilerin işlevlerini öğrenmek. Başlıca kelime işlemcileri tanımak. Microsoft Word 2010 programı hakkında temel bilgileri öğrenmek.

Kelime işlemcilerin işlevlerini öğrenmek. Başlıca kelime işlemcileri tanımak. Microsoft Word 2010 programı hakkında temel bilgileri öğrenmek. Amaçlarımız 2 Kelime işlemcilerin işlevlerini öğrenmek. Başlıca kelime işlemcileri tanımak. programı hakkında temel bilgileri öğrenmek. da metin biçimlendirmek. 1 Kelime İşlemcilerin İşlevleri 3 Kelime

Detaylı

C# 3.0 ile Programlama Temelleri. Emre Ayrılmaz. Editör Hakan Kilyusufoğlu 14-5

C# 3.0 ile Programlama Temelleri. Emre Ayrılmaz. Editör Hakan Kilyusufoğlu 14-5 YAZILIM VE VERİTABANI C# 3.0 ile Programlama Temelleri Emre Ayrılmaz Editör Hakan Kilyusufoğlu 14-5 C# 3.0 ile Programlama Temelleri Emre Ayrılmaz Editör: Hakan Kilyusufoğlu Kapak Tasarımı: Melih Sancar

Detaylı

Açılan programın pencere görünümü aşağıdaki gibidir. 2. Araç Çubuğundan kaydet düğmesi ile

Açılan programın pencere görünümü aşağıdaki gibidir. 2. Araç Çubuğundan kaydet düğmesi ile POWERPOINT PROGRAMI Powerpoint bir sunu hazırlama programıdır. Belirli bir konu hakkında bilgi vermek için, derslerle ilgili bir etkinlik hazırlamak için, dinleyicilere görsel ortamda sunum yapmak için

Detaylı

1. VERİ TABANI KAVRAMLARI VE VERİ TABANI OLUŞTUMA

1. VERİ TABANI KAVRAMLARI VE VERİ TABANI OLUŞTUMA BÖLÜM15 D- VERİ TABANI PROGRAMI 1. VERİ TABANI KAVRAMLARI VE VERİ TABANI OLUŞTUMA 1.1. Veri Tabanı Kavramları Veritabanı (DataBase) : En genel tanımıyla, kullanım amacına uygun olarak düzenlenmiş veriler

Detaylı

Algoritmalar ve Programlama. Algoritma

Algoritmalar ve Programlama. Algoritma Algoritmalar ve Programlama Algoritma Algoritma Bir sorunu / problemi çözmek veya belirli bir amaca ulaşmak için gerekli olan sıralı mantıksal adımların tümüne algoritma denir. Algoritma bir sorunun çözümü

Detaylı

SQL Server 2008 kurulum için Microsoft Windows Installer 4.5 ve üzeri bileşenin bilgisayarınızda kurulu olması gerekir. İndirmek için tıklayın

SQL Server 2008 kurulum için Microsoft Windows Installer 4.5 ve üzeri bileşenin bilgisayarınızda kurulu olması gerekir. İndirmek için tıklayın Bu yazıda SQL server 2008 Express kurulumunu anlatacağım. Sql Server kurulumuna geçmeden önce bilgisayarımızın donanım ve yazılım gereksinimlerinin neler olduğuna bir bakalım. Yazılım SQL Server 2008 kurulum

Detaylı

1.5. Başvuru formundaki bilgileri aşağıdaki şekilde doldurunuz. Kart Okuyucu Tipi: Mini Kart Okuyucu Sertifika Süresi: 3 Yıl

1.5. Başvuru formundaki bilgileri aşağıdaki şekilde doldurunuz. Kart Okuyucu Tipi: Mini Kart Okuyucu Sertifika Süresi: 3 Yıl 1. E-imza bulunmayan personelin e-imza alması gerekmektedir. 1.1. https://portal.kamusm.gov.tr/bp/ws.go internet adresine giriniz. 1.2.Girdiğiniz internet sayfasında Nitelikli Elektronik Sertifika Başvurusu

Detaylı

Ecza Depolarına Ait E-Fatura Aktarım Modülü

Ecza Depolarına Ait E-Fatura Aktarım Modülü Bilge Elektronik Ltd. Şti. Eczanem Otomasyon Sistemi Ecza Depolarına Ait E-Fatura Aktarım Modülü 1 1. SELÇUK/AS/NEVZAT/DİLEK Ecza Depoları E-Fatura Aktarımı.. 3 2. HEDEF Ecza Deposu E-Fatura Aktarımı..

Detaylı

e-imzatr Kurulum Klavuzu

e-imzatr Kurulum Klavuzu e-imzatr Kurulum Klavuzu Sürüm 0.0.1 1 İçindekiler İşletim Sistemi Sistem Türü Öğrenme Java yükleme Akis Kurulum Kart Okuyucu Sürücü Kurulum Kullanıcı Doğrulama 2 İşletim Sistemi Sistem Türü Öğrenme Bu

Detaylı

VERİ TABANI UYGULAMALARI

VERİ TABANI UYGULAMALARI V. Ünite VERİ TABANI UYGULAMALARI A. BAŞLANGIÇ B. BİR VERİ TABANI YARATMA C. FORMLARIN KULLANIMI D. BİLGİYE ERİŞİM E. RAPORLAMA 127 A BAŞLANGIÇ Konuya Hazırlık 1. Veri tabanı programları hangi amaç için

Detaylı

2000 de Programlarla Çalışmalar

2000 de Programlarla Çalışmalar Windows 2000 de Programlarla Çalışmalar 24 3 Windows 2000 de Programlarla Çalışmalar Programları Başlatmak Programları başlat menüsünü kullanarak, başlatmak istediğiniz programın simgesini çift tıklayarak

Detaylı

OPERATÖR SERVİSLERİ. Kullanıcı Kılavuzu

OPERATÖR SERVİSLERİ. Kullanıcı Kılavuzu OPERATÖR SERVİSLERİ Kullanıcı Kılavuzu Versiyon Tarih Yazan Tanım 1.0 01-08-2013 Burcu Kayacık Yalman Turkcell Servisleri 2.0 08-10-2014 Burak Şanlı Vodafone Servisleri 2.1 17-10-2014 Gül GÖNLÜBEYAZ Düzenlemeler

Detaylı

NİTELİKLİ ELEKTRONİK SERTİFİKA KURULUM AŞAMALARI

NİTELİKLİ ELEKTRONİK SERTİFİKA KURULUM AŞAMALARI NİTELİKLİ ELEKTRONİK SERTİFİKA KURULUM AŞAMALARI Kurulum Aşamaları: 1. Java Kurulumu 2. E-imza Sürücülerinin İndirilmesi 3. Kart Okuyucu Kurulumu 4. Akıllı Kart Kurulumu 5. Sertifikayı Kullanıma Açma Bilgisayarların

Detaylı

MICROSOFT WORD 2002. Şekil 1

MICROSOFT WORD 2002. Şekil 1 MICROSOFT WORD 2002 Microsoft Word 2002, bir kelime işlem programı olup, Microsoft Office XP bileşenidir. Word 2002 programı kullanılarak, mektup, rapor, kitap gibi belgeler hazırlanabilir. Bu belgelere

Detaylı

İÇİNDEKİLER. Elektronik İmza... 3 Tanım... 3 Mevzuat... 3 Giriş... 3 Akıllı Akis Kart Alındıktan Sonra İzlenecek Adımlar... 4 2. Adım:...

İÇİNDEKİLER. Elektronik İmza... 3 Tanım... 3 Mevzuat... 3 Giriş... 3 Akıllı Akis Kart Alındıktan Sonra İzlenecek Adımlar... 4 2. Adım:... ELEKTRONİK İMZA 1 İÇİNDEKİLER Elektronik İmza... 3 Tanım... 3 Mevzuat... 3 Giriş... 3 Akıllı Akis Kart Alındıktan Sonra İzlenecek Adımlar... 4 1. Adım:... 4 2. Adım:... 4 Sürücü Yükleme Nasıl Yapılır?...

Detaylı

İçindekiler. Akıllı Tahta Uygulaması (ATU) Kullanma Kılavuzu. İçindekiler. Bölüm 1: Uygulama Hakkında Genel bilgi 2

İçindekiler. Akıllı Tahta Uygulaması (ATU) Kullanma Kılavuzu. İçindekiler. Bölüm 1: Uygulama Hakkında Genel bilgi 2 İçindekiler 1 İçindekiler Bölüm 1: Uygulama Hakkında Genel bilgi 2 Bölüm 2: Akıllı Tahta Uygulamasının Yüklenmesi Akıllı Tahta Uygulaması nı yükleme 3 Akıllı Tahta Uygulaması nı kaldırma 3 Akıllı Tahta

Detaylı

TEMEL BİLGİSAYAR. Ders Notları. Yrd. Doç. Dr. Seyit Okan KARA

TEMEL BİLGİSAYAR. Ders Notları. Yrd. Doç. Dr. Seyit Okan KARA TEMEL BİLGİSAYAR Ders Notları Yrd. Doç. Dr. Seyit Okan KARA Pencerenin ortasında bulunan beyaz sayfa, slayt tasarımında kullanacağımız sayfamızdır. Sol panelde bu slayt sayfasının küçültülmüş halde bir

Detaylı

ELEKTRONİK BELGE YÖNETİM SİSTEMİ KULLANICI GİRİŞ VE E-İMZA İŞLEMLERİ KLAVUZU

ELEKTRONİK BELGE YÖNETİM SİSTEMİ KULLANICI GİRİŞ VE E-İMZA İŞLEMLERİ KLAVUZU ELEKTRONİK BELGE YÖNETİM SİSTEMİ KULLANICI GİRİŞ VE E-İMZA İŞLEMLERİ KLAVUZU BİLGİ İŞLEM DAİRE BAŞKANLIĞI 2015 Elektronik Belge Yönetim Sistemi ile ilgili her türlü teknik destek için Bilgi İşlem Daire

Detaylı

Bu makalede 2003 sunucu, Windows 2003 Server anlamına gelmektedir. Aşağıda yapılan işlemler 2003 R2 sunucu üzerinde denenmiş ve çalıştırılmıştır.

Bu makalede 2003 sunucu, Windows 2003 Server anlamına gelmektedir. Aşağıda yapılan işlemler 2003 R2 sunucu üzerinde denenmiş ve çalıştırılmıştır. WINDOWS 2003 SUNUCULARI ÜZERĐNE PHP YÜKLENMESĐ ERDAL YAZICIOĞLU erdal(at)gmail.com http://barbarossa41.wordpress.com Merhabalar, Çözümpark.com adresinde bir kullanıcı ASP ve PHP yi aynı sunucu üzerinde

Detaylı

Network üzerinde MATLAB kurulması

Network üzerinde MATLAB kurulması Network üzerinde MATLAB kurulması MATLAB&Simulink www.figes.com.tr Bir network üzerinde MATLAB ın kurulmasına başlanmadan önce bir network lisansı açılması ve bunun için de kurulum yapılacak sunucunun

Detaylı

ACCESS DERS 2. 1. Tablolarda Düzenleme

ACCESS DERS 2. 1. Tablolarda Düzenleme ACCESS DERS 2 1. Tablolarda Düzenleme Geçen notlarda en durumda Musteri, iller ve ilçeler isminde 3 tane tablomuz olmuştu. Şimdi bu tablolar üzerinde düzenlemeler yapacağız. İlk düzenlemeyi tablo ve tablo

Detaylı

TÜRKİYE KAMU HASTANELERİ KURUMU WEB SİTESİ YÖNETİM REHBERİ

TÜRKİYE KAMU HASTANELERİ KURUMU WEB SİTESİ YÖNETİM REHBERİ TÜRKİYE KAMU HASTANELERİ KURUMU WEB SİTESİ YÖNETİM REHBERİ Bilindiği üzere Kurumumuzun Web Sitesi www.tkhk.gov.tr adresinden yayın yapmaktadır. Web Sitemiz; Alt Alan, Orta Alan, Manşet Haberleri ve Duyurular

Detaylı

LMS PC aracı ACS420. LMS parametre ayarlarının yapılması için PC yazılımı. Kurlum ve çalıştırma talimatları

LMS PC aracı ACS420. LMS parametre ayarlarının yapılması için PC yazılımı. Kurlum ve çalıştırma talimatları LMS PC aracı ACS420 LMS parametre ayarlarının yapılması için PC yazılımı Kurlum ve çalıştırma talimatları 1 İçindekiler 1. ACS420 programının kurulumu.. 3 2. OCI430 ara yüzün sürücü kurulumu.. 7 OCI430

Detaylı

2014-2015 EĞİTİM-ÖĞRETİM YILI BİLİŞİM TEKNOLOJİLERİ VE YAZILIM DERSİ 6. SINIF 2. DÖNEM 2. SINAV ÇALIŞMA NOTLARI

2014-2015 EĞİTİM-ÖĞRETİM YILI BİLİŞİM TEKNOLOJİLERİ VE YAZILIM DERSİ 6. SINIF 2. DÖNEM 2. SINAV ÇALIŞMA NOTLARI 2014-2015 EĞİTİM-ÖĞRETİM YILI BİLİŞİM TEKNOLOJİLERİ VE YAZILIM DERSİ 6. SINIF 2. DÖNEM 2. SINAV ÇALIŞMA NOTLARI İşletim Sisteminde Yapılan Uygulamalar Bir Bilgisayarda Hangi İşletim Sistemi Yüklü Olduğunu

Detaylı

MapCodeX MapLand Kullanım Kılavuzu

MapCodeX MapLand Kullanım Kılavuzu MapCodeX MapLand Kullanım Kılavuzu Versiyon Numarası: 1.0 ------------------------------- Kullanım Kılavuzu 2015 info@ www. MapCodeX MapLand İşlem Araçları Çalışma Dosyası Aç Haritanın ve son çalışma dosyasının

Detaylı

BÖLÜM 10 10. KATMAN OLUŞTURMA (LAYER) Command line: Layer (veya transparent komutu için 'Layer kullanın)

BÖLÜM 10 10. KATMAN OLUŞTURMA (LAYER) Command line: Layer (veya transparent komutu için 'Layer kullanın) BÖLÜM 10 10. KATMAN OLUŞTURMA (LAYER) Çizim alanına yeni katmanlar oluşturur. Object Properties toolbar: Format menu: Layer Command line: Layer (veya transparent komutu için 'Layer kullanın) LAYER komutu

Detaylı

AKINSOFT. Eofis NetworkAdmin. AKINSOFT EOfis NetworkAdmin Kurulumu Bilgi Notu. Doküman Versiyon : 1.01.01 Tarih : 10.01.2008. Copyright 2008 AKINSOFT

AKINSOFT. Eofis NetworkAdmin. AKINSOFT EOfis NetworkAdmin Kurulumu Bilgi Notu. Doküman Versiyon : 1.01.01 Tarih : 10.01.2008. Copyright 2008 AKINSOFT AKINSOFT EOfis NetworkAdmin Kurulumu Bilgi Notu Doküman Versiyon : 1.01.01 Tarih : 10.01.2008 1 - Çalışma Şekli Hakkında Kısa Bilgi modülü kısaca aşağıdaki işlemleri yapar. Bu özelliklerin çalışabilmesi

Detaylı

Çözüm :RadioButtonList1 kontrolunuekliyoruz.enableautopostback iaktifleştiriyoruz..

Çözüm :RadioButtonList1 kontrolunuekliyoruz.enableautopostback iaktifleştiriyoruz.. 3 Kasım 2011 / Perşembe Örnek : Button a tıklamadan seçim yapınca işlem yapılsın. Çözüm :RadioButtonList1 kontrolunuekliyoruz.enableautopostback iaktifleştiriyoruz.. RadioButtonList1 e tek tıklayıp sağdan

Detaylı

Zoru Kolay Yapmak İçin...

Zoru Kolay Yapmak İçin... Zoru Kolay Yapmak İçin... 3308 Mesleki Eğitim Okullarında Öğrenci Takip Programı KURULUM Programı http://www.cetasey.com/userfiles/file/setup.exe adresinden bilgisayarınıza indirip kurun. Daha sonra programın

Detaylı

(PWS) gelmektedir. Ancak. Add/Remove Programs bölümünden yüklenen bir bileşen değildir. Windows 98 kurulum CD'sinden yükleyebilirsiniz.

(PWS) gelmektedir. Ancak. Add/Remove Programs bölümünden yüklenen bir bileşen değildir. Windows 98 kurulum CD'sinden yükleyebilirsiniz. Windows98 ile beraber "Personal Web-Server 4.0" (PWS) gelmektedir. Ancak Add/Remove Programs bölümünden yüklenen bir bileşen değildir. Windows 98 kurulum CD'sinden yükleyebilirsiniz. PWS ile bilgisayarınızı

Detaylı

Java Programlamaya Giriş

Java Programlamaya Giriş Java Programlamaya Giriş Amaçlar: 1. Java kurulumu (Netbeans ve JDK) 2. Java Netbeans Kullanımı 3. Program yazma Java Kurulumu Java dili ile programlama yapabilmek için java jdk ve java kodlama yapılabilecek

Detaylı

2. SCADA PROGRAMI. TEOS' un size sunduğu bir çok hizmet içerisinde en önemlilerini şöyle sıralayabiliriz:

2. SCADA PROGRAMI. TEOS' un size sunduğu bir çok hizmet içerisinde en önemlilerini şöyle sıralayabiliriz: 2. SCADA PROGRAMI Bu bölümde ülkemizde sıklıkla kullanılmaya başlayan, ülkemiz mühendislerince geliştirilmiş bir scada yazılım programı olan TEOS SCADA programı hakkında bilgiler vereceğiz. TEOS SCADA

Detaylı

KOCAELİ TEKNİK LİSESİ ELEKTRİK ELEKTRONİK BÖLÜMÜ OTOMASYON ATÖLYESİ EKTS (Elektrik Kumanda Teknikleri Simülatörü ) DERS NOTU. Kaynak : www.veppa.

KOCAELİ TEKNİK LİSESİ ELEKTRİK ELEKTRONİK BÖLÜMÜ OTOMASYON ATÖLYESİ EKTS (Elektrik Kumanda Teknikleri Simülatörü ) DERS NOTU. Kaynak : www.veppa. KOCAELİ TEKNİK LİSESİ ELEKTRİK ELEKTRONİK BÖLÜMÜ OTOMASYON ATÖLYESİ EKTS (Elektrik Kumanda Teknikleri Simülatörü ) DERS NOTU Kaynak : www.veppa.com Hakkında EKTS (Elektrik Kumanda Teknikleri Simülatörü

Detaylı

DS150E Kullanıcı El Kitabı. Dangerfield June. 2009 V3.0 Delphi PSS

DS150E Kullanıcı El Kitabı. Dangerfield June. 2009 V3.0 Delphi PSS DS150E Kullanıcı El Kitabı 1 Ana bileşen...3 Kurulum talimatları...5 Bluetooth Ayarları...26 Arıza Teşhis Programı...39 Dosya...41 Ayarlar...43 Belgeler...51 Yardım...53 OBD İletişimi...56 Yazdır ve Kaydet...66

Detaylı

T.C. istanbul ÜNiVERSiTESi ÖĞRENCi BiLGi SiSTEMi. ÖĞRETiM ELEMANI KULLANIM KILAVUZU

T.C. istanbul ÜNiVERSiTESi ÖĞRENCi BiLGi SiSTEMi. ÖĞRETiM ELEMANI KULLANIM KILAVUZU T.C. istanbul ÜNiVERSiTESi ÖĞRENCi BiLGi SiSTEMi ÖĞRETiM ELEMANI KULLANIM KILAVUZU 1 1. Sisteme Giriş Nokta Üniversite Otomasyonu sistemini kullanabilmek için öncelikle Windows işletim sisteminde bulunan

Detaylı

MEB E-Posta Hizmetleri ve Outlook Programı

MEB E-Posta Hizmetleri ve Outlook Programı MEB E-Posta Hizmetleri ve Outlook Programı İçindekiler Bakanlık E-Posta Hizmetleri ve Sistem Ara yüzü E-posta Hizmetlerinin Outlook Programına Bağlanması Outlook 2010 Kullanımına ilişkin temel bilgiler

Detaylı

4 Front Page Sayfası Özellikleri

4 Front Page Sayfası Özellikleri 4 Front Page Sayfası Özellikleri İsterseniz Frontpage penceresinin sağ tarafından, isterseniz araç çubuklarından faydalanarak yeni bir sayfa açın. Frontpage te çeşitli sayfa şablonları bulunmaktadır. Ancak

Detaylı

MIRACLE DATA WORKS KURULUM DOKÜMANI

MIRACLE DATA WORKS KURULUM DOKÜMANI MIRACLE DATA WORKS KURULUM DOKÜMANI İçindekiler Server Kurulumu... 3 Microsoft.NET Framework 4.0 Kurulumu... 3 Crystal Reports 2008 Redistributable Package (C12) Kurulumu... 5 Microsoft SQL Server 2008

Detaylı

PERKON PDKS Kurulum ve hızlı başlangıç rehberi

PERKON PDKS Kurulum ve hızlı başlangıç rehberi Oluşturma 02.11.2015 Revizyon: 19.01.2016 Rev. No: 03 Yazan: Süleyman FAKİR Düzenleyen: F. DELİRİ PERKON PDKS Kurulum ve hızlı başlangıç rehberi 1) PDKS Kurulumu, Lisans Onaylaması Ve Veri Tabanı Ayarları

Detaylı

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş Yard. Doç. Dr. Alper Kürşat Uysal Bilgisayar Mühendisliği Bölümü akuysal@anadolu.edu.tr Ders Web Sayfası: http://ceng.anadolu.edu.tr/ders.aspx?dersid=101

Detaylı

Oluşturmak istediğimiz OU ye bir isim veriyoruz. Name kısmına ISTANBUL yazıyoruz,

Oluşturmak istediğimiz OU ye bir isim veriyoruz. Name kısmına ISTANBUL yazıyoruz, ORGANİZATİONAL UNİT (OU) OrganizationUnit(OU): Türkçe Yapısal Birim olarak adlandırılan ve merkezi yönetimimizi kolaylaştıran bir objedir. Organizational Unit domain içerisindeki kullanıcı, group ve bilgisayarları

Detaylı

Şekil 2.1 : Şekil 2.2 : Şekil 2.3 :

Şekil 2.1 : Şekil 2.2 : Şekil 2.3 : BÖLÜM 2 MĐCROWIN 32 PROGRAMININ BĐLGĐSAYARA YÜKLENMESĐ 2.1 - Giriş: PLC de tasarlanan projeyi çalıştırabilmek için Micro/WIN 32 veya Micro/WIN 16 paket programın öncelikle bilgisayara yüklenmesi gerekmektedir.

Detaylı

Excel de çalışma alanı satır ve sütunlardan oluşur. Satırları rakamlar, sütunları ise harfler temsil eder. Excel çalışma sayfası üzerinde toplam

Excel de çalışma alanı satır ve sütunlardan oluşur. Satırları rakamlar, sütunları ise harfler temsil eder. Excel çalışma sayfası üzerinde toplam Microsoft Excel Microsoft Office paket programı ile bizlere sunulan Excel programı bir hesap tablosu programıdır. her türlü veriyi tablolar yada listeler halinde tutmak ve bu veriler üzerinde hesaplamalar

Detaylı

BİOS MENÜSÜNE GİRMEK İÇİN BİLGİSAYARIMIZIN GÜÇ DÜĞMESİNE BASIYORUZ.GENELDE BİLGİSAYARLARDA GÜÇ DÜĞMESİ OLARAK DEL TUŞU KULLANILMAKTADIR.

BİOS MENÜSÜNE GİRMEK İÇİN BİLGİSAYARIMIZIN GÜÇ DÜĞMESİNE BASIYORUZ.GENELDE BİLGİSAYARLARDA GÜÇ DÜĞMESİ OLARAK DEL TUŞU KULLANILMAKTADIR. Kurulumdan önce yapmamız gereken bir kaç adım var. Öncelikle elimizde olması gerekenler: 1- Windows 7 CD si ya da DVD sine ihtiyacımız olacak. 2- İkinci olarak Windows 7 yi kuracağımız bilgisayarın donanımsal

Detaylı

Flow Kullanım Klavuzu Mart 2014

Flow Kullanım Klavuzu Mart 2014 Flow Kullanım Klavuzu Mart 2014 İçindekiler Flow nedir? Bir Flow hesabı oluşturmak Oturum açmak Flow Hesabınız Genel Görünüm Flow Hesabınız Kullanım + Add (ekle butonu) Bibliography (Künye/Atıf butonu)

Detaylı

BEUN VPN Hizmeti. VPN Nedir?

BEUN VPN Hizmeti. VPN Nedir? BEUN VPN Hizmeti VPN Nedir? VPN, Virtual Private Network, yani Sanal Özel Ağ ın kısaltılmasıdır. VPN, İnternet gibi halka açık telekomünikasyon altyapılarını kullanarak kullanıcılar veya uzak ofisleri

Detaylı

OKUL HABER EKLEME MODÜLÜ TANITIM DOSYASI. Okul haberlerinizi ilçemiz web sitesinde yayınlayabilmek için aşağıdaki adımları uygulamanız gerekmektedir.

OKUL HABER EKLEME MODÜLÜ TANITIM DOSYASI. Okul haberlerinizi ilçemiz web sitesinde yayınlayabilmek için aşağıdaki adımları uygulamanız gerekmektedir. OKUL HABER EKLEME MODÜLÜ TANITIM DOSYASI Okul haberlerinizi ilçemiz web sitesinde yayınlayabilmek için aşağıdaki adımları uygulamanız gerekmektedir. http://maltepe.meb.gov.tr/mebpanel adresine giriniz.

Detaylı

Web tabanlı altyapı sayesinde her cihazdan erişilebilir ve düzenlenebilir dokümanlar oluşturulup anında paylaşılabilir.

Web tabanlı altyapı sayesinde her cihazdan erişilebilir ve düzenlenebilir dokümanlar oluşturulup anında paylaşılabilir. Eğitimde Google Doküman Uygulamaları 1.1 Google Uygulamalarına Giriş Google Doküman uygulamaları, hem öğretmenler, hem öğrenciler, hem de veliler için birçok farklı özellik sağlar. Kelime işleme, elektronik

Detaylı

ÇANKAYA ÜNİVERSİTESİ WEBMAIL KULLANIM KLAVUZU

ÇANKAYA ÜNİVERSİTESİ WEBMAIL KULLANIM KLAVUZU ÇANKAYA ÜNİVERSİTESİ WEBMAIL KULLANIM KLAVUZU Üniversitemiz Webmail servisi yenilenmiş olup Roundcube webmail üzerinden servis vermeye başlamıştır. Daha önce kullanılan SquirrelMail servisi https://oldwebmail.cankaya.edu.tr/

Detaylı

SIMAN KULLANIM KILAVUZU

SIMAN KULLANIM KILAVUZU SIMAN KULLANIM KILAVUZU Önder Öndemir SIMAN Simülasyon programı Model Çatı ve Deneysel Çatı olmak üzere iki kısımdan oluşur. Model çatı genel itibariyle modullerin ve işlem bloklarının yazıldığı kısımdır.

Detaylı

OYAK YATIRIM FX Meta İşlem Platformu Kullanma Kılavuzu

OYAK YATIRIM FX Meta İşlem Platformu Kullanma Kılavuzu İçindekiler: FX Meta İşlem Platformu Kullanma Kılavuzu 1- Demo Hesap Açılışı 2- Genel Görünüm 3- Alım-Satım İşlemleri 4- Stop-Limit İşlemleri 5- Pozisyon Kapatma 6- Grafiklerin Kullanımı 7- Göstergeler

Detaylı

PROGRAMLAMA DERSİ 1. İNTERNET

PROGRAMLAMA DERSİ 1. İNTERNET PROGRAMLAMA DERSİ 1. İNTERNET İnternet sunucu-istemci modeline göre çalışır. Fiziksel olarak bu sistem genelde isteği yapan bir bilgisayar (kullanıcı-client) ve bu isteği karşılayan özel bir bilgisayar

Detaylı

Şekil 7.14: Makro Kaydet Penceresi

Şekil 7.14: Makro Kaydet Penceresi 7.2.4. Makrolar Kelime işlemci programında sık kullanılan bir görevi (çok kullanılan düzenleme ve biçimlendirme işlemlerini hızlandırma, birden çok komutu birleştirme, iletişim kutusu içinde daha kolay

Detaylı

MS POWERPOINT 2010. Şekil 111 Powerpoint 2010 Programını Başlatmak

MS POWERPOINT 2010. Şekil 111 Powerpoint 2010 Programını Başlatmak MS POWERPOINT 2010 1.Giriş: PowerPoint, Windows ortamında çalışan bir sunu paket programıdır. Metin, taslak, çizim ve grafikler kullanılarak sunular, slaytlar, broşürler, bildiriler, konuşmacı notları

Detaylı

Harita Güncelleme MODEL. - Model ; DAİİCHİ üniteye sahip olan TÜM modeller PROSEDÜR. 1. Öncelikle bilgisayarınızdan

Harita Güncelleme MODEL. - Model ; DAİİCHİ üniteye sahip olan TÜM modeller PROSEDÜR. 1. Öncelikle bilgisayarınızdan Harita Güncelleme Bu broşür DAİİCHİ marka Navigasyon ünitesine sahip olan Hyundai modellerimizin, Navigasyon programındaki haritanın güncelleme işleminin nasıl yapılacağı konusunda bilgilendirme amacıyla

Detaylı

Windows Grup İlkesi Düzenleyici

Windows Grup İlkesi Düzenleyici Windows Grup İlkesi Düzenleyici Microsoft Windows ta kullanıcı ve bilgisayar grupları için kullanıcı ve bilgisayar yapılandırmaları tanımlamak üzere Grup İlkesi kullanılır. Grup ilkesi Microsoft Yönetim

Detaylı

PASCAL EDİTÖRÜ BÖLÜM 2. 2.1 Giriş. 2.2 Pascal Menüleri

PASCAL EDİTÖRÜ BÖLÜM 2. 2.1 Giriş. 2.2 Pascal Menüleri BÖLÜM 2 PASCAL EDİTÖRÜ 2.1 Giriş Pascal programlama dili 1968 yılında Niklaus Wirth tarafından geliştirilmiş üst düzey programlama dilidir. Pascal programlama dilinin günümüzdeki sürümleri Turbo/Borland

Detaylı

www.elektrikogretmenleri.com

www.elektrikogretmenleri.com FIREWORKS (MENU OLUŞ TURMA) 1 Önce Başlat menüsü Programlar Adobe Web Premium CS3 Adobe Fireworks CS3 kısayol simgesi ile Fireworks programı açılır. 2 Fireworks programı açıldığında Karşımıza gelen Yeni

Detaylı

AEGEE-Eskişehir Online Web Yönetim Paneli ( WEBBY ) Yardım Dökümanı

AEGEE-Eskişehir Online Web Yönetim Paneli ( WEBBY ) Yardım Dökümanı AEGEE-Eskişehir Online Web Yönetim Paneli ( WEBBY ) Yardım Dökümanı Emre GÜLCAN IT Responsible & Web Admin AEGEE-Eskişehir emregulcan@gmail.com e_gulcan@hotmail.com 0535 729 55 20 1 1. YÖNETİM PANELİNE

Detaylı

İŞLETİM SİSTEMLERİ. İŞLETİM SİSTEMİ Kavramı. Klasör ve Dosya Mantığı. Klasör ve Dosya Mantığı

İŞLETİM SİSTEMLERİ. İŞLETİM SİSTEMİ Kavramı. Klasör ve Dosya Mantığı. Klasör ve Dosya Mantığı İŞLETİM SİSTEMİ Kavramı İŞLETİM SİSTEMLERİ İşletim sistemini, bir bilgisayar sisteminde kullanıcı ile iletişim kurarak, donanım ve yazılım nitelikli kaynakların kullanıcılar arasında adil bir biçimde paylaştırılmasını

Detaylı

SQL 2005 SQL STUDIO MANAGER ACP YAZILIMI KURULUM KILAVUZU

SQL 2005 SQL STUDIO MANAGER ACP YAZILIMI KURULUM KILAVUZU SQL 2005 SQL STUDIO MANAGER ACP YAZILIMI KURULUM KILAVUZU Sayfa 1 / 18 KURULUMA BAŞLANMADAN ÖNCE YAPILMASI GEREKENLER : Sistem Özelliklerinden işletim sisteminin 32-bit mi yoksa 64-bit mi olduğu kontrol

Detaylı

İşletme Fakültesi Bil. Kullanımı Ders notları 2

İşletme Fakültesi Bil. Kullanımı Ders notları 2 İşletme Fakültesi Bil. Kullanımı Ders notları 2 Öğr.Gör.Ali ATALAY EXCEL PAKET PROGRAMI Günümüzde hesap tablosu, veri analizi, kod yazımı, grafik çizimi, veri tabanı oluşturma gibi bir çok özelliği olan

Detaylı

New Project. User guide

New Project. User guide New Project User guide Table of Contents New Project... 3 Katman Yöneticisi... 4 Katman Yöneticisi Araçları... 6 Katman İşlemleri... 8 Katman Görünümü... 9 Katman Ekleme... 10 Aktif Katman Yapma... 12

Detaylı

NİTELİKLİ ELEKTRONİK SERTİFİKA KURULUM AŞAMALARI

NİTELİKLİ ELEKTRONİK SERTİFİKA KURULUM AŞAMALARI NİTELİKLİ ELEKTRONİK SERTİFİKA KURULUM AŞAMALARI Kurulum Aşamaları: 1. Java Kurulumu 2. E-imza Sürücülerinin İndirilmesi 3. Kart Okuyucu Kurulumu 4. Akıllı Kart Kurulumu 5. Sertifikayı Kullanıma Açma Bilgisayarların

Detaylı

WEB SİTESİ YÖNETİM PANELİ KULLANMA YÖNERGESİ

WEB SİTESİ YÖNETİM PANELİ KULLANMA YÖNERGESİ WEB SİTESİ YÖNETİM PANELİ KULLANMA YÖNERGESİ Web Sitesi Yönetim Paneli, Üniversitemiz web sitesinde, birimlerimize ait web sitelerindeki içerikler üzerinde ekleme, silme, değiştirme gibi güncelleme işlemlerini,

Detaylı

Yeni kullanıcı hesabı açmak ya da varolan hesaplar üzerinde düzenlemeler yapmak.

Yeni kullanıcı hesabı açmak ya da varolan hesaplar üzerinde düzenlemeler yapmak. Windows Server 2008 R2 İle Active Directory Domain Servislerinde Gelen Yenilikler Active Directory Administrative Center (Active Directory Yönetim Merkezi) Hepimizin heyecanla beklediği ve ilk beta versiyonlarından

Detaylı

Windows İşletim Sistemi

Windows İşletim Sistemi Windows İşletim Sistemi Bilgisayar (Özellikler) Bilgisayarınızın özelliklerini görüntülemek için : Masaüstünde Bilgisayar simgesine sağ tıklayarak Özellikler e tıklayın. Çıkan pencerede bilgisayarınızda

Detaylı

SATIŞ EKRANININ KULLANIMI:

SATIŞ EKRANININ KULLANIMI: , Teperes KULLANIM PROGRAMI ÇALIŞTIRMAK: Programı çalıştırmak için masa üstündeki, Teperes Sale simgesine çift tıklayınız. Açılan pencerede işlem yapılacak P.O.S u ( point tof sale) seçiniz ve satış görünümüne

Detaylı

Yazılım Çeşitleri. Uygulama Yazılımları. İşletim Sistemleri. Donanım

Yazılım Çeşitleri. Uygulama Yazılımları. İşletim Sistemleri. Donanım Yazılım Yazılım Bilgisayarlar üretildikleri anda içlerinde herhangi bir bilgi barındırmadıkları için bir işlevleri yoktur. Bilgisayarlara belirli yazılımlar yüklenerek işlem yapabilecek hale getirilirler.

Detaylı

Öğrenci Kullanım Kılavuzu

Öğrenci Kullanım Kılavuzu Öğrenci Kullanım Kılavuzu Web tabanlı ALMS adresinizden sisteminize web tarayıcınızla (Google Chrome, Internet Explorer, Mozilla, Safari vb.) giriş yapınız. Açılan sayfada gerekli alanlara TC kimlik numaranızı

Detaylı

FRONT PAGE EĞİTİM NOTLARI BAŞLANGIÇ. 1- Open araç çubuğu düğmesinin yanındaki aşağı oku tıklayarak, web seçeneğini işaretleyin

FRONT PAGE EĞİTİM NOTLARI BAŞLANGIÇ. 1- Open araç çubuğu düğmesinin yanındaki aşağı oku tıklayarak, web seçeneğini işaretleyin FRONT PAGE EĞİTİM NOTLARI BAŞLANGIÇ 1- Open araç çubuğu düğmesinin yanındaki aşağı oku tıklayarak, web seçeneğini işaretleyin 2- Açılan sayfadan, oluşturulmak istenen sitenin içeriğine göre hazır şablon

Detaylı

2- Kontrol Sil... 17. 3-En Öne Getir... 13 4-En Arkaya Gönder... 13 4.5.8.2 Resim... 14. 1-Özellikler:... 18 Genel Özellikler...

2- Kontrol Sil... 17. 3-En Öne Getir... 13 4-En Arkaya Gönder... 13 4.5.8.2 Resim... 14. 1-Özellikler:... 18 Genel Özellikler... i İçindekiler Kullanıcı Giriş Ekranı... 1 Ana Sayfa... 2 1-Projeler... 3 1.1 Yeni Proje... 3 1.2 Proje Düzenle... 3 1.3 Proje Sil... 3 1.4 Listeyi Güncelle.... 3 2-Gruplar... 4 2.1.1 Grup Adı.... 5 2.1.2

Detaylı

POWER POİNT 2007 DERS NOTLARI

POWER POİNT 2007 DERS NOTLARI POWER POİNT 2007 DERS NOTLARI Power Point sunu yapmak için kullanılan bir programdır. İçerisindeki slaytlar çoğaltıltıp düzenlenerek sunu gerçekleştirilir. Bir Power Point 2007 programının dosya uzantısı

Detaylı

Kullanım Kılavuzu Milli Eğitim Bakanlığı 2010

Kullanım Kılavuzu Milli Eğitim Bakanlığı 2010 Kullanım Kılavuzu Milli Eğitim Bakanlığı 2010 Bu belge BT Sınıfı Etkinliklerinde Kullanılmak Üzere Hazırlanmıştır İÇİNDEKİLER GİRİŞ... 3 ÜYE (KAYIT) OLMA... 3 YÖNETİM PANELİ İŞLEMLERİ... 5 ŞABLON AYARLARI...

Detaylı

C# Programlama. Visual Studio 2010 Arayüzü. Prof. Dr. Ümit KOCABIÇAK SAKARYA ÜNİVERSİTESİ

C# Programlama. Visual Studio 2010 Arayüzü. Prof. Dr. Ümit KOCABIÇAK SAKARYA ÜNİVERSİTESİ SAKARYA ÜNİVERSİTESİ C# Programlama Visual Studio 2010 Arayüzü Prof. Dr. Ümit KOCABIÇAK Bu ders içeriğinin basım, yayım ve satış hakları Sakarya Üniversitesi ne aittir. "Uzaktan Öğretim" tekniğine uygun

Detaylı

TSOFT FACEBOOK STORE UYGULAMASI

TSOFT FACEBOOK STORE UYGULAMASI TSOFT FACEBOOK STORE UYGULAMASI GEREKSİNİMLER VE KURULUM YARDIMI GİRİŞ Facebook, insanların arkadaşlarıyla iletişim kurmasını ve bilgi alış verişi yapmasını amaçlayan bir sosyal paylaşım web sitesidir,

Detaylı

Açılan penceren gerekli ayarlamalar yapılarak sayfa numaraları görüntülenir.

Açılan penceren gerekli ayarlamalar yapılarak sayfa numaraları görüntülenir. Sayfa numarası ekleme: Ekle menüsünden sayfa numaraları seçeneğine tıklandığında Açılan penceren gerekli ayarlamalar yapılarak sayfa numaraları görüntülenir. Tarih ve saat ekleme: Ekle menüsünden Tarih

Detaylı

Kurulum ve Başlangıç Kılavuzu. DataPage+ 2013 için

Kurulum ve Başlangıç Kılavuzu. DataPage+ 2013 için DataPage+ 2013 için En Son Güncellenme Tarihi: 25 Temmuz 2013 İçindekiler Tablosu Önkoşul Olan Bileşenleri Yükleme... 1 Genel Bakış... 1 Adım 1: Setup.exe'yi Çalıştırın ve Sihirbazı Başlatın... 1 Adım

Detaylı