Visual Basic İçin Programcılık Dersleri (Bölüm 2)

Bir önceki ders veya makalede .NET uyumlu Visual Basic programlama diline başlama konusunda biraz sohbet etmiştik. Bu derste ise kod yazmaya başlayacağız.

Bir önceki ders veya makalede .NET uyumlu Visual Basic programlama diline başlama konusunda biraz sohbet etmiştik. Bu derste ise kod yazmaya başlayacağız.

Visual Basic konulu hangi kitabı alırsanız alın, Visual Basic konulu hangi kursa gidiyorsanız gidin, Visual Basic programlama diliyle ilgili dersleri hangi fakültede alıyorsanız alın Visual Basic'le çalışmaya bu dersleri okumakla başlamanızı öneriyoruz. Bu sayede Visual Basic'e ayırmanız gereken zaman büyük oranda azalacaktır.

Yıllardır konu programcılık üzerine yazmak olduğunda asıl önemli olanın anlatma şekli olduğunu savunuyorum. Yoksa söz konusu programlama diliyle ilgili olarak hemen her şey kısa sürede söylenmekte, hemen her sorunun çözümü bir şekilde anlatılmaktadır. Yoksa programcılık üzerine yazan birisinin okurları ile paylaştığı bir yenilikten söz etmesi uzak bir ihtimaldir. Bu durumda programcılık üzerine yazanlar ancak anlatma biçimleri ile övünebilirler, ancak kurdukları cümlelerin düzgünlüğü ile fark yaratabilirler. Yoksa bu makalede anlattığım her şeyi Visual Basic'le az çok uğraşmış herkes biliyordur. Eğer orada burada bilgisayar konulu kitap yazarının birisi buluş yaptığından veya söz konusu programlama diline katkı sağladığından söz ediyorsa inanmayınız. Yani bu makalede Visual Basic üzerine yeni bir şey söylemem ihtimal dışıdır. Buna rağmen birileri ortaya çıkıp konsolda VB kodunu derlemeyi benden çalmışsın diyebilir. Hatta bununla da yetinmeyip Visual Studio'nun File menüsünden komut verip yeni proje hazırlamayı benim kitaptan çalmış olmalısın diyebilir. Yani sayın okurlar sizlere üç beş kelime anlatmak için kendimi nasıl bir tehlikenin içine atmış olduğumu bilmenizi isterim.

.NET Framework'ü Kurmak

Herhangi bir programlama dili ile çalışılıp uygulama geliştirilmek istendiğinde ilk yapılması gereken derleyici edinmektedir. Ancak konu .NET Framework uyumlu programlama dilleri olduğunda derleyici aramak zorunda kalmıyorsunuz. Çünkü C#, Visual Basic ve C++ derleyicileri .NET Framework ile birlikte ücretsiz olarak dağıtılmaktadır. Buna göre Visual Basic programları yazabilmek için bilgisayarımıza .NET Framework'ün kurulu olması yeterlidir. Kullandığınız bilgisayarda Windows Vista kurulu ise ayrıca .NET Framework kurmanız gerekmiyor. Çünkü .NET Framework Vista ile birlikte geliyor. Kullandığınız bilgisayara Windows XP kurulu ise microsoft.com'dan .NET Framework'ü indirip kurmanız gerekir.

Şu günlerde kullanıma sunulan .NET Framework'ün en son sürümünün numarası 3.5. Daha önce işaret edildiği gibi bu derslerde örnek olması için verilen küçük programları yazıp deneyebilmeniz için .NET Framework'ün 2.0 sürümü yeterlidir. Bilgisayarınıza .NET Framework'ün yüklü olup olmadığını veya yüklü ise hangi sürümün yüklü olduğunu öğrenmek için Windows'un Program Ekle veya Kaldır penceresine bakabilirsiniz.

Kullandığınız bilgisayara .NET Framework kurulu ise hemen Visual Basic programları yazabilirsiniz. Not Defteri ile Visual Basic kodu yazıp VB uzantısı ile herhangi bir klasöre kaydedip sonra da .NET Framework ile gelen Visual Basic derleyicisi(yani vbc.exe dosyası) sayesinde derleme yapıp EXE dosya hazırlayabilirsiniz. Bu derste öncelikle C# programlarını Not Defteri ile yazıp derleyeceğiz. Devamında Visual Basic için hazırlanmış Express Edition'dan yararlanacağız.

