1 – visual basic ile programlamaya girişceng.eskisehir.edu.tr/emrekacmaz/bil158/vb03.doc · web...

24
Programlama "yazılım nedir?" gibi sorulara, "bilgisayarın donanım kısmına yaşam veren komutlardır" gibi yanıtlar verilir. Burada vurgulanan; eğer bilgisayarda bir işi yapacaksak, onu gerçekleştirmek için program yazmamız gerekir. Örneğin, derslerimizin kayıtlarını ve notlarımızı tutmak istiyorsak ya da müşterilerimizin kayıtlarını tutmak istiyorsak bir programa gereksinimimiz var. Bunu Microsoft Excel gibi bir program aracılığıyla da yapabilirsiniz. Ancak program yazabilmek, bu işler için özel bir çözüm ya da uygulama geliştirmek anlamına gelir. İşte bu nedenle da yazılım yerine daha çok uygulama geliştirme (development) terimi kullanılır. Buradan "programı nasıl yazacağız?" sorusu akla gelir. Program, öncelikle bir işletim sistemi ya da platform için yazılır. Örneğin Windows XP için yazılan bir program Linux işletim sisteminde çalışmayacaktır. Platformun ardından programın yazılacağı dil seçilir. Örneğin Visual Basic ya da C++ gibi. Bu diller, bizim program yazmamızı sağlarlar. Bizim anlaşılabilir şekilde program geliştirmemizi ve geliştirdiğimiz programı bilgisayarın doğrudan çalıştırabileceği makine diline çevirirler. İşte, kabaca bu sürece programlama denir. A. Program Nedir? Bir program bilgisayara ne yapması gerektiğini söyleyen bir dizi komuttur. Bilgisayarlar işlemlerin kendi anlayacağı dilde (makine dili) açıkça yazılmasını isterler. Ancak bu işlemlerin makine dilinde bir programcı tarafından yapılması yerine programlamanın yapısal biçimde bir dil aracılığıyla yapılmasını ve daha sonra çevrilerek bilgisayara anlatılması işlemini programlama dilleri üstlenirler. Bu çevirme işlemine derleme (compile) ya da yorumlama (interpriting) denir. B. Nesneye Dayalı Programlama Nesneye dayalı programlama (object-oriented programming-OOP), program geliştirmek için kullanılan bir teknolojidir. OOP terimi değişik anlamlar taşımakla birlikte sağladığı standartlarla bileşen (component) programlamasını kolaylaştırmaktadır. Visual Basic özünde nesne-temelli bir programlama dilidir. Çok sayıda nesne hazır olarak Visual Basic 1

Upload: others

Post on 18-Jan-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 – Visual Basic ile Programlamaya Girişceng.eskisehir.edu.tr/emrekacmaz/bil158/vb03.doc · Web viewVisual Basic 6.0’ın Windows işletim sistemleri üzerine kurulması ile birlikle

Programlama

"yazılım nedir?" gibi sorulara, "bilgisayarın donanım kısmına yaşam veren komutlardır" gibi yanıtlar verilir. Burada vurgulanan; eğer bilgisayarda bir işi yapacaksak, onu gerçekleştirmek için program yazmamız gerekir. Örneğin, derslerimizin kayıtlarını ve notlarımızı tutmak istiyorsak ya da müşterilerimizin kayıtlarını tutmak istiyorsak bir programa gereksinimimiz var. Bunu Microsoft Excel gibi bir program aracılığıyla da yapabilirsiniz. Ancak program yazabilmek, bu işler için özel bir çözüm ya da uygulama geliştirmek anlamına gelir. İşte bu nedenle da yazılım yerine daha çok uygulama geliştirme (development) terimi kullanılır.

Buradan "programı nasıl yazacağız?" sorusu akla gelir. Program, öncelikle bir işletim sistemi ya da platform için yazılır. Örneğin Windows XP için yazılan bir program Linux işletim sisteminde çalışmayacaktır. Platformun ardından programın yazılacağı dil seçilir. Örneğin Visual Basic ya da C++ gibi. Bu diller, bizim program yazmamızı sağlarlar. Bizim anlaşılabilir şekilde program geliştirmemizi ve geliştirdiğimiz programı bilgisayarın doğrudan çalıştırabileceği makine diline çevirirler. İşte, kabaca bu sürece programlama denir.

A. Program Nedir?Bir program bilgisayara ne yapması gerektiğini söyleyen bir dizi komuttur. Bilgisayarlar işlemlerin kendi anlayacağı dilde (makine dili) açıkça yazılmasını isterler. Ancak bu işlemlerin makine dilinde bir programcı tarafından yapılması yerine programlamanın yapısal biçimde bir dil aracılığıyla yapılmasını ve daha sonra çevrilerek bilgisayara anlatılması işlemini programlama dilleri üstlenirler. Bu çevirme işlemine derleme (compile) ya da yorumlama (interpriting) denir.

