Visual Basic

Visual Basic
Visual Studio 2008 yazılımının ekran görüntüsü
Geliştirici(ler)Microsoft
Güncel sürümVisual Studio 2012 / 15 Ağustos 2012
İşletim sistemiMicrosoft Windows ve MS-DOS
PlatformBasic
TürGörsel programlama
LisansLisanslı yazılım
Resmî sitesiResmî web sitesi

Visual Basic, Microsoft tarafından, Basic programlama dili üzerinde geliştirilmiş, olay yönlendirmeli, üst seviye, nesne tabanlı ve görsel bir programlama dilidir. Öğrenilmesi de kullanılması da oldukça kolaydır.

Görsel programlama için basit bir tanım yapmak gerekirse "göz göre göre program yapmak" diyebiliriz. Bu programlama anlayışı; önceki yıllarda kullanılan temel programlama dillerindeki bir düzenleyici (editör) ekran üzerine satır satır yazılan programlamanın yerine, Grafiksel Kullanıcı Arabirimi (GUI)’nin ve bu arabirim içerisinde program geliştirme amacıyla bulunan Entegre Geliştirme Ortamı (IDE) adlı bir araçlar koleksiyonunun almasıyla ortaya çıkmıştır.

Visual Basic'e gelince, öncelikle Basic programlama dili temel alınarak ortaya çıkarılmış olduğunu söylemek gerekir. Basic (Beginners-All Purpose Symbolic Instruction Code) kelime anlamı olarak "Yeni Başlayanlar İçin Çok Amaçlı Sembolik Talimat Kodu" anlamına gelmektedir. Basic metin tabanlı düzenleyiciler (editörler) arasında en çok rağbet göreni olmuştur. Başlangıçta çok basit programların geliştirilmesi amacıyla kullanılırken, bu ilgi dolayısıyla gitgide gelişerek son halini almıştır.

MS visual basic türevleri

Microsoft, Visual Basic dilinin değişik türevlerini oluşturmuştur.

  • VBA (Visual Basic for Applications)

Microsoft Office gibi yazılımlar içerisinde otomasyon oluşturabilmek için geliştirilmiş bir yapıdır.

  • VB Script

ASP (Active Server Pages) web Platformunun standart dilidir. Visual Basic sözdizimine dayalıdır. ASP ve VB Script, ASP.NET ile aynı şey değildir. ASP.NET, Visual Basic.Net ile benzer kategoridedir.

  • Visual Basic.NET
Visual Basic'in geçmişteki bir logosu

Visual Basic.NET, Visual Basic 6.0 Platformunun varisi olmakla birlikte farklı bir yapıdır ve .NET Frame work üzerinde çalışır. Bu Platform Visual Basic dilinin Obje Temelli özelliklerini güçlendirmek için atılmış bir adımdır. Ancak Visual Basic dilinin onu ileri seviye bir dil yapan kullanıcı dostu özelliklerinden ödün verildiği söylenebilir. Microsoft'un Visual Basic.NET'le birlikte Visual Basic'i VB 6.0'dan farklı bir yapıya dönüştürmesinin ardından RAD Basic ve TwinBASIC gibi VB 6.0 uyumlu olduğu iddia edilen 3. parti yazılımlar piyasaya çıkmıştır.

Yardım ve kullanım

Visual Basic programlama diline ait tüm komutları ve bunların kullanım kurallarını bilmeniz oldukça güçtür. Bu nedenle programlarınızı hazırlarken birçok defa yardım almak amacıyla bir kitaba ya da internete ihtiyaç duyarız. İnternette programlama üzerine hazırlanmış yardım alabileceğimiz pek çok site mevcuttur. Bunun yanı sıra Visual Basic programlama dili kendi içerisinde de bir yardım menüsü barındırmaktadır. F1 tuşuna basılarak yardım menüsü görüntülenebilir.

Visual Basic'de yardım alabilmemiz için, bunların kütüphanelerini yani yardım içeriğini barındıran MSDN (Microsoft Developer Network)'yi kurmamız gereklidir. MSDN’i Visual Basic kurulumu tamamlandıktan sonra karşınıza gelecek olan uyarı ekranını takip ederek kurabilirsiniz. Ancak Visual Basic kurulum CD'lerinin tamamına ya da MSDN kurulum dosyalarına ihtiyacınız olacaktır.