Şimdi Microsoft'un sitesine uğrayıp .NET Framework 3.5'ı indireceğim. Bu amaçla microsoft.com'da arama yapıp .NET Framework 3.5'ı indirebileceğim linki buldum. Bulduğum linki tıklayınca ekrana aşağıda verdiğim diyalog kutusu geldi.



Yaklaşık 3 Mb'lık bu dosyayı indirip bilgisayarıma kaydettikten sonra çalıştırdım. .NET Framework 3.5 gerçekte 72 MB olduğu için indirdiğiniz dosyayı çalıştırıp kurmaya başladığınızda geri kalanı Microsoft'un sitesinden indiriliyor. Başka bir deyişle nete bağlı değilken bu 3 Mb'lık dosya ile kurma işlemi yapılamıyor.

Program Yazmaya Başlıyoruz.

Konu .NET uyumlu programlama dilleri olduğunda ilk karşılaşacağınız kavram belki de Class kavramıdır. Hemen ilk dakikada size Class'ları anlatmayacağım. Her ne kadar Visual Basic'in .NET uyumlu sürümü için hazırlanan programları Class şeklinde düzenlemek bir zorunluluk olmasa bile en zor anlaşılan konuların başında Class'lar geldiği için bu derste en azından adından söz edeceğim. Bu sayfalarda daha önce yayınlanan ilgili C# dersini okumuş olanlar benzer cümle ve örneklerle karşılaşacaklardır.

Günümüzün modern programlama dillerinde programlar genellikle Class'lar şeklinde paketlenmekte, Class'lar şeklinde düzenlenmektedir. Programları Class'lar halinde paketlenmenin sayısız yararları vardır. Ancak bunları burada anlatmayacağım. Class'lar hakkında bilgi sahibi olmadan Visual Basic 6 ve Delphi gibi dillerle program geliştirmek mümkün iken C++, C#, Java ve Visual Basic for .NET gibi programlama dilleri Class'lar hakkında bilgi sahibi olmanızı zorunlu kılmaktadır.

Quick Basic, Pascal ve C gibi klasik programlama dillerinde kod dosyaları içinde fonksiyonlar ve procedure'ler bulunuyordu. Hatta C'de fonksiyon procedure ayrımı da yoktur. Başka bir deyişle programcılar yapmak istedikleri işlemlere uygun fonksiyonlar yazıp gerek duydukça bunları çağırıyorlardı.

Zamanla programlar büyüyüp karmaşıklaştıkça paketlenmesi ihtiyacı doğdu. Fonksiyon ve metotların Class'lar halinde paketlenmesi ile birlikte Class içinde bulunan fonksiyonların kullanılması, organize edilmesi ihtiyacı doğdu. Günümüzde yaygın olarak kullanılan programlama dillerinde Class'lar metotlardan başka Interface'leri, Olayları, Özellikleri, Delegate'leri ve Yapıcı metotları içerebilmektedir. Lütfen şimdi olay nedir özellik nedir diye sormayın. Zamanı gelince bu konular hakkında bilgi verilecektir.

Yerli yabancı ayrımı yapmadan bugüne kadar hangi kaynağa baktıysam konu nesneye yönelik programcılık olduğunda ilk birkaç sayfada biyolojiden, memelilerden, ütülerden arabalardan vs. söz edilmektedir. Her yazar nesneye yönelik programcılığın 3 temel kavramını kendince anlatmaktadır. Hemen belirtmek isterim ki kişisel görüşme göre bu anlayış öğrenmeyi zorlaştırmaktadır.