B. Nesneye Dayalı ProgramlamaNesneye dayalı programlama (object-oriented programming-OOP), program geliştirmek için kullanılan bir teknolojidir. OOP terimi değişik anlamlar taşımakla birlikte sağladığı standartlarla bileşen (component) programlamasını kolaylaştırmaktadır. Visual Basic özünde nesne-temelli bir programlama dilidir. Çok sayıda nesne hazır olarak Visual Basic içinde bulunur programcılar bu nesneleri kullanarak program yazarlar.

Gerçek dünyada baktığınız heryede nesneler görürsünüz. İnsanlar, hayvanlar, bitkiler, arabalar, binalar, bilgisayarlar gibi. Soyutlama(abstraction) sayesinde, ekran görüntülerini sadece bir renk kümesi yerine belirttikleri nesne olarak görmemiz mümkündür.

Nesnelere ikiye ayrılırlar, animate nesnelere be inanimate nesneler. Animate nesnelere yaşayan nesnelerdir, etrafta dolanırlar ve birşeyler yaparlar. Inanimate nesnelere ise cansız nesnelerdir ve kendi başlarına hareket edemezler.

OOP gerçek dünya nesnelerini ele alır. Sınıf ilişkilerinden yararlanır. Aynı sınıftaki nesnelere aynı karakteristik özelliklere sahiptirler.

OOP (Object-Oriented Programming) üç prensipe sahiptir: encapsulation, inheritance, ve polymorphism. Bu terimlere kısaca bir bakalım:

Encapsulation nesne hakkındaki bilgiler ve işlemler anlamına gelir. Metot ve özellik olarak adlandırdığımız bu işlemler bir nesnenin niteliklerini ve işlemlerini ortaya koyar. Örneğin bir arabanın rengi, büyüklüğü gibi özellikleri.

1

Page 2: 1 – Visual Basic ile Programlamaya Girişceng.eskisehir.edu.tr/emrekacmaz/bil158/vb03.doc · Web viewVisual Basic 6.0’ın Windows işletim sistemleri üzerine kurulması ile birlikle

Inheritance (miras, etkilenme) sözcüğünün anlamı ise bir nesnenin başka bir nesne üzerine (bir üst nesneden etkilenerek) kurulmasıdır. Örneğin bir arabanın parçalardan oluşması ve parçanın da arabanın tam nesnesinden etkilenmesi gibi. Polymorphism ise belli bir işlemin (metodun) birçok nesne tarafından kullanılmasıdır.  C. Olay-Temelli ProgramlamaNesne temelli programlama gibi bir programlama teknolojisi olmamakla birlikte; adından söz edeceğimiz bir yaklaşım da olay temelli programlamadır. Bu terim daha çok kullanıcıyla iletişim kuran programlar geliştirme anlamına gelir. Kullanıcının fare tıklaması, klavyeden yazı yazması ya da neden olduğu diğer işlemler birer olay olarak algılanır ve programın işleyişi ona göre yönlenir. Olay-temelli programlama (event-driven programming), klasik programlamanın aksine kullanıcıların işlemlerine (yapacakları hareketlere) göre programın yanıt vermesi temeline kurulu bir programlama sistemidir. Visual Basic ile geliştireceğimiz programlar için çoğunlukla olay temelli denilebilir.

II. Microsoft Visual Basic

Visual Basic (VB olarak da anılır) Microsoft tarafından geliştirilmiş modern bir programlama ortamıdır. Visual Basic'in bir programın yazılıp çalıştırılmasından öte, program geliştirmek için çok sayıda araca sahip olması; kullanıcı arabiriminin tasarlanması, hataların giderilmesi, veritabanı yaratmak, gibi gelişmiş özelliklere sahiptir.

Visual Basic ile farklı düzeylerde (konularda) programlar geliştirilebilir. Visual Basic ile küçük bir işlemler için program geliştirilebileceği gibi, profesyonel programlar, veritabanı uygulamaları ve hatta Internet uygulamaları bile geliştirmek mümkündür. Örneğin bir cari hesap, stok, satış, imalat vb uygulamaları, oyun programı vb. Visual Basic'in sahip olduğu araçlar:

Kullanıcı ara birimi geliştirmek için çok sayıda kontrol. Programı derleme ve hata bulmaya yönelik çok sayıda araç. Değişik veritabanlarına erişim. Diğer uygulamaların fonksiyonlarını kullanmayı sağlayan Active X™ teknolojisi. Uygulamanın EXE dosya olarak üretilebilmesi ve dağıtılması. Raporlama araçları. Veri yapısı araçları.

Visual Basic ile neler yapabiliriz? Basit ve genel amaçlı uygulamalar. Şirketler için geliştirilen özel uygulamalar. Ticari programlar, satış sistemleri, veritabanı uygulamaları. Ticari amaçlı paket programlar. Web uygulamaları.

A. Bir Visual Basic Programının KısımlarıBir programı belli kısımlardan oluşur. Bunların en basit olarak şu şekilde ele alabiliriz:

Kullanıcı arabirimi. Bilgi işleme (hesaplamalar) Bilgi saklama (veritabanı işlemleri). Raporlama işlemleri.