Yardım ekranı, internet sayfasına çok benzeyen bir görüntüye sahiptir. "Contents" yazan bölümden konu başlıklarına göre istediğiniz başlığı seçerek, "Index" bölümünden tüm başlık ve alt başlıkları alfabetik sıraya uygun şekilde inceleyerek ya da aradığınız konunun ilk harflerini girerek, "Search" bölümünden ise aradığınız konu içeriğini yazıp o konu ile ilgili tüm başlık ve alt başlıklara ulaşarak arama yaptırabilirsiniz. Aranıp bulunan konunun üzeri tıklanarak aynen bir web sayfasında olduğu gibi yan tarafta görüntülenmesi sağlanabilir. "Favorites" kısmı ise arama için değil daha çok eski yapmış olduğumuz aramalara kolay ulaşmak için kullanılır. Örneği araştırıp bulduğunuz bir konu ile ilgili yardım ekranı açık iken, Favorites kısmına gider ve "Add" butonuna basarsanız, orada yer alan listeye o sayfanın eklendiğini göreceksiniz. Bir konu ile ilgili yardım sayfası görüntülenirken, bir sayfaya sığmayabilir bu durumda araç çubuğunda yer alan "Forward" butonu yardımıyla ilerlenebilir. Konu ile ilintili olabileceğini düşündüğünüz bir alt başlığa gitmek için "Next", bir üst başlığa gitmek için ise "Previous" butonu kullanılabilir. Arayıp bulmuş olduğunuz konu ile ilgili açılan sayfanın hemen üstünde "See Also", "Example", "Specifics", "Applies To" ve "Tasks" gibi linklerin birini ya da birkaçını görebilirsiniz. Bunlar eğer var ise bu konuyla ilintili başka konuları, örnekleri, özellikleri, uygulamaları görmenizi sağlar. Ayrıca sayfanın içerisinde, konu anlatımı sırasında altı çizili ve mavi renkte göreceğiniz kelimelerinde, o kelimelerle ilgili yardım sayfalarına sizi yönlendiren birer link olduğunu belirtmemiz gerekir eğer link belirtmezseniz düzgün bir sonuç çıkartamazsınız.

Özellikleri

  • DAO, RDO ve ADO yöntemleri ile SQL, MySQL, Microsoft Access, Paradox ve Oracle gibi çeşitli veri tabanlarına bağlanabilir.
  • Active-X denetimleri ve nesneleri oluşturabilir.
  • Ascii ve İkili dosya biçimleriyle çalışabilir.
  • Nesne tabanlı bir dildir.
  • Wındows API çağrısı ve benzeri harici işlev çağrıları yapabilir.

Örnek kodlar

Yorum Satırları

'Bu 1. öntanımlı kod/yorum satırıdır
REM Bu ise 2. öntanımlı tanım/yorum satırıdır.

Mesaj kutusu

  • Bu örnek kod, bir mesaj penceresi açmayı sağlar, örneğin bu kodu bir butonun içine yazarsanız, programı çalıştırıp o butona bastığınızda küçük bir pencere açılır ve içinde "Merhaba, Dünya!" yazar:

 Private Sub Button1_Clicked() Handles Button1.Click
    ' Button1'e tıklayınca Button 1'un Click Event'i Tetiklenir ve Bu Event'a Bağlı Prosedürler Çalışır.
    MsgBox("Merhaba, Dünya!") 
 End Sub

Basit Yönetimler

  • Bu kod kullanıldığı Form Load'a yazıldığı zaman, Checkbox'umuz işaretli iken Textbox yazılabilir olacak. Fakat işaretli değilse Textbox kapalı kalacak.
 Private Sub FormLoad()
    If checkbox1.Checked = False Then 'CheckBox işaretli değil
        textbox1.Enabled = True 'CheckBox işaretli değilken TextBox'umuz yazı yazılabilir. Yani "enabled" olacak.
    Else
        textbox1.Enabled = False
    End If
 End Sub
  • Bu kod Button1'e yazıldığında Label1'deki text sayı ise 1 artar. Yoksa "Less Than Infinity" hatası alınır.
 Private Sub Button1_Clicked() Handles Button1.Click
    Label1.Text = (Label1.Text) + 1
    'Alttaki kod ise daha karmaşık. Label2'yi x kabul edersek , Label1'e x'in bir fazlasını ekleyecek.
    Label1.Text = (Label1.Text) + (Label2.Text + 1)
    'Alttaki kod öncekilerden daha karmaşık. Label3'ü y kabul edersek, x ile y'nin 1'er fazlasını toplayıp label1'e ekleyecek.
    Label1.Text = (Label1.Text) + ((Label2.Text + 1) + (Label3.Text + 1))
    'En karmaşık olarak alttakini örnek verebiliriz. Label4'ü z kabul edersek , x + 1 ile y+1'i çarpacak ve bunun sonucu ile
    'z'yi çarparak Label1'e ekleyecek.
    Label1.Text = (Label1.Text) + (((Label2.Text + 1) * (Label3.Text + 1)) * Label4.Text)
    'Alttaki komut button'a yazıldığında Label1'deki değer Textbox 1'e eşitlenecek (Less Than hatası yok.)
    Label1.Text = TextBox1.Text
 End Sub