İstenilen ayrıntıda polimorfizm'den söz edilsin, biyolojiden memelilerden örnek verilsin bu kavramların kod karşılığı görülmeden verilen bilgiler havada kalıyor. Bu nedenledir ki bu derste nesneye yönelik programcılığın temel kavramlarının adını anmadan, bir daha 'nesneye yönelik programcılık' sözünü etmeden bu konuyu anlatmak istiyorum. Esasında burada bilim yapmıyoruz, olsa olsa sizlere .NET uyumlu Visual Basic gibi bir programlama dili ile nasıl kod yazabileceğinizi anlatmak istiyoruz. Amacımız en basit şekilde programcılık tecrübesi olmayanları bile programcılığa alıştırmaktır, onları .NET uyumlu Visual Basic ve diğer programlama dillerini öğrenebileceklerine inandırmaktır.

Aşağıda en basit veya en kısıtlı, en az satıra sahip bir Visual Basic programı bulunmaktadır. Bu kodu Not Defteri penceresine yazıp VB uzantısı ile kaydedip .NET Framework ile gelen Visual Basic derleyicisi ile derleyip EXE yapabilirsiniz. Bu işlemin nasıl yapıldığı bu dersin ileriki sayfalarında anlatılacaktır.


Module Deneme

   Sub Main()

   End Sub

End Module



Bu koda dikkat ederseniz Module deyimi ile başlayıp End Module deyimi ile sona erdirilen bir kod bloğu var. Bu kod bloğunun içinde ise Main() adında bir procedure yani bir metot var. Topu topu 4 satıra sahip bu Visual Basic kodunu derlediğinizde hata meydana gelmez ama bu programın yaptığı herhangi bir işlem yoktur. Şimdi bu Visual Basic programına DOS penceresine yani konsola bilgi yazan bir satır ekleyeceğim.



Bu şekilde düzenlenen Visual Basic programı derlenip çalıştırılırsa konsola yani DOS penceresine belirtilen mesaj yazıldıktan sonra Enter tuşuna basılıncaya kadar programın çalışması devam eder. Dikkat ederseniz bu kodda Class hazırlamadım. Bu örneği vermemdeki amaç, Visual Basic'in .NET uyumlu sürümünde Class hazırlamanın bir zorunluluk olmadığını size göstermektir. Şimdi sanki Visual Basic programlarının mutlaka Class şeklinde düzenlenmesi gerektiğini varsayıp ona göre anlatmaya devam edeceğim. Bu düşünce ile yukarıda verdiğim kodu aşağıdaki gibi düzenledim.


Class Deneme

   Shared Sub Main()

     System.Console.Write("Şampiyon Beşiktaş")

     System.Console.Read()

   End Sub

End Class



Tıpkı C, C++ ve C# programlarında olduğu gibi Visual Basic programlarının başlangıç noktası Main()metodu olduğu için Main() metoduna yer vermek zorundasınız. Bu Visual Basic kodu VB uzantılı bir dosyaya yazılıp derlenip hazırlanan EXE dosya çalıştırılırsa ekrana belirtilen mesaj yazılır.

Bu Visual Basic programındaki Main() metodunun shared olduğunu işaret ettim. Visual Basic programlarının başlangıç noktası olan Main() metodu bir Class'ın içine alındığında halinde shared olmak zorundadır. Yukarıda Main() metodunu Module içine aldığım için buna gerek olmamıştı. Neden Module-End Module bloğuna yazılan Main() metodunu Shared olarak işaret etmedim? Çünkü Visual Basic derleyicisi Module-End Module bloğu içinde hazırlanan metotların Shared olduğunu varsaymaktadır.

Şimdi Visual Basic programının başlangıç noktası olan Main() metodu içinde bir değişkene yer vereceğim. Bu değişkeni Main() metodu içinde tanımladım. Değişkeni Main() metodu tarafından sınırlanan kod bloğu yerine Class bloğu içinde tanımlayabilirdim.


Class Deneme

   Shared Sub Main()

     Dim Yil As Integer

   End Sub 

End Class



Gördüğünüz gibi Visual Basic programlarında değişken tanımlanırken Dim deyiminden(buna anahtar kelime diyenler de var) yararlanılmaktadır. Dim deyiminden sonra değişkene verilmek istenen ad yazılıp, ardından değişkenin tipi işaret edilmektedir.