2

Page 3: 1 – Visual Basic ile Programlamaya Girişceng.eskisehir.edu.tr/emrekacmaz/bil158/vb03.doc · Web viewVisual Basic 6.0’ın Windows işletim sistemleri üzerine kurulması ile birlikle

Kullanıcı arabirimi bir programın ekranını oluşturur. Diğer bir deyişle kullanıcıların bilgi girdiği etkileşimli ekranlardır. Bunlara form diyeceğiz.Bilgi işleme kısmı, programın yapacağı hesaplamaları ve işlemleri kapsar. Bu daha çok programın mantığı olarak adlandırılır. Veritabanı işlemleri, bildiğiniz gibi birçok uygulama için çok önemlidir. Yine aynı şekilde raporlama da bilgilerin yazıcıdan ya da ekrandan alınmasını sağlar. B. VB 6.0'ı BaşlatmakVisual Basic 6.0’ın Windows işletim sistemleri üzerine kurulması ile birlikle Visual Studio 6.0 program grubu ya da Visual Basic 6.0 program grubu Start menüsünde Programs grubunda yer alır. Visual Basic’i başlatmak için bu seçenek üzerine tıklanır. B. Çalışma OrtamıVisual Basic 6.0'ın başlatılmasıyla birlikte, önce yazılacak programın (projenin) türü sorulur. Bu varsayım olarak (yaygın olarak) .EXE olarak seçilir. Ardından programlama ortamı ekrana gelir. Visual Basic 6.0 ortamı özellikle program birimlerinin düzenlenmesi için çok sayıda bölüme sahiptir. Bu bölümler aracılığıyla programın tasarımı yapılır ve kod yazılır. Visual Basic çalışma ortamı programın arabiriminin geliştirilmesi bakımından bir tasarım zamanı (design time) program geliştirme ortamıdır. Örneğin bir formun ya da bir kontrolün özellikleri, özellik tablosundan düzenlenebilir. Form ve diğer kontroller seçilerek özellikler (Properties) tablosundan renkleri vb. bütün özellikleri düzenlenebilir.

1 – Visual Basic ile Programlamaya Giriş.

VB6

3