Kod içinde yeşil yazıyla yazan kısım, bir açıklama metnidir. Yani yazmış olduğunuz kodun ne anlama geldiğini istediğiniz şekilde yazabilirsiniz, programınızı daha sonra güncellemek isterseniz ve hangi kodun ne işe yaradığını unutmamak isterseniz, yeni bir satıra geçip veya kodun bulunduğu satırın sonuna bir tane tek tırnak ( ' ) işareti koymalısınız, daha sonra boşluk bırakarak açıklamanızı yazabilirsiniz.

İki sayıyı toplama

  • Bu kod ise iki sayıya işlem yaptırmaya yaramaktadır, örneğin toplama, çıkarma, çarpma, bölme, kalanı gösterme vs. yeni açtığınız bir forma üç tane "TextBox" (metin kutusu) ve bir tane de "Button" (buton) koyunuz. Daha sonra butonun içine şu kodları yazın:

 Private Sub Button1_Click()
    ' Button1'e tıklayınca Text1 ve Text2'deki sayıları toplar, sonucu Text3'te gösterir
    TextBox3.Text = Val(TextBox1.Text) + Val(TextBox2.Text)
 End Sub

İki sayıya işlem yaptırma kodu bu kadar basittir, istediğiniz işlemi yaptırmak için kod içinde geçen artı (+) işareti yerine; eksi (-), çarpma (*), bölme (/), tam sayı bölme (\), bölümün kalanını gösterme (mod) gibi işaretleri ya da kısaltmaları yazabilirsiniz.

Ayrıca bakınız

Dış bağlantılar

  • Computer-Books.us 24 Kasım 2005 tarihinde Wayback Machine sitesinde arşivlendi. - Ücretsiz indirilebilen Visual Basic kitap koleksiyonu. (İngilizce)
  • HashVB Wiki[ölü/kırık bağlantı] (İngilizce)
  • VB 6.0 at MSDN (İngilizce)
  • VB City 2 Nisan 2006 tarihinde Wayback Machine sitesinde arşivlendi. (İngilizce)
  • VB Lessons on Free-Ed.net 2 Aralık 2005 tarihinde Wayback Machine sitesinde arşivlendi. (İngilizce)
  • Visual Studio | MSDN 22 Şubat 2014 tarihinde Wayback Machine sitesinde arşivlendi.
Vikikitap
Vikikitap
Vikikitapta bu konu hakkında daha fazla bilgi var:
PC Programlama Dilleri
  • g
  • t
  • d
BASIC programlama dilleri
Klasik
Atari BASIC · Atari ST BASIC · BasiEgaXorz · Dartmouth BASIC · GW-BASIC · HP BASIC for OpenVMS · IBM BASICA · IBM Cassette BASIC · IBM Disk BASIC · Locomotive BASIC · MSX BASIC · ScriptBasic · Sinclair BASIC · TI BASIC (TI 99/4A) · Turbo-Basic XL · UBasic · Vilnius BASIC
İşlem-odaklı
BBC BASIC · Beta BASIC · FreeBASIC · GFA BASIC · Liberty BASIC · Microsoft Small Basic · PureBasic · QBasic · QuickBASIC · SuperBasic · True BASIC · Turbo Basic · XBasic · Xblite · Basic4ppc
Nesne uzantılı
BlitzMax · FreeBASIC · Gambas · GLBasic · PowerBasic · ProvideX · RapidQ · REALbasic · Run_BASIC · StarOffice Basic · Visual Basic · Visual Basic .NET
Mobil cihazlar için
NS Basic · Basic4ppc
  • g
  • t
  • d
Microsoft geliştirme araçları
Geliştirme
ortamları
Visual Studio (Team System · Express) · Visual Studio Tools for Office · Visual Studio Tools for Applications · Expression Web · Expression Blend  · Microsoft SharePoint Designer
Diller ve
derleyiciler
Visual Basic (VB.NET· Visual C++ · Visual C# · Visual J# · Visual FoxPro · IronPython · IronRuby · PowerShell · XAML · F#
Büyük API'ler ve
çerçeveler
Windows API / SDK · .NET Framework · Managed code frameworks (Presentation · Communication · Workflow · CardSpace) · Silverlight · XNA · ASP.NET (ASP.NET AJAX) · LINQ · ADO.NET · DirectX · Robotics Developer Studio
Veritabanı araçları
ve diller
SQL Server
Express · Compact · Management Studio · Business Intelligence Development Studio · MSDE
SQL hizmetleri
Analysis · Reporting · Integration · Notification
Diğer
Visual FoxPro · Microsoft Access · Extensible Storage Engine
Kaynak kontrolü
Team Foundation Server · Visual SourceSafe
Sürücü geliştirme
Windows Driver Model · Windows Driver Foundation (KMDF · UMDF· Windows Driver Kit · Windows Logo Kit
  • g
  • t
  • d
C ve C++
Açık kaynak
Freeware
Perakende
Durduruldu
  • VisualAge
  • Visual C++ Express
  • Borland Turbo C / C++
Java
Açık kaynak
Freeware
Perakende
  • JCreator
  • MyEclipse
  • IBM
    • WebSphere Integration Developer
  • JetBrains IntelliJ IDEA
  • Servoy Business Application Platform Edition
  • SlickEdit
  • Understand
Durduruldu
  • Metrowerks CodeWarrior Pro for Java
  • JBuilder
  • Sun Java Studio Creator (yerini NetBeans aldı)
  • VisualAge (yerini Eclipse aldı)
  • Visual Café (Espresso olarak da bilinir, yerini JBuilder aldı)
  • Visual J++
  • Xelfi (NetBeans oldu)
JavaScript
Açık kaynak
CLI
Açık kaynak
Freeware
Perakende
Durduruldu
  • Xamarin Studio
  • Visual Basic Express
  • Visual Web Developer Express
  • Visual J# Express
  • Visual Studio Express for Windows Phone
  • Visual C++ Express
  • Visual C# Express
  • Express for Desktop
  • Express for Web
  • Express for Windows
Flash
  • Adobe Flash Builder
  • FlashDevelop
  • Powerflasher FDT
PHP
Açık kaynak
Tescilli
R
  • RStudio
  • R Tools for Visual Studio
Python
Açık kaynak
Tescilli
  • PyCharm
  • PythonAnywhere
  • SlickEdit
  • Wing IDE
Pascal ve
Object Pascal
Açık kaynak
Freeware
  • Delphi Community
Perakende
  • Delphi
Durduruldu
BASIC
Açık kaynak
  • Basic-256
  • B4X
  • MonoDevelop
  • SharpDevelop
  • Microsoft Small Basic
  • SdlBasic
  • Gambas
  • HBasic
  • Basic For Qt
  • Basic4GL
  • QB64
Freeware
Perakende
Durduruldu
  • CA-Realizer
  • Phoenix Object Basic
  • QuickBASIC
  • QBasic
  • Visual Basic
  • Visual Basic Express
Go
Açık kaynak
Freeware
Perakende
Çevrimiçi
  • Kategori
  • Karşılaştırma
  • g
  • t
  • d
  • Karşılaştırma
  • Zaman Çizelgesi
  • Tarihçe
  • Liste Listeler: Alfabetik
  • Kategoriik
  • Nesilsel
  • İngilizce temelli olmayan
  • Kategori Kategori
  • g
  • t
  • d
Grafik kullanıcı arayüzü oluşturucular
Qt
Açık kaynak
GTK
Açık kaynak
Sahipli
wxWidgets
Açık kaynak
CLI
Açık kaynak
  • SharpDevelop
  • PascalABC.NET
Sahipli
VCL ve ilgili olanlar
Açık kaynak / LCL
Sahipli
Cocoa
Sahipli
Java-based
Açık kaynak
Sahipli
Windows API
Açık kaynak
Sahipli
Diğer
Açık kaynak
Sahipli
  • Axure RP
  • Clarion IDE
  • Projucer
  • XVT Design
  • Resource construction set
  • LANSA
  • Softwell Maker
  • Embedded Wizard
  • OutSystems
  • Topincs
  • Phoenix Object Basic
  • PowerBuilder
  • Morphic
  • AppStudio
Otorite kontrolü Bunu Vikiveri'de düzenleyin