Buradaki integer bu değişkenin tamsayı tipindeki bilgileri saklayabileceğini işaret etmektedir. Programcılıkta değişken tanımlamayı günlük hayatta telefon edip bir otelde yer ayırtmaya benzetmek mümkündür. Bu değişkeni tanımlamakla derleyiciye demiş oluyoruz ki, 'programın işletimi Main() metodunun içinde iken elimdeki integer tipindeki bilgileri bellekte tutma gereğini duyabilirim. Bu nedenle bana bellekte yer ayırt.'

Bu kısacak kodu yorumlamak gerekirse, bu programdaki 'Deneme' adlı Class'ın Main() adında bir metodu bulunmaktadır. Main() metodu içinde yaşayabilecek 'Yil' adında ve Integer tipindeki bilgilerin aktarılabileceği bir değişken tanımlanmıştır. Daha sonra değişkenlerin nasıl tanımlandığı konusu işlenecektir. Tabi yerli yazarın birisi çıkıp bu "yil" adını verdiğim değişkenin adına itiraz edebilir. Muhtemel değişken adı çalma suçlamaların önüne geçmek için yukarıda verdiğim kodu aşağıdaki gibi değiştirdim. Yani Yıl değişkenine bu kez "kıl" adını verdim.


Class Deneme

   Shared Sub Main()

     Dim kil As Integer

   End Sub 

End Class



Yukarıda belirtildiği gibi Visual Basic programları dahilinde hazırlanan Class'lar metotları barındırabilmektedir. Yukarıda verdiğim kısıtlı Visual Basic programı içinde hazırladığım Class'ta 2. bir metot hazırladım. Herhangi bir satır içermeyen bu metot bu hali ile herhangi bir işlem yapmaz. Bu metodu da Shared olarak işaret ettiğimi fark etmiş olmalısınız.


Class Deneme

   Shared Sub Main()

     Dim Yil As Integer

   End Sub

  

   Shared Sub Mesaj()

   End Sub 

End Class



Daha önce C#, C++ ve Delphi gibi herhangi bir programlama dili ile program geliştirenlere bu derste anlatılanlar basit gelecektir. Bu derslerdeki amaçlarımdan birisi Visual Basic .NET gibi bir programlama dilinin nasıl kolay öğrenilebileceğini kanıtlamaktır. Programcılıkta tecrübeli arkadaşlara bir önerim var; sizler bu yazıda ne anlatıldığı ile değil de nasıl anlatıldığı ile ilgilenebilirsiniz.

Şimdi ise yukarıda verdiğim basit Visual Basic kodundaki Mesaj() adını verdiğim metot veya yordamı işleteceğim. Hazırladığım metot aynı sınıfın içinde olduğu için herhangi bir hazırlık yapmadan direk adıyla çağırıp işletmek mümkündür. Tabii "Mesaj" sık kullanılan bir metot adı olduğu için yerli programcılık kitabı yazarlarından birisi ortaya çıkıp "benim metot adımı çalmışsınız" derse buna şaşırmamak gerekir(!).


Class Deneme

   Shared Sub Main()

     Dim Yil As Integer

     Mesaj()

   End Sub

  

   Shared Sub Mesaj()

   End Sub 

End Class



Bu hali ile bu Visual Basic programı veya VB uzantılı kod dosyası DOS penceresinde derlenip EXE dosya hazırlanıp çalıştırılırsa Main() metodu otomatik olarak işletilir. Çünkü yukarıda söylendiği gibi Visual Basic programları Main() metodundan itibaren çalışmaya başlarlar.

Bu programı aşağıdaki gibi düzenlemiş olsaydım değişen bir şey olmazdı. Bu kısa örnekte 'Yil' adını verdiğim değişkeni hiç kullanmadığım için Visual Basic derleyicisi derleme sırasında uyarı mesajı verir.


Class Deneme

   Shared Sub Mesaj()

   End Sub 

 

  Shared Sub Main()

     Dim Yil As Integer

     Mesaj()

   End Sub 

End Class



Şimdi bu Mesaj() adını verdiğim metotta değişiklik yapıp işletildiği zaman ekrana bilgi yazılmasını sağlayacağım. Konsolda yani DOS penceresinde çalışan Visual Basic projelerinde ekrana bilgi yazma işlemleri .NET Framework ile gelen Console sınıfında tanımlı olan Write() veya WriteLine() metotları ile yapılmaktadır.