Toolbar(Araç

Main(Ana) Title Bar(Başlık

Page 4: 1 – Visual Basic ile Programlamaya Girişceng.eskisehir.edu.tr/emrekacmaz/bil158/vb03.doc · Web viewVisual Basic 6.0’ın Windows işletim sistemleri üzerine kurulması ile birlikle

BASIC ( Beginner’s All Purpose Symbolic Instruction Code – Başlangıç Seviyesindekiler İçin Her Amaca Uygun Sembolik Talimat Kodu )

Visual Basic, görsel bir dildir. Visual basic programlama dili ile windows ortamında programlar yazacağız.Visual Basic’i açtığımızda yıkarıdaki ekran görüntüsü ile karşılaşırız.

Bir Visual Basic programının Yapısı.:

Vb kullanılarak yazılan programlar proje olarak adlandırılırlar. Projeler, programımız için gerekli olan bütün bilgileri içerirler. Bir vb programı yazdığımızda onu proje olarak kaydeder ve yükleriz.

Proje ne içerir:

Formlar: Kullanıcı arayüzünü oluşturan pencerelerKontroller: Formların üzerinde bulunan, kullanıcı ile etkileşimi sağlayan şekiller.Properties: Bir kontrolün(formun kendiside olmak üzere) her karakteristiği bir property(özellik) olarak tanımlanır. Örneğin: names(isimler), captions(başlıklar), sizes(boyutlar) ...MethodlarOlay ProsedürleriGenel ProsedürlerModüller: Genel Prosedürlerin, değişken ve sabit tanımlarının bir arada bulunduğu yapı.

Visual Basic event-driven(olay-güdümlü) bir dildir. Bunun anlamı, bir Visual Basic projesinde bazı olaylar ortaya çıkmadan hiç bir şey gerçekleşmez. Visual Basic bir olayın

4

Page 5: 1 – Visual Basic ile Programlamaya Girişceng.eskisehir.edu.tr/emrekacmaz/bil158/vb03.doc · Web viewVisual Basic 6.0’ın Windows işletim sistemleri üzerine kurulması ile birlikle

oluştuğunu fark ettiğinde bu olayla ilgili kod çalıştırılır. Buna Event Procedure(Olay prosedürü) denir.

Bu olaylar: Menüden bir seçim yapılması, bir butona basılması, text kutusuna bir şeylerin yazılması olabilir.

Bir VB uygulaması geliştirmek için 3 adım vardır.

1 – Kullanıcı arayüzünün oluşturulması2 – Kontrollerin özelliklerinin atanması3 – Kontrollere ilgili kodların yazılması

1 – Kullanıcı arayüzünün oluşturulması

Visual Basic’te çalışırken ekranımızda birden fazla pencere bulunur.

Bunlar:1. Ana Pencere2. Form Penceresi3. Toolbox(araç çubuğu)4. Properties(Özellikler) Penceresi5. Project Penceresi6. Kod Penceresi7. Watches-Değişken İzleme Penceresi8. Form Layour Penceresi9. Object Browser

1. Ana Pencere:

5

Page 6: 1 – Visual Basic ile Programlamaya Girişceng.eskisehir.edu.tr/emrekacmaz/bil158/vb03.doc · Web viewVisual Basic 6.0’ın Windows işletim sistemleri üzerine kurulması ile birlikle

BaşlıkÇubuğu(title bar), menu çubuğu ve araç çubuğunu içerir. Başlık çubuğu; projenin ismini, o anda ekranda gözüken formu ve vb’nin hangi modda çalıştığını gösterir. VB üç modda çalışır.

dizan break (ara verme) çalışma (run)

Menü çubuğu üzerindeki menülerle bütün VB ortamını kontrol ederiz.Araç çubuğunda ise uygulamamızda kullanacağımız kontroller yer alır.

2. Form Penceresi

Bu form gerçekte Visual Basic’e ait bir form değildir. Bizim yapacağımız programa ait bir formdur. Kullanıcı arayüzünün oluşturulduğu formdur. Gerekirse, birden fazla form ile çalışılabilir.

Eğer Form Pencersi ekran gözükmüyorsa

1. Şu an açık olan bir proje olmayabilir.2. Programınız çalışıyor olabilir.3. Form kapatılımış olabilir. Project penceresinden tekrar ekrana getirilebilir.

3- ToolBox

6

Page 7: 1 – Visual Basic ile Programlamaya Girişceng.eskisehir.edu.tr/emrekacmaz/bil158/vb03.doc · Web viewVisual Basic 6.0’ın Windows işletim sistemleri üzerine kurulması ile birlikle

4- Properties

5- Project Penceresi

7

Form üzerine yerleştirilecek kontrollerin tamamı ToolBox üzerinde yer alır. Form üzerine yerleştireğimiz kontrolü burdan seçip daha sonra formda fare ile dikdörtgen çizerek ya da çift tıklayarak ekleyebiliriz.

Vb’nin kontrolleri tabiki toolbox penceresinde görünenlerden ibaret değildir. VB ile birlikte gelip bu pencerede görünmeyen kontrollerde vardır. Toolbox penceresine kontrol eklemek için Project menüsündeki components komutu tıklanır.

Bu pencerede VB’y eekleyebileceğiniz bütün kontroller bulunur. Kontroller OCX uzantılı dosyalardır. Eğer gerekirse, browse seçeniğiyle bu dosyaların seçilmesi sonucundada kontroller toolbox’a eklenebilir.

Form üzerine yerleştirilen(form dahil) elemanların özellikleri properties penceresinde yer almaktadır. Form üzerinde bir kontrolü tıkladığınız zaman ona ait özellikler Properties penceresinde görüntülenir.

Seçili olan elemanın properties penceresine yansıyan özellikleri hem alfabetik hemde kategorik olarak listelenebilir. Kategoriler şunlardır: Appearance(görünüş), behavior(davranış),dde,font,misc(bir gruba dahil edilemeyen farklı özellikler), Scale(kordinatları, boyutu)

Page 8: 1 – Visual Basic ile Programlamaya Girişceng.eskisehir.edu.tr/emrekacmaz/bil158/vb03.doc · Web viewVisual Basic 6.0’ın Windows işletim sistemleri üzerine kurulması ile birlikle

Bu pencerede programa dahil edilen form, module, usercontrol vb. Gibi elemanların listesi yer alır. Bu pencere aracılığıyla istenilen bir forma geçiş yapmak yada istenilen bir formu yada modülü forma dahil etmek mümkün olmaktadır.

Bu pencerenin sol üst kısmında yer alan üç adet düğmenin 1.si seçili nesne ile ilgili kod penceresini açar, 2.si seçili nesnenin form tasarımını gösterir, 3.süde aynı cinsten olan form yada modülleri bir klasör prensibiyle gösterir.

Eğer bu pencereyi ekranda göremiyorsanız View menüsünden Project explorer Projeye dahil edilen bir elemanu çıkarmak için Project penceresinden seçip üstünde

sağ tuşa basarak çıkan menüden remove seçilmelidir. Projeye yeni bir dosya eklemek için de aynı pencerede sağ fare tuşu ile açılan

pencerede bulunan add menüsü altındaki seçenekler kullanılır.

6- Kod Penceresi

Program yazarken kodlar genelde form üzerindeki kontrollerin olaylarına yazılır. Herhangi bir kontrole kontrol yazmak için form pencersinde o kontrole çift tıklamak ya da o kontrolü seçtikten sonra F7 ye basmak yeterlidir.

Örneğin formumuza bir buton ekleyelim.Çift tıkladığımızdaVB bizim gerekli olan alt program kodunu oluşturdu.

Private Sub kelimeleri bir altprogramı göstermektedir.Command1 ilgili nesne, click ise oalyı göstermektedir.

Private Sub Command1_click() Msgbox(“merhaba”)End sub

Kullanıcı herhangi bir kontrolün adını yazıp “.”bastığında ekranao kontrolün bütün properties’i ve methodları gelir.

Yine kod penceresinde bütün fonksiyon method ve özelliklerin parametreleri ekranda gösterilir. Örneğin msgbox

8

Page 9: 1 – Visual Basic ile Programlamaya Girişceng.eskisehir.edu.tr/emrekacmaz/bil158/vb03.doc · Web viewVisual Basic 6.0’ın Windows işletim sistemleri üzerine kurulması ile birlikle

7- Watches Değişken izleme Penceresi

Programınızı çalıştırırken herşey yolunda gitmeyebilir. Hatalar yapmış olabilirsiniz. Bu hataları düzeltmek içinse programda kullandığınız değişkenlerin içeriğini kontrol etmek önemli bir yer tutar. Bunu watches penceresinden yaparız.

8 – Form Layout Penceresi

Programınız çalıştığında formun ekranın neresinde olacağını gösterir. Formun ekranın istediğiniz yerinde çıkmasını burdan sağlarsınız.

VISUAL BASIC MENULERI

File Menüsü

Yeni Proje: New Project, yeni bir projeye başlamak için kullanılır.

Kaydedilmiş projeyi açma: Open Project

Kaydetme: Visual Basic’te projeler birden fazla bileşenden oluşurlar. Bütün bunları bir proje adı altında kaydetmek Save Project ile yapılır. Her nesneye(form, modüle) bir isim vermek gerekir.

Save ile sadece aktif pencere kaydedilir.

Make Exe File: Programınızı derleyerek VB kullanmadan çalıştırılabilir hale getirir.

Edit Menüsü

Edit menüsü ile kes, kopyala, yapıştır

Bul & Değiştir: Özellikle uzun projelerde bir değişkeni veya metni bulmakta oldukça faydalıdır.

View Menüsü

View menüsüs ile proje ile ilgiliri nesneler gösterilir veya gizlenir.

Bir forma ait kod pencersini görmek için o formu çift tıklamak yeterlidir ya da bu menüdeki code seçeneğide kullanılabilir.

Project Menüsü

Add Form: Projeye yeni bir form eklenir.

Add MDI Form: Projeye yeni bir MDI Form eklenir.

Add Modüle: Projeye yeni bir modüle eklenir.

9

Page 10: 1 – Visual Basic ile Programlamaya Girişceng.eskisehir.edu.tr/emrekacmaz/bil158/vb03.doc · Web viewVisual Basic 6.0’ın Windows işletim sistemleri üzerine kurulması ile birlikle

Add Class Module: Yeni bir class module eklenir. Class modulleriyle yeni nesneler tanımlamak mümkündür.

Add User control: Yeni kullanıcı kontrolü eklenir

Add property : Kullanıcı kontrolünün propertiesi

Remove: Seçeneğiyle seçili olan dosya projeden çıkarılır.

Components seçeneği ile toolbox penveresine yeni kontroller eklenebilir.

Project Properties: Projede birden fazla form varsa hangi form ile programın çalışmaya başlayacağı, programın kullanacağı yardım dosayasını ismigibi özellikler belirlenir.

Run Menusu

Start: Program çalıştırlır, kısayolu F5

Start with Full Compile: Önce bütün hatalar kontrol edilir, daha sonra program çalışır.

Break: Programı geçici olarak durdurur. F5 ile kaldığı yerden devam eder. Aynı zamanda program debug(hata ayıklama) moduna girer. Program adım adım çalıştırılıp değişkenler izlenebilir.

End: Programın çalışması durdurulur

ReStart ile geçici olarak durdurulmuş progamın, çalışmaya baştan başlar.

DEĞİŞKENLER ve VERİ TİPLERİ

Değişkenler genellikle bir bilgiyi hafızada tutmak için kullanılırlar. Değişkenler bir dilin bel kemiğidir. Değişkenlerin en iyi kullanıldığı dl C’dir. En kötü kullanıldığı dillerden biride basic’tir.

Bildiğiniz gibi, C’de değişkenleri kullanmadan önce tanımlamanız zorunlu idi. VB’de ise değişkenlerin tanımlanması kullanıcıya bırakılmıştır. Ancak önerilen elbette değişkenlerin daha önce tanımlanmasıdır.

Örneğin:i = 5j = 6aratoplam = 1000geneltoplam = i * j + aratplam

Örnekte görüldüğü gibi aratoplam değişkenine1000 ataması yapılmış ve geneltoplam’ın hesaplanmasında kullanılmak istenmiştir ancak

geneltoplam = i * j + aratplam

10

Page 11: 1 – Visual Basic ile Programlamaya Girişceng.eskisehir.edu.tr/emrekacmaz/bil158/vb03.doc · Web viewVisual Basic 6.0’ın Windows işletim sistemleri üzerine kurulması ile birlikle

ifadesinde aratoplam yanlış yazılmıştır. Bu durumda VB hata vermeyecektir ve sonuç 1030 yerine 30 çıkacaktır. Eğer programınız çok büyükse bu hatayı bulmak oldukça zor olacaktır.

Programcı isterse Tools-Options menüsü ile açılan pencerede Require Variable Declaration seçeneğini işaretleyerek derleyicinin tanımlanmamış değişken kullanımında hata vermesini sağlayabilir.

Aynı işlemi modüğlün General Declarations kısmına Option Explicit yazarakta yapabilirsiniz.

Değişken Tanımlama Kuralları

Değişkene verilecek ismin anlaşılır olması programın okunurluğunu artırır. Bir değişken tanımlanırken aşağıdaki kurallara uyulmalıdır.

Değişken ismi bir harf ile başlamalıdır. Bir rakam veya işaretle başlayamaz.

Ad1, Ad2 - > doğru1Ad, 2.Ad -> yanlış

Değişken isminde boşluk bulunamaz. Bunun yerine alt çizgi kullanılabilir.

Adi_Syadi, Dogun_Yeri, Taksit_1 -> doğruAdı ve Soyadi -> Yanlış

Değişken isimlerinde sadece harfler ve alt çizgi kullanılabilir. Değişkenlere verilecek isim VB komutlarından oluşmamalıdır. Değişken isimleri 255 karakterden fazla olmamalıdır.

Veri Tipleri

VB’de değişken tipleri Dim deyimiyle yapılır. Bu deyimin kullanımı şu şekildedir.

Dim deg_ismi [(diziboyutu)] As tipi

Eğer değişken bir dizi olarak tanımlanacaksa dizinin boyutu değişken isminden sonra parantez içerisinde yazılmalıdır.

Dim a(15) tanımıyla 16 elemanlı bir dizi tanımlanmış olur ve dizinin ilk elemanı a(0), son elemanı a(15) olur.

C’nin aksine, VB’de bir dizinin ilk elemanı 0 olmak zorunda değildir.

Dim a(5 to 15) tanımıyla ilk eleman a(5) ve son eleman ise a(15) olur.

*** Not: Ancak Dim kullanılarak bir fonksiyon/altprogram içerisinde dizi tanımı yapılamaz. Formun General-Declerations kısmında veya bir modül içinde tanımlanabilir. Bir fonksiyon yada altprogram içinde Redim veya Static deyimleriyle dizi tanımı yapılabilir.

Değişken Tipleri

11

Page 12: 1 – Visual Basic ile Programlamaya Girişceng.eskisehir.edu.tr/emrekacmaz/bil158/vb03.doc · Web viewVisual Basic 6.0’ın Windows işletim sistemleri üzerine kurulması ile birlikle

Visual Basic’te değişken tipini tanımlamakda zorunlu değildir. Sadece

Dim x

Şeklinde bir tanımlama ile x değişkeni tanımlanabilir. Ancak bu programda belirgin bir performans düşüklüğü yaratacağı için önerilmez.

Byte

1 Byte’lık işaretsiz tamsayı tipidir. 0 ile 255 arası değer alabilir.

Integer

2 bytelık işaretli tamsayı tipidir. -32768 ile 32768 arasında değer alabilir.

Long

4 bytelık işaretli tamsayı tipidir. -2.147.483.648 ile 2.147.483.647 arasında değer alabilir.

Bu üç tipe ondalıklı sayı atanması durumunda en yakın tamsayıya yuvarlanacaktır.

Dim i as integeri = 4.3 ‘i = 4i = 4.5 ‘i = 5i = 4.6 ‘i = 5

Single

4 bytlık ondalık sayı tipidir. +-3.402823x10^38 ve +1.401298x10^-45 arasında değer alabilir.

Double

8 bytelık ondalık sayı tipidir. +-1.79769313486232z10^308 ve +-4.94065645841247x10^-324 arasında değer alır.

Currency

8 byte’lık bir ondalık sayı tipidir. Ancak sayının ondalık kısmı 4 basamaktan daha fazla olamaz ve sayının bütün dijitleri korunur. Bu tip daha çok para gesapları ver virgülden sonraki hassasiyetin önemsiz olduğu işlemlerde kullanılır.-922337203685477.5808 ile 922337203685477.5807 arasında değer alabilir.

Ondalık kısmın 4 basamaktan fazla olması durumunda sayı yuvarlatılır.

Dim i as Currencyi = 4.30571 ‘i = 4.3057i = 4.30575 ‘i = 4.3058i = 4.30577 ‘i = 4.3058

12

Page 13: 1 – Visual Basic ile Programlamaya Girişceng.eskisehir.edu.tr/emrekacmaz/bil158/vb03.doc · Web viewVisual Basic 6.0’ın Windows işletim sistemleri üzerine kurulması ile birlikle

Decimal

14 bytelık bir veri tipidir. 29 basamaklı bir sayı bütün basamakları korunarak saklanabilir.

Boolean

2 Byte’lık bir veri tipi olmasına rağmen sadece True ve False değerleri alabilir. Yani iki durumlu değişkenler için kullanılabilir.

Bu tipte tanımlanan değişkenlere True ve False atanabileceği gibi sayısal değerde atanabilir.

Dim Evli As BooleanEvli = TrueEvli = 1Evli = 100

Yukarıdakilerin hepsi aynı anlama gelir.

Dim Evli as BooleanEvli = FalseEvli = 0

Bu tip değişkenler üzerinde işlem yaparken ise True değeri -1 sayısına False değeri ise 0 sayısına karşılık gelmektedir.

String

Karakter sınırı verilmezse 1 milyar karaktere kadaar atama yapılabilen sayısal olmayan bir değişken tipidir. Bu tip 10 byte yer kaplar.

Karakter sayısını sınırlamak için

Dim degisken As String * sınır

Şeklinde kullanılır. Bu durumda verilen sınır kadar yer kaplar ve en büyük sınır 65400’tür.

Dim a As StringDim b As String * 3a = “abcdefgh.......................” atama aynen yapılır.b = “abcd” ‘Yanlız ilk 3 karakter atanır.B = “a” yine üç karakter atanır ancak diğer ikisi boşluk karakterleridir.

Variant

VB’de değişken tanımlanırken tip ismi verilmemişse bu tip Variant olarak ele alınır ve değişkenin tipi atanacak değere göre değişir.

Dim a ‘veya Dim as As Varianta = 5 ‘şu anda a integer tipinde

13

Page 14: 1 – Visual Basic ile Programlamaya Girişceng.eskisehir.edu.tr/emrekacmaz/bil158/vb03.doc · Web viewVisual Basic 6.0’ın Windows işletim sistemleri üzerine kurulması ile birlikle

a = a + 200000 ‘İşlem integer sınırları içerisinde olmadığı için şu anda a longa = 5.7 ‘Sayı ondalıklı olduğu için a singlea = a + 5.3 E 200 ‘sayı single sınırları içersinde olmadığı için şu anda a doublea = “a1c2” ‘a nın tipi string oldua = a + 5 ‘Hata çünkü a string

Date

8 byte kaplar, 1/1/100 ile 31/12/9999 arasındaki tarih ve 0:00:00 ile 23:59:59 arasındaki saat atamaları yapılır.

Global ve Local Değişken Tanımlamaları

Değişkenler genelde iki sınıfa ayrılırlar : Global (Genel) değişkenler ve Local (Yerel değişkenler)

Global değişkenler programın bütün fonksiyonları tarafından kullanılabilirken, local değişkenler sadece tanımlandıkları fonksiyonun içerisinde kullanılabilirler.

Global değişkenlerin bütün fonksiyonlarda birden kullanılması bir avantaj gibi gözüksede aslında programın geliştirilmesini ve takip edilmesini oldukça zorlaştırdıkları için kullanmaktan kaçınılmalıdır.

General Declarations kısmında tanımlanan değişkenler tanımlandığı modül/form içerisinde Globaldir. VB’de buna Modüle Level denir. O formdaki bütün prosedürler bu değişkeni kullanabilir. Ancak bir diğer form kullanamaz.

Bir fonksiyon veya alt programda tanımlanmışsa Local’dir. Sadece o prosedür tarafından kullanılabilir.

Option ExplicitDim x ‘veya private z olarakta tanımlanabilir.

Private Sub Command1_Click()Dim yx = 30

y = 3End Sub

Private Sub Form_load() x = 10 ‘y değişkeni burada kullanılamaz.End Sub

Bir formun General Declerations kısmında Public deyimi ile tanımlanmış değişkenler diğer form veya modüllerdede kullanılabilirler. Ancak değişkenin isminden önce değişkenin tanımlandığı formun veya modülün isminin verilmesi gerekir.

Form 1:

14

Page 15: 1 – Visual Basic ile Programlamaya Girişceng.eskisehir.edu.tr/emrekacmaz/bil158/vb03.doc · Web viewVisual Basic 6.0’ın Windows işletim sistemleri üzerine kurulması ile birlikle

Option ExplicitPublic xDim y--Form 2:

Private Sub Form_Load()Form1.x = 5

End Sub

Yukarıdaki form1’e ait kod penceresinde x Public, y ise private olarak tanımlanmıştır. X ve ye değişkenleri form1 içerisinde her yerde kullanılabilir ancak form2 deki prosedürler sadece public olarak tanımlanan x değişkeninin kullananabilir.

Bir değişkeni programın her tarafında kullanacak şekilde tam olarak global tanımlamak için o değişkeni bir modülün (Project menüsünden Add Module seçeneği ile yeni bir modül oluşturulabilir) General declerations kısmında Public deyimi kullanılarak tanımlanabilir.

Local değişkenlerin en büyük avantajı ise bellekte fazla yer kaplamamalarıdır(Static olarak belirlenmemişse). Global değişkenler program çalıştığı sürece hafızada yer işgal ederler. Local değişkenler ise değişkenin bulunduğu fonksiyona girildiğinde değişken belleğe alınır fonksiyonun çalışması bitince bellekten atılır.

Bu anlatımlarda global değişkenlerin kullanımı gereksiz gibi görülebilir ancak bazı değişkenlerin programın bir çok fonksiyonu tarafından kullanılması gerekli olacaktır.

Static Değişken Tanımı

Local olarak tanımlanan değişken tanımlandığı alt programın veya fonksiyonun çalışması bittiğinde bellekten atılır. Aynı fonksiyon veya alt program tekrar çalıştırıldığında Local değişkenler eski değerlerine değil baştan başlar. String ise “”, sayısal ise 0

Örneğin bir komut düğmesinin kaç defa çalıştığını bulmak için aşağıdaki kodu yazarsanız her seferinde komut düğmesine basıldığında sanki komut düğmesine ilk defa basılmış gibi ekrana 1 değeri çıkacaktır.

Private Sub Command1_Click()Dim xX = x + 1MsgBox(“Bu komut dğümesi “ & x & “ defa tıklandı”)

End Sub

Local olarak tanımlanan bir değişkenin değerinin tanımlandığı alt program veya fonksiyonun çalışması bittikten sonrada korunması isteniyorsa Dim yerine static deyimi bir alt program veya fonksiyon içersinde tanımlanabilir.

Static deg_ismi [(diziboyutu)] As tipi

15

Page 16: 1 – Visual Basic ile Programlamaya Girişceng.eskisehir.edu.tr/emrekacmaz/bil158/vb03.doc · Web viewVisual Basic 6.0’ın Windows işletim sistemleri üzerine kurulması ile birlikle

Private Sub Command1_Click()Static xX = x + 1MsgBox(“Bu komut dğümesi “ & x & “ defa tıklandı”)

End Sub

****Fonksiyonlarda tanımlanan değişkenler local yani diğer fonksiyon ve alt programlar bu değişkeni kullanamıyorsa bu değişkenlere ihtiyaç duyan fonksiyonlar bu değişkenlere nasıl ihtiyaç duyacak.

Bu soruya verilecek en basit ve ilkel cevap bu değişkenin global olarak tanımlanmasıdır. Ancak doğru cevap bu değildir. Geçek çözüm ise fonksiyona ve alt programa bu değişkenin bir parametresinin gönderilmesidir.

Ornegin 1’den 20’ye kadar olan sayıların faktöriyelini hesaplayan bir program yazdıralım.

Sub Form_Load() For i = 1 to 20

Faktoriyel i ‘Faktoriyel alt programına i’yi gönder. Next End Sub

Sub Faktoriyel(k) Sonuc = 1 For j = 2 to k ‘k = i Sonuc = sonuc * j Next Print sonuc End sub

Böylece faktöriyeli hesaplayacak Faktoriyel alt programına faktöriyeli hesaplanacak sayıyı gönderdik. Burda k değişkeni i değişkenine referans alındı ve işlemler yapıldı.Ancak dikkat edin ki k değişkeni faktöriyel fonksiyonu içerisinde hiç değiştirilmedi.

Peki k değişkeni değiştirilseydi ne olurdu?İ’de değişirmiydi ?????(değişirdi)

Burda Faktoriyel alt programına ihtiyaç duyduğu i değişkenini gönderdik ve kullanmaını sağladık, ancak elde edilen sonucu form_load’a göndermedik. Aynı şekilde form_load’ta i Faktöriyel fonksiyonunun sonucunu kullanmak isteyebilir.

Bu durumda programımızı şu şekilde değiştirmeliyiz. Programımız 1’den 20’ye kadar olan sayıların faktöriyellerini toplasın. Burda Faktoriyel alt programımızın sonucunu form_load’te kullanmak zorundayız.

16

Page 17: 1 – Visual Basic ile Programlamaya Girişceng.eskisehir.edu.tr/emrekacmaz/bil158/vb03.doc · Web viewVisual Basic 6.0’ın Windows işletim sistemleri üzerine kurulması ile birlikle

Zaten alt programla fonksiyonun temel ve en önemli farkıda budur. Alt program geriye değer göndermezken fonksiyon gönderir. Fonksiyondan geri değer gönderme işlemi fonksiyonun içerisinde fonksiyonun imine geri gömderilecek değerin atanması ile olur.

Sub Form_Load() For i = 1 to 20

f = Faktoriyel (i) ‘Faktoriyel fonksiyununa i’yi gönder ve sonucu f’e ata toplam = toplam + f Next Print toplamEnd Sub

Function Faktoriyel(k) Sonuc = 1 For j = 2 to k ‘k = i Sonuc = sonuc * j NextFak = sonuc ‘sonucu geri gönder End Function

Sabit Tanımlama

Programda değerininin değişmesi istenmeyen değerler sabit olarak tanımlanabilir.VB’de sabit tanımlama

Const SabitIsmi = Degeri

Const PI = 3.1415

Değişkenlere ilk değer atama....

17

Page 18: 1 – Visual Basic ile Programlamaya Girişceng.eskisehir.edu.tr/emrekacmaz/bil158/vb03.doc · Web viewVisual Basic 6.0’ın Windows işletim sistemleri üzerine kurulması ile birlikle

18