Bu şekilde düzenlenen Visual Basic uygulaması DOS penceresinde derlenip çalıştırıldığında ekrana 'Beşiktaş' yazdırılır. Mesaj() metoduna yazdığım satır hakkında biraz konuşmak gerekirse şunlar söylenebilir; 'System.Console.WriteLine("Başiktaş");' satırındaki System bir Namespace'tir. Şimdi diyeceksiniz Namespace nedir? Cevabım hazır: Lütfen merakınızı sonraya saklayın; halk dili ile söylemek gerekirse 'üzümü ye bağını sorma'.

Kısaca anlatmak gerekirse Class'lar Namespace'lerin içine yerleştirilmektedir. System adlı Namespace .NET Framework ile gelen en önemli namespace'tir ve çok sayıda Class'ı barındırmaktadır. DOS penceresine veya konsola bilgi yazmak üzere hazırladığım satırdaki Console bir Class'tır. Çok sayıda metoda sahip olan bu Class'ın sayesinde konsol yani DOS penceresiyle ilgili istenen işlemler yapılabilmektedir. Bu satırdaki WriteLine() ise Console sınıfının bir metodudur.

Bu konuyu bir okulda, bir dershanede veya seminerde anlatıyor olsaydım Visual Basic hakkında biraz bilgisi olanlar 'Memik bey WriteLine() shared bir metot değil mi?' diye sorabilirlerdi. Soruyu soranlara cevabım 'evet, WriteLine() metodu shared bir metottur'. Tabii dersi veya semineri izleyenlerin bazıları 'shared olanla olmayan metot arasında ne fark vardır?' diye soru soracaklardı, bazıları ise keşke bu konuşulanları anlasaydım diye iç geçireceklerdi. Fırsat bu fırsat deyip hemen shared olan ve olmayan metotlar hakkında uzun açıklamalar yapmayacağım.

Bazılarınız bu kısacak örneği bile hemen denemek, bu VB uzantılı dosyayı derleyip EXE dosya hazırlamak istiyor olabilir. Bu isteğe uyup VB uzantılı kod dosyasını derleyip EXE yapma üzerinde duracağım. Not Defteri ile hazırlayacağınız kod dosyalarını yerleştirmek üzere ayrı bir klasör hazırlamanızı öneririm. Bu klasör 'C:' sürücüsünün kök klasöründe olursa ulaşılması kolay olur.

Visual Basic'in kurallarına uyarak yazdığınız programları derleyip EXE dosya hazırlayacak program dosya­sı(VBC.EXE) Windows'un kurulu olduğu klasörün altında 'Microsoft.NETFramework' klasöründe yer almaktadır. .NET Framework'ün başka sürümünden yararlanıyorsanız bu klasörün adı farklı olabilir.



Hazırlayacağınız VB uzantılı kod dosyalarını ya VBC.EXE dosyasının bulunduğu bu klasöre kaydetmeli ya da Denetim Masasındaki Sistem seçeneği ile ekrana getirilen Sistem Özellikleri diyalog kutusunda Gelişmiş sekmesindeki Sistem Değişkenleri seçeneğinden yararlanmalısınız. Path seçeneğinin içeriğine aşağıda verdiğim satırı ekleyip bilgisayarı yeniden başlatırsanız istediğiniz yerden VB uzantılı program dosyalarını derleyebilirsiniz.Visual Basic programlarında .NET Framework 3.5 ile gelen sınıfları kullanıyorsanız arama yoluna .NET Framework 3.5'a ait klasörü dahil etmelisiniz.


C:WINDOWSMicrosoft.NETFrameworkv2.0.50727;

C:WINDOWSMicrosoft.NETFrameworkv3.5;"



Yukarıda sözü edilen derleyiciden başka .NET Framework 3.x/2.0 SDK(Software Develoment Kit) adı altından çok sayıda yardımcı program verilmektedir. Bu programlardan yararlanmayı düşünüyorsanız Visual Studio'nun kurulu olduğu klasörün altındaki '..SDKv.2.0Bin' klasörünü de arama yoluna dahil etmeniz önerilir. Diğer yandan Başlat menüsünden Visual Studio 2008 Command Prompt komutu verilerek açılan DOS penceresinde yukarıda anlatılan şekilde Path ayarlaması yapılmasa bile Visual Basic programlarını istediğiniz yerde derleyebilirsiniz.

Şimdi sıra geldi bu Visual Basic programı derlemeye. Bu amaçla bir DOS penceresi açıp komut satırına 'VBC ILK.VB' yazıp Enter tuşuna basınca Visual Basic programı derlenmeye başlandı. Yazdığım programda herhangi bir hata olmadığı için EXE dosya hazırlandı.



Yazdığım programda Main() metodu içinde 'Yil' adında ve integer tipinde bir değişken tanımlamış olmama rağmen bu değişkeni hiç kullanmadığım için derleyici uyarıda bulundu. Bu uyarı 'ilk.vb' dosyasından yola çıkılıp ILK.EXE dosyasının hazırlanmasına engel değildir. Derleyici uyarı yerine hata mesajı vermek zorunda kalsaydı EXE dosya hazırlanmazdı.

Tekrarlamak gerekirse derleme işlemi sonucu VB uzantılı Visual Basic programı ile aynı ada sahip bir EXE dosyası hazırlanır. Aşağıda verdiğim ekran görüntüsünü bu EXE dosyayı çalıştırdıktan sonra aldım. Derleme sonucu hazırlanan EXE dosya ancak .NET Framework kurulu bilgisayarda çalışır. Bu EXE dosyayı alıp .NET Framework kurulu olmayan başka bir bilgisayara götürdüğünüzde çalışmaz. Aşağıda verdiğim ekran görüntüsünü derleme işlemi sonucu hazırladığım EXE dosyayı çalıştırdıktan sonra aldım.



Hazırlayıp derlediğim Visual Basic programı ekrana bu bilgiyi yazdıktan sonra çalışması otomatik olarak sona erer. Şimdi bu örmekte öyle bir ayarlama yapalım ki programın veya EXE dosyanın çalışması Enter tuşuna basıncaya kadar devam etsin. Programın çalışmasının Enter tuşuna basıncaya kadar devam etmesini sağlamak üzere koda bazı eklemeler yaptım.


Class Deneme

   Shared Sub Main()

     Dim Yil As Integer

     Mesaj()

     System.Console.WriteLine()

     System.Console.Write("Çıkmak için Enter Tuşuna Basın")

     System.Console.Read()

   End Sub 

 

   Shared Sub Mesaj()

     System.Console.WriteLine("Şampiyon Beşiktaş")

   End Sub 

End Class



Gördüğünüz gibi Console sınıfının WriteLine() metodunu Mesaj() adını verdiğim metodun içinden başka bir de Main() metodu içinde kullandım. Bu örnekte Main() metodu içinde önce Mesaj() adını verdiğim metot çağrıldığı için ekrana önce 'Şampiyon Beşiktaş' yazılır. Mesaj() metodunun çağrıldığı satırdan sonra yine WriteLine() metodu kullanılmaktadır. Bu kez WriteLine() metoduna ekrana yazılmak üzere bilgi parametre olarak verilmediği için ekranın o satırı boş kalır. Bir sonraki satırda ise WriteLine() yerine Write() metodunu kullandım.

WriteLine() metodu kendisine parametre olarak verilen bilgiyi ekrana yani DOS penceresine yazdıktan sonra imleci bir sonraki satırın başına alır. Write() metodu ise WriteLine() metodundan farklı olarak imleci bir sonraki satırın başına almaz. Burada programın çalışmasının kendiliğinden sona ermesini engelleyen metot ise Read(). Bu şekilde düzenlenen Visual Basic programı derlenip çalıştırıldığında aşağıdaki gibi bir sonuç alınır. Read() yerine ReadKey() metodunu kullanabilirsiniz.



Read() metodu gerçekte kullanıcının gireceği bilgileri programa veya bir değişkene aktarılırken işlevsel olmaktadır. Bu örnekte kullanıcının bilgi girmesini istemediğimiz için Read() metodundan önce herhangi bir değişken adı yazmadım. Diğer yandan yukarıda verdiğim örnekte asıl anlatmak istediğim şuydu: Visual Basic programları isteğe bağlı olarak Class'lar şeklinde hazırlanmakta ve Class'larda kod blokları metot şeklinde düzenlenmektedir.

Bu düşünce ile hazırladığım kısacık örnekte Main() metodundan başka Mesaj() adında bir metot hazırlayıp Main() metodu dahilinde işlettim. Şimdi bu örnekte değişiklik yapıp Mesaj() adını verdiğim metodu silip çalışma anında 'yil' adını verdiğim değişkene bilgi aktarmaya çalışacağım.


Class Deneme

   Shared Sub Main()

     Dim Yil As Integer

     System.Console.Write("Hangi Yıldayız : ")

     Yil = System.Console.Read()

   End Sub 

End Class



Bu şekilde değiştirdiğim Visual Basic programında Write() metodu ile kullanıcıya mesaj verdikten sonra bir sonraki satırda Read() metodu sayesinde kullanıcıdan istenen bilgiyi 'Yil' adını verdiğim değişkene aktardım. Aşağıda verdiğim ekran görüntüsünü bu kısa programı derleyip çalıştırdıktan sonra aldım.



Ekrana mesaj yazarken Write() yerine WriteLine() metodunu kullansaydım imleç bilgi girişi için bir sonraki satırda beklerdi. Şimdi bu Visual Basic programına ekleme yapıp kullanıcıdan istenip 'Yıl' değişkenine aktarılan bilgiyi WriteLine() metodu ile tekrar ekrana yani konsola yazacağım.


Class Deneme

   Shared Sub Main()

     Dim Yil As Integer

     System.Console.Write("Hangi Yıldayız : ")

     Yil = System.Console.Read()

     System.Console.WriteLine()

     System.Console.Write("Girdiğiniz Yıl :")

     System.Console.WriteLine(yil)

   End Sub 

End Class



Bu şekilde düzenlenen program derlenirken hata vermediği gibi çalıştırıldığında da hata vermez ama girilen yıl bilgisi ile sonradan Write() metodu ile ekrana yazılan yıl bilgisi birbirinden farklı olur. Aşağıda verdiğim ekran görüntüsünü bu Visual Basic programını derleyip çalıştırdıktan sonra aldım.



Bu hatanın nasıl düzeltileceğini hemen anlatmak yerine bir sonraki derste Visual Basic ile ilgili temel bilgileri kaldığımız yerden anlatmaya devam edeceğim.

Bu Dersin Özeti

Birkaç cümle ile yukarıda yazılanları özetlemek gerekirse; Not Defteri ile yazdığımız ilk programda önce Class bloğuna yer verdik. Visual Basic programları çalışmaya Main() metodundan itibaren başladıkları için Class'ın sınırları içinde Main() metoduna yer verdik. Main() metodu içinde Console sınıfının WriteLine() metodu ile konsola yani DOS penceresine bilgi yazmayı denedik. Ayrıca .NET Framework ile gelen Visual Basic derleyicisi ile yani VBC.EXE ile VB uzantısı ile kaydettiğimiz Visual Basic kodunu derleyip EXE dosya hazırladık.

Yukarıda yazılanları okurken kafanızda bazı soruların belirdiğini tahmin etmek zor değildir. Programcılık biraz da bisiklet sürmeyi öğrenmek gibidir: Önceleri sık sık bisikletten düşersiniz, insanların 2 tekerlek üzerinde nasıl düşmeden gittiklerine hayret edersiniz. Sonra 50 metre düşmediğinizde; bisiklet sürmesini öğrendiğinizi fark edersiniz. Birçok kişi programcılığa nereden başlayacağı konusunda tereddüde düşüyor. Bu soruların cevaplarını bu dersler boyunca birlikte araştıracağız. Bu derslerin şimdiye kadar incelemiş olduğunuz yerli-yabancı kitaplardakinden farklı bir anlayışla kaleme alındığını fark etmiş olmalısınız.
  • Etiketler;
Yorum Yaz

Yorum yazabilmek için üye girişi yapmanız gerekiyor!

hocam verdiğin bilgler için çok teşekkür ederiz gerçekten faydalı oluyor...
Hocam siz harikasınız harika!! Teşekkür ederim.

Yukarı Git