visual basic - ackoc.pau.edu.trackoc.pau.edu.tr/ackoc_dosyalar/visual basic_net.pdf · visual basic...

43
VISUAL BASIC Visual Studio Ürünleri Microsoft firmasının ürünü olan Visual Studio, aşağıdaki paketlerden oluşmaktadır. İlk iki paket ücretlidir, üçüncü paket ilk iki pakete göre bazı kısıtlamalara sahiptir fakat kayıt (register) olmak şartıyla ücretsiz olarak indirilip kullanılabilmektedir (bir MSN hesabına sahip iseniz, msn kullanıcı ismi ve şifreniz ile Visual Studio Express Edition sürümüne kayıt olabilirsiniz, aksi halde bu ürünü kısıtlı bir sürede kullanabilirsiniz). Visual Studio 2005 Professional Edition Visual Studio 2005 Standard Edition Visual Studio 2005 Express Edition: Not1: Ücretsiz olarak indirilip kurulabildiğinden, bundan sonraki anlatımlar Visual Basic Express Edition esas alınarak yapılacaktır. Not2: Express Editon ile oluşturulan programlar Professional ve Standart Edition sürümlerinde problemsiz çalışabilmektedir. Not3: Şu anda Visual Studio 2010 sürümü kullanımdadır. Anlatacaklarımız açısından 2005 sürümü ile 2010 sürümü arasında herhangi bir fark bulunmamaktadır. Bundan sonra anlatılacaklar 2005 sürümü üzerinde yapılacaktır fakat anlatılanların hepsi 2010 sürümünde de problemsiz kullanılabilir. Visual Studio 2005 Express ürünleri, öğrencilerin, hobi olarak bu işi yapanların ve sektöre yeni girenlerin Microsoft.NET Framework üzerinde programlamayı öğrenebilmeleri için geliştirilmiştir. Express Edition, Windows programları ve dinamik web siteleri yapabilmek için, diğer Visual Studio ürünlerine göre kullanımı kolay olan (kısıtlı) araçları üzerinde bulundurmaktadır. - 1 -

Upload: duongtruc

Post on 07-Feb-2018

268 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: VISUAL BASIC - ackoc.pau.edu.trackoc.pau.edu.tr/ackoc_dosyalar/VISUAL BASIC_NET.pdf · VISUAL BASIC . Visual Studio Ürünleri . Microsoft firmasının ürünü olan Visual Studio,

VISUAL BASIC

Visual Studio Ürünleri Microsoft firmasının ürünü olan Visual Studio, aşağıdaki paketlerden oluşmaktadır. İlk iki

paket ücretlidir, üçüncü paket ilk iki pakete göre bazı kısıtlamalara sahiptir fakat kayıt

(register) olmak şartıyla ücretsiz olarak indirilip kullanılabilmektedir (bir MSN hesabına sahip

iseniz, msn kullanıcı ismi ve şifreniz ile Visual Studio Express Edition sürümüne kayıt

olabilirsiniz, aksi halde bu ürünü kısıtlı bir sürede kullanabilirsiniz).

Visual Studio 2005 Professional Edition Visual Studio 2005 Standard Edition Visual Studio 2005 Express Edition:

Not1: Ücretsiz olarak indirilip kurulabildiğinden, bundan sonraki anlatımlar Visual Basic

Express Edition esas alınarak yapılacaktır.

Not2: Express Editon ile oluşturulan programlar Professional ve Standart Edition

sürümlerinde problemsiz çalışabilmektedir.

Not3: Şu anda Visual Studio 2010 sürümü kullanımdadır. Anlatacaklarımız açısından 2005

sürümü ile 2010 sürümü arasında herhangi bir fark bulunmamaktadır. Bundan sonra

anlatılacaklar 2005 sürümü üzerinde yapılacaktır fakat anlatılanların hepsi 2010 sürümünde

de problemsiz kullanılabilir.

Visual Studio 2005 Express ürünleri, öğrencilerin, hobi olarak bu işi yapanların ve sektöre

yeni girenlerin Microsoft.NET Framework üzerinde programlamayı öğrenebilmeleri için

geliştirilmiştir. Express Edition, Windows programları ve dinamik web siteleri yapabilmek için,

diğer Visual Studio ürünlerine göre kullanımı kolay olan (kısıtlı) araçları üzerinde

bulundurmaktadır.

- 1 -

Page 2: VISUAL BASIC - ackoc.pau.edu.trackoc.pau.edu.tr/ackoc_dosyalar/VISUAL BASIC_NET.pdf · VISUAL BASIC . Visual Studio Ürünleri . Microsoft firmasının ürünü olan Visual Studio,

♦ Web ortamı Visual Web Developer 2005 Express Edition: Bu sürüm, yalnızca

web uygulamaları üzerine yoğunlaşmış olup Asp.NET ile birlikte

Visual Basic, C#, veya J# dillerinden birini kullanabilirsiniz.

♦ Veritabanı SQL Server 2005 Express Edition: Bu sürüm ile, başlangıç

düzeyinde veritabanı uygulamaları geliştirebilirsiniz.

♦ Windows ortamı: Aşağıdaki programlama dillerinden herbiri, windows form

uygulamaları (Windows ortamında çalışacak programlar) geliştirmek için

kullanılabilirler.

Visual Basic 2005 Express Edition Visual C# 2005 Express Edition Visual C++ 2005 Express Edition Visual J# 2005 Express Edition (Java Programlama Dili)

.NET Framework Nedir?

Bir çok uygulama geliştirme dili ve bu dillerle

yazılmış uygulamaları çalıştırmak için ise farklı

platformlar vardır. .net Framework, windows

tabanlı uygulamalar geliştirebilmek için farklı

programlama dillerinin birlikte çalışabileceği

ortak bir geliştirme ortamıdır. Bu ortam hem

yazılımları geliştirmek hem de çalıştırmak için gereklidir. .net Framework bileşen yönelimli

uygulamaların geliştirilmesini ve yürütülmesini destekleyen bir ortam tanımlamaktadır. Bu

sayede; farklı programlama dilleri, farklı işletim sistemleri ile çalışabilme özelliğine sahiptir.

.net Framework aşağıdaki bileşenlerden oluşur:

The Common Language Runtime (CLR), Ortak Dil Çalışma Zamanı: Uygulamaların çalışabilmesi ve yönetilmesine yardımcı olan, dilden bağımsız bir

yazılım geliştirme ve çalışma ortamıdır. Programların çalışmasını idare eden,

programların taşınabilirliğini sağlayan, aynı zamanda diğer avantajlarının dışında

karışık dilde programlamayı destekleyen ve güvenliği sağlayan parçadır.

- 2 -

Page 3: VISUAL BASIC - ackoc.pau.edu.trackoc.pau.edu.tr/ackoc_dosyalar/VISUAL BASIC_NET.pdf · VISUAL BASIC . Visual Studio Ürünleri . Microsoft firmasının ürünü olan Visual Studio,

The Framework Class Libraries (FCL), Framework sınıf kütüphaneleri: Framework çatısı altındaki dillerin ortak kullanabilecekleri kütüphaneleri barındırır.

.net Framework Özellikleri

Standart ağ protokollerine ve standartlarına destek: TCP/IP, SOAP, XML, HTTP

gibi standart internet protokolleri ve standartlarına destek verir.

Farklı programlama dillerine destek: Programcılara istedikleri dilde geliştirme

özgürlüğü sunan .net bünyesinde bir çok programlama dilini barındırır.

Farklı dillerde geliştirilen programlama kütüphanelerine destek: .net Framework,

farklı dillerde oluşturulmuş programlama dillerinde oluşturulmuş program

kütüphanelerine destek verir. Kütüphaneler uygulama geliştirmeyi kolaylaştıran bir

kere yazılmış bir program parçasını tekrar tekrar yazmaktan kurtaran yapılardır.

Farklı platformlara destek: .net Framework bütün windows platformları için

mevcuttur. Farklı bilgi işlem platformlarından insanları, sistemleri ve cihazları

birbirine bağlar. Meselâ, Windows XP gibi bir masaüstü platformunu kullanan

insanlar veya Windows CE kullanan gezgin bir platformu kullanan insanlar

Windows 2003 Server gibi bir sunucu sistemine bağlanabilir.

Visual Basic (VB) 2005 Express Edition (VBEE)

Visual Basic 2005 Express Edition bir programlama arabirimidir. Kullanıcılar için arayüz

geliştirme, kod yazma, yazılan kodun hatalarını ayıklama, derleme vb. fonksiyonlarıyla

yazılımcıların çözüm geliştirmelerini sağlar ve Visual Studio 2005 üzerinde çalışır.

Profesyonel programcıların program geliştirme yöntemi olarak kullandıkları Nesne Yönelimli

Programlamayı tam olarak destekleyen Visual Basic 2005, profesyonel uygulamalar

geliştirmek için kullanılan bir dildir. VBEE de bu dilin tüm özelliklerini destekler. Diğer taraftan

sihirbazlar, sürükle-bırak, hazır programcıklar ve akıllı etiketler sayesinde çok kısa zamanda,

çok daha az kod yazarak başarımı yüksek uygulamalar geliştirmeye zemin sağlar.

VB 2008 Express Edition, Microsoft firmasının, http://www.microsoft.com/express/vb/default.aspx

internet adresinden şimdilik ücretsiz olarak indirilebilmektedir.

- 3 -

Page 4: VISUAL BASIC - ackoc.pau.edu.trackoc.pau.edu.tr/ackoc_dosyalar/VISUAL BASIC_NET.pdf · VISUAL BASIC . Visual Studio Ürünleri . Microsoft firmasının ürünü olan Visual Studio,

İndirilen dosyanın içinde;

− VB 2008 Express Edition,

− .Net Framework 3.5,

− MSDN Express Library 2008,

− Microsoft SQL Server 2008 Express Edition bulunmaktadır.

Bu programların istenirse hepsi aynı anda bilgisayarınıza kurulabileceği gibi, sadece bir veya

birkaçı da, o anda veya daha sonra kurulabilir.

VBEE’ı çalıştırabilmek için bilgisayarınızda bulunması gereken asgari şartlar şunlardır:

İşlemci: 600 MHz veya daha hızlı (Tavsiye edilen: 1 GHz veya daha hızlı).

RAM: Minimum: 192 MB (Tavsiye edilen: 256 MB, eğer VBEE ile birlikte SQL Express

yüklendiyse, 512 MB veya daha fazlası).

Hard Disk: Sabit diskinizde en az 500 MB. Boş yeriniz olmalı.

Tam kurulum: VBEE kurulum programının tamamını (VB 2008 Express Edition, .Net

Framework 3.5, MSDN Express Library 2008, Microsoft SQL Server 2008 Express Edition)

bilgisayarınıza yüklemek isterseniz, sabit diskinizde 1.3 GB. Boş alana ihtiyacınız olacaktır.

Uyarılar : VBEE’nin bilgisayarınızda çalışabilmesi için, .NET Framework 3.5

bilgisayarınıza kurulu olmalıdır.

VBEE Hakkında Temel Bilgiler Event (Olay): VB Olay Sürümlü (Event-Driven) bir programlama dilidir. VB’de Olay için

tıklama, yazı kutusuna bir harf yazma örnekleri verilebilir. Olay Sürümlü ifadesi, olay işlemi

olmadan Windows’un hiçbirşey yapmadan kullanıcıyı beklemesi anlamındadır.

Proje: VBEE programının kodları (program satırları), formları, kontrolleri, nesneleri, yardımcı

program parçaları vbg. olan bütün bileşenleridir. Yani bir VB programından bahsederken

aslında bir VB projesinden bahsetmiş oluyoruz.

- 4 -

Page 5: VISUAL BASIC - ackoc.pau.edu.trackoc.pau.edu.tr/ackoc_dosyalar/VISUAL BASIC_NET.pdf · VISUAL BASIC . Visual Studio Ürünleri . Microsoft firmasının ürünü olan Visual Studio,

Bir projede bulunabilecek dosyalar ve uzantılarının anlamları

Dosya İsmi.uzantısı Dosyanın anlamı

Solution İsmi.sln Solution dosyası

Solution İsmi.suo Solution seçimlik dosyası

Proje İsmi.vbproj Proje dosyası – Çözümdeki her bir proje için bir tane

Proje İsmi.vbproj.user Bir başka proje dosyası – Çözümdeki her bir proje

için bir tane

Form İsmi.Designer.vb Form designer dosyası – her bir form için bir tane

Form İsmi.vb Formu oluşturan program satırları-kod satırları

dosyası – her bir form için bir tane

Form İsmi.resx Form kaynakları dosyası – her bir form için bir tane

VBEE’nin çalıştırılması Eğer VBEE kurulumunuzu problemsiz bir şekilde gerçekleştirdiyseniz;

Başlat-Programlar-Microsoft Visual Basic 2005 Express Edition

yolunu takip ederek VBEE’yi çalıştırabilirsiniz. Sonradan açılış ile ilgili bazı değişiklikler

yapmadıysanız (bu işlemi; VBEE editörüne girdiğinizde, Tools-Options (bu pencerede en

alttaki “Show all settings” seçili olmalı)-Environment-Startup-At startup yolu ile

değiştirebilirsiniz) büyük bir ihtimalle aşağıdaki açılış ekranı ile karşılaşırsınız.

- 5 -

Page 6: VISUAL BASIC - ackoc.pau.edu.trackoc.pau.edu.tr/ackoc_dosyalar/VISUAL BASIC_NET.pdf · VISUAL BASIC . Visual Studio Ürünleri . Microsoft firmasının ürünü olan Visual Studio,

Bu ekrandaki;

“Recent Projects” pencerindeki

“Open” ifadesinin yanındaki “Project” seçeneği; daha önce üzerinde çalıştığınız bir VBEE

projesini tekrar açmak için kullanılır.

“Create” ifadesinin yanındaki “Project” seçeneği; ilk defa oluşturacağınız (başlayacağınız)

bir VBEE projesini açmak için kullanılır.

Diğer pencerelerde, VBEE ile ilgili son haberler, yeni kullanıcılar için yardım bölümleri vbg.

Linkler bulunmaktadır.

Yeni bir projeyi başlatma

Açılış ekranından “Create Project” seçeneği tercih edilirse, aşağıdaki açılış ekranı ile

karşılaşılır.

Windows Applications: Bu derste Windows Uygulamaları üzerinde çalışılacağından,

Tempalates kısmından “Windows Applications” seçeneği tercih edilmeli ve pencerenin

altındaki “Name” kutusunda (istenirse) projeye bir isim verilmelidir (projeye isim verme

işlemini bu pencerede yapmak zorunda değilsiniz, isterseniz sonraki adımlarda da bu işlemi

gerçekleştirebilirsiniz).

- 6 -

Page 7: VISUAL BASIC - ackoc.pau.edu.trackoc.pau.edu.tr/ackoc_dosyalar/VISUAL BASIC_NET.pdf · VISUAL BASIC . Visual Studio Ürünleri . Microsoft firmasının ürünü olan Visual Studio,

VBEE Çalışma Ortamı

Çalışma ortamında üç halde bulunabilirsiniz;

1-Design modu: projenizi geliştirme, tasarlama durumunda çalıştığınız ortamdır (aşağıdaki

ekran görüntüsündeki; Form1.vb [Design] sekmesine dikkat edin, bu ifade kullanıcının şu

anda tasarım (design) durumunda olduğunu göstermektedir).

2-Run modu: tasarladığınız projeyi çalıştırdığınız durumdur.

3-Debug modu: projenizi çalıştırma sırasında, sonlandırmadan (proje sonlanmadan)

hataları ayıklamak (bulmak) için bulunulan durumdur (projenizin sonlanmadan hangi satırda

duracağını siz belirlersiniz, bu durum projenizden uygun değerleri elde edemediğiniz

durumlarda ve özellikle “programın hangi aşamasında hangi değerler elde ediliyor” sorusu

için çok kullanışlıdır).

Form Penceresi: Projemizi tasarladığımız penceredir (nesne-kontrol-obje’dir), dolayısıyla

projeyi oluşturan nesneleri üzerinde bulundurur. Aksi belirtilmediği sürece projemizi

çalıştırdığımızda karşımıza gelecek ilk ekrandır. Bundan dolayı bu pencerenin üzerine

- 7 -

Page 8: VISUAL BASIC - ackoc.pau.edu.trackoc.pau.edu.tr/ackoc_dosyalar/VISUAL BASIC_NET.pdf · VISUAL BASIC . Visual Studio Ürünleri . Microsoft firmasının ürünü olan Visual Studio,

yerleştirilenler aynı zamanda başlangıç görüntümüz olur. Form penceresine, ekranın

sağındaki “Solution Explorer” penceresindeki Form1.vb ifadesine tıklanarak da ulaşılabilir.

Toolbox Penceresi: Projemizi tasarlarken kullanabileceğimiz nesneleri üzerinde bulunduran

penceredir. Toolbox üzerinde bulunan nesneler form penceresine taşınarak projeler

oluşturulur. Yeri gelmişken şunu da belirtelim; Nesne-Obje- Kontrol ifadeleri VBEE’de benzer ifadelerdir ve VBEE nesne yönelimli (object-oriented language) bir programlama dilidir.

Properties Penceresi: Form penceresine taşınan nesnelerin özelliklerini ve olaylarını

(event) üzerinde bulunduran penceredir. Bu pencere sayesinde projemizde kullanacağımız

nesnelerin; boyutları, rengi, üzerinde bulunmasını istediğimiz yazı, büyüklüğü, resmi vbg.

özelliklerini değiştirebiliriz ve sözkonusu nesnenin hangi olaylarının kullanılabilir olduğu ve

hangilerinin kullanıldığını Properties penceresi sayesinde görebiliriz.

Solution Explorer: Projeyi oluşturan bütün program parçalarını üzerinde bulunduran ve bu

programlara istediğimiz anda ulaşmamızı sağlayan penceredir. Projede kaç tane form,

module, sınıf vs. kullanılmış, bu pencere sayesinde öğrenebiliriz. En sık kullanılan nesneler

- 8 -

Page 9: VISUAL BASIC - ackoc.pau.edu.trackoc.pau.edu.tr/ackoc_dosyalar/VISUAL BASIC_NET.pdf · VISUAL BASIC . Visual Studio Ürünleri . Microsoft firmasının ürünü olan Visual Studio,

Toollar (aletler) Visual Basic'in solunda bulunan ToolBox'in üzerindeki elemanlardır.

Pointer (İmleç): Form üzerine yerleştirilmiş kontrol nesnelerini seçmek, yerini ve

boyutunu değiştirmek için kullanılır.

Button (Komut Düğmesi): Programın belirli bir işi yerine getirmesi için onaylama

düğmesidir.

CheckBox (Onay Kutusu): Birden fazla seçeneğin olduğu ve bu birden fazla seçeneğin

de aynı anda seçilebildiği durumlarda kullanılabilir.

RadioButton (Seçenek Düğmesi): Birden fazla seçeneğin olduğu fakat sadece bir

tanesinin seçilebildiği durumlarda kullanılır.

ComboBox (Kombine Kutu): Yerden tasarruf etmek amacıyla, birden fazla seçeneğin

açılır bir metin kutusunda toplandığı durumlarda kullanılır. Birden fazla seçeneğin olduğu

bütün uygulamalarda kullanılabilir.

ListBox (Liste Kutusu): ComboBox nesnesine benzer, tek farkı seçeneklerin bu nesne

içinde bir veya birden fazla satırlık alanda listelenebilmesidir.

Label (Etiket): Diğer nesneleri tamamlayıcı (tanımlayıcı) ifadeleri form üzerinde

tanımlayabilmek (yazabilmek) için kullanılır.

PictureBox (Resim Kutusu): Form üzerinde resim gösterebilmek için kullanılır.

TextBox (Yazı Kutusu): Metin ifadelerin ekranda gösterilmesi için kullanılır. Örneğin;

programın çalışması sırasında elde edilen bir sonucun gösterilmesi, program içinde

kullanılacak bilinmeyenlerin sordurulması gibi durumlar için uygundur.

HORIZONTAL SCROLL BAR (Yatay Hareket Çubuğu): Veri girişi için kullanılır.

- 9 -

Page 10: VISUAL BASIC - ackoc.pau.edu.trackoc.pau.edu.tr/ackoc_dosyalar/VISUAL BASIC_NET.pdf · VISUAL BASIC . Visual Studio Ürünleri . Microsoft firmasının ürünü olan Visual Studio,

VERTICAL SCROLL BAR (Düşey Hareket Çubuğu): Veri girişi için kullanılır.

TIMER (Zamanlayıcı): Formun çalıştığı sırada, zamana bağlı olarak belirli aralıklarla,

eylemlerin gerçekleşmesini denetler.

DRIVE LIST BOX (Sürücü Listeleme Kutusu): Geçerli sürücülerin bir listesini

göstermeye yarar. Aynı zamanda sürücüler arası geçiş için kullanılır.

DIRECTORY LIST BOX (Dizin Listeleme Kutusu): Sürücülerin içerisindeki dizinleri

(klasörleri) görüntüler.

FILE LIST BOX (Dosya Listeleme kutusu): Bir dizin (Klasör) içindeki tüm dosyaları

listeler.

SHAPE (Sekil): Form üzerine geometrik şekiller çizmek için kullanılır.

LINE (Çizgi): Form üzerine çizgi çizmek için kullanılır.

IMAGE (Görüntü): Resim kutusu gibi bir resmi gösterir.

DATA ACCESS (Veriye Erişim): Sistemdeki mevcut veri tabanına erişerek, bilgi

güncelleme ya da görüntüleme işlemlerinin yapılabilmesine olanak sağlar.

OLE CLIENT (Ole Istemcisi): Bu araç ile form içine bir Windows programından (Access,

Excel gibi) nesneler aktarmak mümkündür.

- 10 -

Page 11: VISUAL BASIC - ackoc.pau.edu.trackoc.pau.edu.tr/ackoc_dosyalar/VISUAL BASIC_NET.pdf · VISUAL BASIC . Visual Studio Ürünleri . Microsoft firmasının ürünü olan Visual Studio,

VISUAL BASIC’TE FORMLAR

Visual Basic' te iki çeşit form vardır. Bunlardan bir tanesi tek başına çalışan form türü olan

Visual Basic ilk çalıştığı zaman ekrana gelen form ve projeye her eklenen yeni formun türü

olan SDI (Single Document Interface) formlarıdır. Bu tür formların içinde başka formlar

çalışamazlar. İkinci tür form çeşidi ise içerisinde başka formların çalışmasına izin veren ve

MDI (Multi Document Interface) olarak bilinen form türüdür. Bu tür formların içinde Child form

olarak adlandırılan ve normal SDI formların Child özelliğinin true yapılmasıyla oluşan formlar

çalıştırılabilir.

Formların özellikleri:

Caption: Formun başlığına yazılacak yazıyı belirtir. Bu özelliğe formun özellikler

penceresinden ulaşılabileceği gibi program içerisinde de formun başlığı değiştirilebilir.

İkon : Formda kullanılacak simgeyi belirtir. Bu simge aynı zamanda programınıza ait bir

kısayol oluşturduğunuzda gözükecek simgedir.

BorderStyle : Formun sınırlarının belirlendiği bu özellik aşağıda belirten değerleri alabilir.

0-None: Bu değer verildiğinde form boyutlandırılamaz, taşınamaz ve kapatılamaz. Ayrıca

formun çerçevesi, başlığı, kontrol kutusu, min ve max düğmeleri de formda yer almayacaktır.

- 11 -

Page 12: VISUAL BASIC - ackoc.pau.edu.trackoc.pau.edu.tr/ackoc_dosyalar/VISUAL BASIC_NET.pdf · VISUAL BASIC . Visual Studio Ürünleri . Microsoft firmasının ürünü olan Visual Studio,

1-FixedSingle: Bu değer verildiğinde kullanıcı formu büyültüp küçültemez ama formu

taşıyabilir ve kapatabilir. Ayrıca formun boyutlarında herhangi bir değişiklik yapılamaz.

2-Sizable: Varsayılan değer budur ve formun tüm özellikleri kullanılabilir.

3-FixedDouble: Kullanıcı formu boyutlandıramaz ama formu taşıyabilir ve formu kapatabilir.

4-FixedToolWindow: Normal forma göre başlığı daha küçük olan ve kontrol menüsü

içermeyen bir form oluşturur. Bu formun boyutları kullanıcı tarafından değiştirilemez.

5-SizableToolWindow: Yukarıdaki forma benzer terk farkı boyutları kullanıcı tarafından

değiştirilebilir.

MaxButton, MinButton: Formun sağ üst köşesinde bulunan ve formun büyültülüp

küçültülmesi işlemleri için kullanılan düğmelerin formda bulunup bulunmamasını belirler.

ControlBox: Formun sol üst köşesinde bulunan kontrol menüsünün görünüp görünmemesini

sağlar. Bu değer true veya false değerlerini alabilir. Eğer bu değer true ise kontrol menüsü

görünür ve bu form Alt+F4 tuş kombinasyonu kullanılarak kapatılabilir.

Moveable: Bu özellik ile kullanıcının formu taşıyıp taşıyamayacağı belirlenir. Bu özellik true

veya false değerini alabilir. Eğer bu değer true ise kullanıcı formu taşıyabilir.

ShowInTaskbar: Bu özellik formun çalışma esnasında görev çubuğunda görünüp

görünmeyeceğini belirler. True ya da false değerlerini alabilir. Eğer bu özellik true ise

program çalıştığında form görev çubuğunda görünür.

AutoRedraw: Bu özellik ile formun üzerine başka bir form geldiğinde veya formun

boyutlarıyla oynandığında formun üzerindeki yazı veya çizimlerin yenilenip yenilenmeyeceği

belirlenir. Bu özellik true veya false olmak üzere iki değer alabilir. Eğer bu değer true ise

formda yenileme yapılır ve formun üzerindeki yazı ve çizimler kaybolmaz.

FontTransparent: Formun üzerine Print metodu ile yazılan yazıların zemin renginin olup

olmamasını belirler. Bu özellik true yada false olabilir. Eğer true ise yazıların zemin rengi

olmayacaktır. False ise yazı kandı zemin rengi üzerine yazılır ve altındaki nesneyi göstermez.

WindowState: Formun ilk çalışmaya başlayacağı zaman alacağı durumu belirler. Bu özellik

üç değer alabilir.

- 12 -

Page 13: VISUAL BASIC - ackoc.pau.edu.trackoc.pau.edu.tr/ackoc_dosyalar/VISUAL BASIC_NET.pdf · VISUAL BASIC . Visual Studio Ürünleri . Microsoft firmasının ürünü olan Visual Studio,

0-Normal: Normal durumda açılır.

1-Minimized: Simge durumunda açılır.

2-Maximized: Ekranın tamamını kaplayacak şekilde açılır.

StartupPosition: Formun yüklenmeye başlandığı zaman ekran koordinatlarının neye göre

belirleneceğini belirler. Bu özellik dört farklı değer alabilir.

0-Manuel: Form tasarlandığı zamanki konumda açılır.

1-CenterOwner: Child özelliği true yapılmış formların MDI formun ortasında açılmasını

sağlar.

2-CenterScreen: Formun ekranın ortasında açılmasını sağlar.

3-WindowsDefault: Formun konumunu Windows belirler.

KeyPreview: Form aktifken basılan tuşlardan formun etkilenip etkilenmeyeceği bu özellik

kullanılarak ayarlanılır. Bu özellik iki değer alabilir. Eğer değer true ise formda bulunan

herhangi bir kontrolün üzerinde basılan tuşlar ilk önce formun KeyPress, Keydown, KeyUp

olaylarını meydana getirir. Bu değer false ise kontrolün üzerinde basılan tuşlar o kontrolün

KeyPress, Keydown, KeyUp olaylarını meydana getirir.

Count: Formdaki menüler dahil kontrol sayısını belirtir.

Picture: Formun üzerinde gösterilecek resmi belirtir.

MDIChild: Yukarıda bahsettiğimiz MDI formların içinde çalışabilen bir form istiyorsak bu

özelliği true yapmamız gerekiyor.

CurrentX, CurrentY: Formun üzerindeki aktif pixelin yerini belirtir. Formun üzerine

yazdırılacak yazılar bu noktadan başlayarak yazdırılır.

Width: Formun genişliğinin belirlendiği özellik.

Heigth: Formun yüksekliğinin belirlendiği özellik.

Left: Formun ekranın ne kadar solunda olacağının belirlendiği özellik.

- 13 -

Page 14: VISUAL BASIC - ackoc.pau.edu.trackoc.pau.edu.tr/ackoc_dosyalar/VISUAL BASIC_NET.pdf · VISUAL BASIC . Visual Studio Ürünleri . Microsoft firmasının ürünü olan Visual Studio,

Top: Formun ekranın ne kadar üstünde yer olacağının belirlendiği özellik.

Font: Formlara yazılacak yazıların fontlarının belirlendiği özellik.

BackColor: Formun zemin renginin belirlendiği özellik.

ScaleMode: Formda kullanılan ölçü birimini belirtir. Varsayılan ölçü birimi Twip'dir.

Kullanılabilecek ölçü birimleri ise;

1-Twip 2- Point 3- Pixel 4- Character 5- Inch 6- Millimeter 7- Centimeter

(1 inch = 1440 twip = 72 point = 2.54 cm)

MousePointer: Form üzerindeki fare işaretçisinin şeklini belirler.

Enabled: Formların kullanılabilir olup olmamasının belirlendiği özellik. Eğer bu özellik bir

form için false ise o form proje içerisinde kullanılamaz.

VISUAL BASIC’TE FORMLARA UYGULANABİLECEK OLAYLAR

Visual Basic “olay temelli” bir programlama aracı olup, kullanılan kontroller için önceden

tanımlanmış olaylara ilişkin kodlar yazılarak programın çalışması sağlanır. Örneğin siz,

formun üzerine çift tıklanması durumunda bir olayın meydana gelmesini istiyorsunuz. Bunun

için formda tanımlanmış DblClick olayına ilgili kodu yazarak bu olayın meydana gelmesini

sağlayabilirsiniz. Şimdi sırasıyla formlara uygulanabilecek olayları inceleyelim.

Load() : Formun ilk defa hafızaya yüklendiği zaman meydana gelen olaydır. Bu olay

kullanılarak, kullanıcıya formu göstermeden önce yapılması gereken işler yapılabilir. Örneğin,

kullanıcı programı başlattığında ilk önce kullanıcıdan, kullanıcı adı ve şifresini alarak daha

sonra yüklenecek ana formda bu bilgileri kullanarak bir veritabanına bağlantı sağlayabiliriz.

Activate() : Formun, programda aktif olması sırasında meydana gelir. Eğer programımızda

bir tane form varsa bu form her zaman aktiftir. Bu olaya, formun aktif olması sırasında

yapılmasını istediğimiz olayları yazabiliriz.

Deactivate() : Formun, programda aktivitesini kaybetmesi sırasında meydana gelen olaydır.

Bu olaya, formun aktivitesini kaybetmesi sırasında yapılmasını istediğimiz olayları yazabiliriz.

- 14 -

Page 15: VISUAL BASIC - ackoc.pau.edu.trackoc.pau.edu.tr/ackoc_dosyalar/VISUAL BASIC_NET.pdf · VISUAL BASIC . Visual Studio Ürünleri . Microsoft firmasının ürünü olan Visual Studio,

Unload(Cancel As Integer) : Formun kapatılması sırasında meydana gelen olaydır. Ayrıca

bu olayda tanımlanmış Cancel değişkenini kullanarak sadece bizim istediğimiz durumda

formun kapanmasını sağlayabiliriz. Bunu gerçekleştirmek için, yani formun kullanıcı

tarafından hiçbir şekilde kapatılmaması için Cancel değişkenine True değerini atamalıyız.

Aşağıdaki örnekte kullanıcı formu kapatmak istediği zaman bir pencereyle (inputbox)

karşılaşıyor ve bir değer girmesi isteniyor. Eğer girdiği değer 2 ve 2'den büyükse form

kapanmıyor.

Private Sub Form_Unload(Cancel As Integer)

Dim c

c = InputBox("Formu kapatmak için bir sayi giriniz", "Çikis")

If c > 2 Then

Cancel = True

Else

Cancel = False

End If

End Sub

Not : Bu olay formun End komutuyla sonlandırılması sırasında meydana gelmez. Yani bu

olayın meydana gelebilmesi için formun program tarafından End komutu kullanılarak

sonlandırılmaması gerekir.

Yukarıdaki programı çalıştırdığınızda aşağıdakine benzer bir ekranla karşılaşmalısınız.

- 15 -

Page 16: VISUAL BASIC - ackoc.pau.edu.trackoc.pau.edu.tr/ackoc_dosyalar/VISUAL BASIC_NET.pdf · VISUAL BASIC . Visual Studio Ürünleri . Microsoft firmasının ürünü olan Visual Studio,

Resize() : Formun boyutlarının değiştirilmesi sırasında meydana gelir. Örneğin formun

genişliğinin veya yüksekliğinin değiştirilmesi bu olayın meydana gelmesini sağlar.

KeyPress(KeyAscii As Integer) : Formun çalışması sırasında yön ve kontrol(Ctrl, Alt, Shift)

tuşları dışında herhangi bir tuşa basılması sırasında meydana gelen olaydır. Bu olayda

basılan tuşun Ascii değeri KeyAscii değişkenine atanır. Bu değişkeni kullanarak hangi tuşa

basıldığını öğrenebilirsiniz. Aşağıdaki program, formun çalışması sırasında hangi tuşa

basıldığını ekrana yazar.

Private Sub Form_KeyPress(KeyAscii As Integer)

Show

Print Chr(KeyAscii) & " tusuna bastiniz."

End Sub

KeyDown(KeyCode As Integer, Shift As Integer) : Bu olay herhangi bir tuşa basıldığı anda

meydana gelir. Bu olayda iki parametre kullanılır. Bu parametrelerin biri basılan tuşun Ascii

değerini, diğeri ise bu tuşla birlikte Shift, Ctrl ve Alt tuşlarından herhangi birine basılıp

basılmadığı konusunda bilgi tutar. Aşağıdaki tabloda Shift parametresinin alabileceği değerler

ve açıklamalarını bulabilirsiniz.

- 16 -

Page 17: VISUAL BASIC - ackoc.pau.edu.trackoc.pau.edu.tr/ackoc_dosyalar/VISUAL BASIC_NET.pdf · VISUAL BASIC . Visual Studio Ürünleri . Microsoft firmasının ürünü olan Visual Studio,

Shift Parametresinin Değeri Açıklama

0 Shift, Ctrl, Alt tuşlarından herhangi birisi basılı durumda değil.

1 Shift tuşu basılı durumda.

2 Ctrl tuşu basılı durumda.

3 Shift ve Ctrl tuşları basılı durumda.

4 Alt tuşu basılı durumda.

5 Shift ve Alt tuşları basılı durumda.

6 Ctrl ve Alt tuşları basılı durumda.

7 Shift, Ctrl ve Alt tuşları basılı durumda.

Aşağıdaki örnekte kullanıcı Ctrl tuşu ile birlikte A tuşuna basarsa kullanıcıya mesaj verecektir.

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)

If KeyCode = 65 And Shift = 2 Then

MsgBox "Ctrl+A tus kombinasyonunu kullandiniz."

End If

End Sub

- 17 -

Page 18: VISUAL BASIC - ackoc.pau.edu.trackoc.pau.edu.tr/ackoc_dosyalar/VISUAL BASIC_NET.pdf · VISUAL BASIC . Visual Studio Ürünleri . Microsoft firmasının ürünü olan Visual Studio,

KeyUp(KeyCode As Integer, Shift As Integer) : Bu olay ise kullanıcının bastığı tuşu

bırakması sırasında meydana gelir. Yukarıdaki tabloda Shift parametresi için gösterilen

değerler bu olayda da geçerlidir.

MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) : Bu olay

formun üzerinde mouse'un herhangi bir tuşuna basılması sırasında meydana gelir. Bu olayda

kullanılan parametrelerden Button parametresi, kullanıcını mouse'un hangi tuşuna bastığı

bilgisine tutar ve kullanıcı mouse'un sol tuşuna basmışsa 1, sağ tuşuna basmışsa 2, her iki

tuşa birlikte basmışsa 3 değerini alır. İkinci parametre olan Shift ise mouse'un tuşlarına

basıldığı sırada herhangi bir kontrol karakterine basılıp basılmadığı bilgisini tutar ve

yukarıdaki tabloda açıklanan değerler bu olaydaki Shift parametresi için de geçerlidir. X ve Y

parametreleri ise bu olayının meydana geldiği andaki mouse işaretçisinin yerinin Twip

cinsinden değerlerini tutarlar. Aşağıdaki örnekte mouse'un sol tuşuna tıklandığı yerin Twip

olarak değeri kullanıcıya mesaj olarak gösteriliyor.

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

If Button = 1 Then

MsgBox ("Mouse'un yeri :" & Str(X) & "," & Str(Y))

End If

End Sub

- 18 -

Page 19: VISUAL BASIC - ackoc.pau.edu.trackoc.pau.edu.tr/ackoc_dosyalar/VISUAL BASIC_NET.pdf · VISUAL BASIC . Visual Studio Ürünleri . Microsoft firmasının ürünü olan Visual Studio,

MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) : Bu olay

kullanıcını mouse'un bastığı tuşunu serbest bırakması sırasında meydana gelir ve kullanılan

parametreler MouseDown olayındakilerle aynıdır.

MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) : Bu olay

mouse işaretçisinin form üzerindeki yerinin değişmesi sırasında meydana gelir ve kullanılan

parametreler MouseDown olayındakilerle aynıdır.

Click() : Bu olay mouse ile formun herhangi bir yerine tek tıklama yapıldığında meydana

gelir.

DblClick() : Bu olay mouse ile formun herhangi bir yerine üst üste iki tıklama yapıldığında

meydana gelir. Aşağıdaki programda kullanıcıya, formun herhangi bir yerine çift tıklaması

durumunda bir mesaj gösterilecektir.

Private Sub Form_DblClick()

MsgBox "Mouse ile Çift Tıklama Yaptiniz.", , "Çift Tiklama"

End Sub

VISUAL BASIC’TE VERİ YAPILARI

1-)Sabitler (Constants)

Programın içinde değeri değişmeyen sabitlerdir. VB'de hazır bu tip değişkenler olduğu gibi

programı yazarken kendi ellerimizle de tanımlayabiliriz.

String türü ifadeler sayısal işlemlere sokulmazlar. Sabit tanımlamak için mutlaka ihtiyacımız

olan şeyler "const" ve sabitin ismidir. Private ve public, değişkenlerin etkili olacağı alanları

- 19 -

Page 20: VISUAL BASIC - ackoc.pau.edu.trackoc.pau.edu.tr/ackoc_dosyalar/VISUAL BASIC_NET.pdf · VISUAL BASIC . Visual Studio Ürünleri . Microsoft firmasının ürünü olan Visual Studio,

belirlememizde işe yarar. Çoğu zaman private'yi kullanın çünkü standart.exe olarak açtığınız

formlarda public işe yaramaz, hata verir.

2-)Değişkenler

Program içerisinde değerleri sürekli olarak değişebilen veri yapısıdır. x=23 iken x=x+3

dersek x'in değerini 26 yaparak değiştirmiş oluruz. Yani bir değişkene yeni bir değer atanırsa

eski değeri silinecektir.

a-)Değişkenlere isim verme

• Değişken isminin ilk karakteri rakam olmamalıdır.

• Diğer karakterler harf, rakam, alt çizgi_ olabilir.

• Harflerin küçük ya da büyük olmasının bir önemi yoktur.

• Değişken isimlerinin uzunlukları 40 karaktere kadar olabilir.

• Değişken isimleri içerisinde diğer semboller (+,-,/ vb) bulunmamalıdır.

b-)Değişken türleri

Bu bölümde, VB'de program yazarken, programınızda kullanabileceğimiz veri türleri

tanıtılacaktır.

variant:

Bu tipte tanımlanmış bir değişkene herhangi bir tip’te veri yüklenebilir. Yani ne tür bir veri

gireceğimizi bilmediğimiz değişkenlerde Variant kullanabiliriz. Bu tür değişkenler hafızada

sayısal değerler için 16 byte ve her bir karakter için 1 byte yer kaplarlar.

Örnek: Private Sub Form_Load()

Dim Ad As Variant , No As Variant

Dim Dogum As Variant

Ad="Ali ÇELİK"

Tel="5551234567"

Dogum=#Oct,25,1983#

End Sub

- 20 -

Page 21: VISUAL BASIC - ackoc.pau.edu.trackoc.pau.edu.tr/ackoc_dosyalar/VISUAL BASIC_NET.pdf · VISUAL BASIC . Visual Studio Ürünleri . Microsoft firmasının ürünü olan Visual Studio,

string:

Matematiksel işlemlere sokulamayan karakter veri tipidir. Her karakter için 1 byte yer kaplar.

Uzunluğu 65000 karaktere kadar olabilir. İki karakter ifade arasındaki + işareti bu karakterleri

birleştir anlamına gelir.

Integer:

Tamsayılar için kullanılır. 2 byte yer kaplar, -32768 ile 32767 arasında değer alabilir.

long:

Daha büyük bir aralıkta integer yani tamsayı tanımlamak için kullanabileceğimiz bir veri

tipidir. Hafızada 4 byte yer kaplar. Sınır değerler -2,147,483,648 ile +2,147,483,647 dir.

currency:

Para hesaplarında kullanılmak üzere tanımlanmış bir veri tipidir. Hafızada 8 byte yer

kaplarlar. 4 hane ondalık kısmı olmak üzere toplam 19 haneden oluşur. (nokta hariç)

Alabileceği sınır değerler -922,337,203,685,477.5808 ile 922,337,203,685,477.5807 dir.

date:

Tarih türündeki bilgileri kullanmak için oluşturulmuş bir değişken tipidir. Hafızada 8 byte yer

kaplarlar. 1 Ocak 100 ile 31 Aralık 9999 arasındaki tarihleri kullanabilirsiniz

Örnek:

Private Sub Form_Load()

Dim Dogum_tarihi As Date , Olum_Tarihi As Date

Dogum_tarihi =#Oct,25,1955#

Olum _Tarihi=#Oct,6,2002#

End Sub

boolean:

Mantıksal veri tipleri için kullanılır. İki seçenekten birisini (True, False) alabilir. Bellekte 2 byte

yer işgal ederler.

- 21 -

Page 22: VISUAL BASIC - ackoc.pau.edu.trackoc.pau.edu.tr/ackoc_dosyalar/VISUAL BASIC_NET.pdf · VISUAL BASIC . Visual Studio Ürünleri . Microsoft firmasının ürünü olan Visual Studio,

byte:

O ile 255 arasındaki tamsayıları ifade etmek için kullanılabilecek veri tipidir. Bellekte 1 byte

yer kaplar.

Örnek

Private Sub Form_Load()

Dim A As Byte , B As Byte

A =23

B= 143

End Sub

single:

Tam sayı olmayan sayılar için kullanabileceğimiz bir veri tipidir. Single tipindeki veriler

bellekte 4 byte yer kaplarlar. Negatif sayılar için alabileceği aralık -3.402823E38 ile

-1.401298E-45, pozitif sayılar için alabileceği aralık 1.401298E-45 ile 3.402823E38

arasındadır.

double:

Visual Basic’te kullanılabilecek en büyük sayısal değerlerin veri tipidir. Hafızada 8 byte yer

kaplarlar. 16 basamağa kadar duyarlıdır. Sınır değerler pozitif sayılar için

4.94065645841247E-324 ile 1.797693134862232E308, negatif sayılar için de

-1.797693134862232E308 ile -4.94065645841247E-324 arasındadır.

b-)Tip bildirimi için DIM deyimi

İyi bir program oluşturmak için, değişkenlerin tiplerini önceden bildirmek faydalı bir

alışkanlıktır. Tip bildiriminde bulunulmazsa, değişkenlerin tipi variant olarak atanır. Bu

da hafızada gereksiz yer kaplamaya neden olur.

Dim x as integer

Dim a, b, c, d as double şeklindeki ifade, sedece d'yi double olarak atayacak, a, b, c

değişkenleri ise variant olarak kalacaktır.

- 22 -

Page 23: VISUAL BASIC - ackoc.pau.edu.trackoc.pau.edu.tr/ackoc_dosyalar/VISUAL BASIC_NET.pdf · VISUAL BASIC . Visual Studio Ürünleri . Microsoft firmasının ürünü olan Visual Studio,

Doğru kullanım ise: Dim A As Double, B As Double, C As Double, D As Double şeklinde

olmalıdır.

c-)Zorunlu tip bildirimi

VB'de tip bildirimi zorunlu değildir. Fakat yazılımcı isterse bunu zorunlu hale getirebilir. Bunun

için şu adımlar izlenmelidir.

• Kod penceresi açılır.

• General, declarations kısmı; seçilir.

• Bu bölüme option explicit yazılır.

Option Explicit komutu, değişkenlerin tanımlanmasını zorunlu hale getirmek veya

değişkenleri tanımlama zorunluluğunu ortadan kaldırmak için kullanılır. Bu komutun

kullanılma mecburiyeti yoktur, kullanılmazsa, değişkenleri mutlaka tanımlamak zorundasınız

demektir (option explicit on), aksi durumda, yani değişkenlerin kullanılma zorunluluğu ortadan

kaldırılmak istenirse kullanılması mecburidir.

Kullanılış şekli; Option Explicit On (Kullandığınız değişkenleri tanımlamak zorundasınız).

Option Explicit Off (Kullandığınız değişkenleri tanımlamak zorunda değilsiniz)

General Declerations Bölümü

Option Explicit komutu kullanılmak istenirse, VB editörünün sadece General Declerations

bölümüne yazılması gerekir, aksi halde VB hata mesajı verir. General Declerations

bölümü; bütün yordamların ve program satırlarının en üstündeki satırdır, aşağıdaki

örnekte bu bölümün yeri gösterilmektedir.

- 23 -

Page 24: VISUAL BASIC - ackoc.pau.edu.trackoc.pau.edu.tr/ackoc_dosyalar/VISUAL BASIC_NET.pdf · VISUAL BASIC . Visual Studio Ürünleri . Microsoft firmasının ürünü olan Visual Studio,

bunu yaptıktan sonra programınızı yazarsanız, eğer değişkenleri tanımlamadıysanız,

programı da o halde çalıştırdıysanız "Variable not defined" hatası verecektir.

d-)Değişkenlerin tanımlandıklara yere göre durumları

Değişkenler iki yere göre tanımlanırlar:

Genel tanımlamalar: Yordamların üzerinde yapılan tanımlamadır. Bu şekilde yapılan

tanımlar yordamlar üstü olduğu için, Class içindeki bir veya birden fazla yordam içinde bu

tanımlar geçerli olacaktır.

Özel tanımlar: Yordamların içinde yapılan tanımlardır. Bu şekilde yapılan tanımlar yordam

içinde olduğundan, sadece tanımlandığı yordamlarda geçerli olacaktır, program akışı ilgili

yordamın dışına çıktığında, yordam içinde yapılan tanımlar geçersiz olacaktır.

Aşağıdaki örnek, iki tür tanımlamayı da içermektedir. Öncelikle bu programın “Option Explicit

On” satırından dolayı çalışmayacağını belirtmek gerekir. Bu programın hatasız çalışması için

“Option Explicit On” satırının “Option Explicit Off” haline getirilmesi gerekir. Çünkü bu örnek

tanımlamaları göstermek için özellikle bu şekilde düşünülmüştür.

Bu satır, program içinde kullanılan bütün değişkenlerin tanımlanmasını zorunlu hale getiriyor

Bu satırda a değişkeni “genel” olarak ve 12 başlangıç değeri ile tanımlanmıştır. Genel tanımlaması, CLASS satırından sonra ve 2 SUB yordamın üzerinde olmasından anlaşılmaktadır. Bu tanıma göre a değişken değerine Sub Form1_Load ve Sub Button1_Click yordamlarından ulaşılabilir.

Bu yordamdaki b değişken tanımlaması sadece bu yordam içinde geçerlidir. Bu yordamın içinde a ve b değişken değerleri tanımlıdır, c değişken değeri tanımsız olarak işlem görür.

Bu yordamdaki c değişken tanımlaması sadece bu yordam içinde geçerlidir ve “deneme” başlangıç değeri ile tanımlanmıştır. Bu yordamın içinde a ve c değişken değerleri tanımlıdır, b değişken değeri tanımsız olarak işlem görür.

- 24 -

Page 25: VISUAL BASIC - ackoc.pau.edu.trackoc.pau.edu.tr/ackoc_dosyalar/VISUAL BASIC_NET.pdf · VISUAL BASIC . Visual Studio Ürünleri . Microsoft firmasının ürünü olan Visual Studio,

Aşağıdaki örnekte a değişkeni önce genel olarak integer sayı tipinde ve 12 başlangıç değeri

ile tanımlanmış, ancak daha sonra Form1_Load yordamının içinde aynı değişken özel

tanımlamaya, string değişken tipine ve “Ali” başlangıç değerine döndürülmüştür. Buna göre

Form1_Load yordamının içinde a değişken değeri, tipi string’e ve başlangıç değeri de “Ali”

ifadesine döndürülür, bu kullanımda Form1_Load yordamının içinde a değişken değeri “Ali”

olarak işleme girer. Ama buna karşın “deneme” yordamının içinde a değişkeni ile ilgili bir

değişiklik yapılmadığı için bu yordamın içinde a değişken değeri integer ve 12 olarak işleme

girer.

e-) Değişkenlerin statik ve dinamik durumları

Aksi belirtilmediği sürece tanımladığımız değişkenler dinamiktir; yani olay, prosedürün her

çalışmasında (mesela, her command1_click olduğunda) bir önceki işlem sonundaki

hesaplanmış değeri saklamazlar. Fakat değişkenimizi tanımlarken Dim X As integer değil de

Static X As integer olarak tanımlarsanız her prosedür çalıştığında bir önceki procedure

sonundaki hesaplanmış değeri saklar onun üstünden işlem yapar.

Veri Tiplerine (değişkenlere) başlangıç değeri atanmamışsa !!!

Sayı değişken tipleri için (byte, integer, double vb.) sıfır (O sayısı).

String değişken tipleri için (char, string vbg.) "" değeridir, bu değerin yazı olarak ifadesi

şudur: çift tırnak işareti açılır ve arada boşluk olmadan kapatılır.

Boolean mantıksal değişken tanımlama tipinde False değeridir.

Date değişken tanımlama tipinde "00:00:00" değeridir.

- 25 -

Page 26: VISUAL BASIC - ackoc.pau.edu.trackoc.pau.edu.tr/ackoc_dosyalar/VISUAL BASIC_NET.pdf · VISUAL BASIC . Visual Studio Ürünleri . Microsoft firmasının ürünü olan Visual Studio,

VB’DE FONKSİYONLAR

Asc: Klavyeden girilen herhangi bir ifadenin, nümerik ascii karşılığını verir. Eğer tek harfli

ifade yerine sözcük girerseniz, sözcüğün ilk karakterini baz alacaktır. Mesela asc (bilgisayar)

denirse b'nin nümerik ascii karşılığı olan 98 elde edilir.

Chr$: 0-255 arasında girilen bir nümerik ascii koduna karşılık gelen karakteri verir.

Örnek:

Bu programda text1'e gireceğiniz karakterin karşılığı text2'de, text3'de girdiğiniz karakterin

karşılığı text4'de görünecektir.

Private Sub Command1_Click()

a = Text1.Text

a = Asc(a)

Text2.Text = Str(a)

End Sub

Private Sub Command2_Click()

b = Text3.Text

b = Val(b)

If b > 255 Then GoTo son

b = Chr(b)

Text4.Text = b

son:

End Sub

Space$(n): Belirtilen text'e veya herhangi bir yere n kadar boşluk koyar.

Text1.text=space$(4) gibi

- 26 -

Page 27: VISUAL BASIC - ackoc.pau.edu.trackoc.pau.edu.tr/ackoc_dosyalar/VISUAL BASIC_NET.pdf · VISUAL BASIC . Visual Studio Ürünleri . Microsoft firmasının ürünü olan Visual Studio,

Right$: Belirtilen stringin en sağından başlayarak belirtilen sayıda stringi kopyalamak için

kullanılır. A=Right$("pamukkale",4) derseniz A="kale" olacaktır.

Left$:Belirtilen stringin en solundan başlayarak belirtilen sayıda stringi kopyalamak için

kullanılır. A=Leftt$("pamukkale",5) derseniz A="pamuk" olacaktır.

Mid$: Belirtilen stringin belirtilen karakterinden başlayarak, soldan sağa doğru belirtilen kadar

karakter kopyalamaya yarar. A=Mid$("pamukkale",4,4) derseniz A="ukka" olacaktır.Yani 4.

karakterden başlayarak sağa doğru 4 karakter kopyalayacaktır.

Örnek:

Standart.exe olarak açtığınız form'a 1 tane text kutusu(text1.text), 3tane command butonu

yerleştirin, command butonlarının adını ister değiştirin ister değiştirmeyin program yinede

çalışır. Butonların üzerlerine sıra ile çift tıklayarak sıra ile aşağıdaki kodları yazın. Programı

çalıştırdıktan sonra "sağdan" butonuna tıklarsanız, text1 kutusuna ,"pamukkale" stringinin

içindeki "kale"yi alıp yazacaktır, "soldan" butonuna tıkladığınızda ise "pamuk", ortadan

butonuna tıkladığınızda ise "ukka" yazacaktır...

Private Sub Command1_Click()

Dim a As String

a = Right$("pamukkale", 4)

Text1.Text = a

End Sub

Private Sub Command2_Click()

Dim b As String

b = Left$("pamukkale", 5)

Text1.Text = b

End Sub

Private Sub Command3_Click()

- 27 -

Page 28: VISUAL BASIC - ackoc.pau.edu.trackoc.pau.edu.tr/ackoc_dosyalar/VISUAL BASIC_NET.pdf · VISUAL BASIC . Visual Studio Ürünleri . Microsoft firmasının ürünü olan Visual Studio,

Dim c As String

c = Mid$("pamukkale", 4, 4)

Text1.Text = c

End Sub

Private Sub Form_Load()

Text1.Text = "pamukkale"

End Sub

Len(String): Girilen stringin kaç karakter uzunluğunda olduğunu öğrenmemize yardımcı olur.

Sayısal bir değer alır. A=Len("pamukkale") derseniz A=9 olur.

Val(String): Girilen stringi sayısal ifadeye çevirir ve bize, onu toplama, çıkarma gibi

işlemlerde kullanma imkanı sağlar. A=val("15") ifadesi text kutusundan veya herhangi bir

yolla girilmiş 15 yazısını rakamsallaştırmaya yarar.

Str(Rakam): Val'ın yaptığını tam tersini yapar. Örneğin text kutusunda rakamsal ifadeleri

kullanamayız, ancak onları str ile string haline getirip kullanabiliriz. A=Str(15) derseniz A="15"

olacaktır.

Lcase(String): İçine girilen küçüklü büyüklü yazıyı tamamen küçük harfe çevirir.

A=Lcase("PamUKKale") derseniz A="pamukkale" olacaktır.

Ucase(String): İçine girilen küçüklü büyüklü yazıyı tamamen büyük harfe çevirir.

Ucase("PamUKKale") derseniz A="PAMUKKALE" olacaktır.

Instr(Rakam,String1,String2): Birinci karakter içinde ikinci karakteri arar. Eğer aradığını

bulursa değeri bulduğu karakterin sıra numarası olur. Örneğin birinci karakterimiz

"pamukkale" ikinci karakterimiz "a" yani birinci karakter içinde a'yı arıyacağız. Programı yazıp

çalıştırdığımızda değer 2 olacaktır, yani "a" 2. sırada. İsterseniz aramayı istediğiniz sıradan

başlatabilirsiniz. Örneğin A=Instr(5,"pamukkale","a") derseniz A=7 olacaktır. Çünkü 5.

karakterden aramaya başlattığımız için 7. sıradaki "a" yı gördü.

Trim(String): Parantez içine girilen karakterin sağındaki ve solundaki boşluk karakterini siler.

Ltrim(String): Parantez içine girilen karakterin solundaki boşluk karakterini siler.

Rtrim(String): Parantez içine girilen karakterin sağındaki boşluk karakterini siler.

- 28 -

Page 29: VISUAL BASIC - ackoc.pau.edu.trackoc.pau.edu.tr/ackoc_dosyalar/VISUAL BASIC_NET.pdf · VISUAL BASIC . Visual Studio Ürünleri . Microsoft firmasının ürünü olan Visual Studio,

Date: Bu komut sayesinde sistemin tarihini öğrenebilir yada onu yeniden ayarlayabiliriz.

A=Date dersek A o günün tarihi olacaktır. Yalnız atlanılmaması gereken önemli bir ayrıntı ise

A yı dim ile tanımlarken “dim A as date” demeliyiz. Eğer bilgisayarın tarihini ayarlamak

istiyorsak Date="aa-gg-yyyy". Bir de date olarak tanımladığımız bir değişkene tarih

atayabiliriz. Mesela “dim t as date” olarak tanımladığımız değişkene tarih atamak istersek

“t=#aa-gg-yyyy#” şeklinde bir ibare kullanmalıyız. Eğer ay kısmına 13 ve daha büyük yada

gün kısmına 32 ve daha büyük rakamlar girerseniz programın çalışması esnasında hata

verecektir.

Time:

Hem zamanı öğrenmede hem de zamanı set etmede kullanılır. Time="SaSa:dkdk:snsn"

şeklinde set edilebilir. Ayrıca...

Private Sub Command1_Click()

Text1.Text = Time

End Sub

ile zamanı bir değişken olarak elimizde tutabiliriz

Now: Programın çalıştığı anki tarih ve zamanı bize verir.

Private Sub Command1_Click()

Text1.Text = Now

End Sub

Datevalue(string): İçine girilen string türü bir ifadeyi date türü bir değişkende tutmamıza

yarar. Örneğin programda kullanıcıdan textboxa doğum tarihini girmesini istediniz, textbox

bunu tabi ki string türü bir ifade olarak saklayacaktır. Bunu date türü bir ifadeye çevirmede

datevalue komutu devreye giriyor...

Dim t as date

Text1.text="25-10-1983"

t= Datevalue("text1.text")

Dateserial(Yıl,Ay,Gün): Girilen integer türü değişkenleri date türü değişkenlere çevirmeye

yarar. Ayrıca Dateserial(1996,10,28)-Dateseria(1954,3,5) gibi bir kullanımla 2 tarih arasındaki

gün sayısını bulabiliriz.

- 29 -

Page 30: VISUAL BASIC - ackoc.pau.edu.trackoc.pau.edu.tr/ackoc_dosyalar/VISUAL BASIC_NET.pdf · VISUAL BASIC . Visual Studio Ürünleri . Microsoft firmasının ürünü olan Visual Studio,

Timeserial(saat,dakika,saniye): Parantez içine girilen ifadeyi zaman türünde değişkene

çevirir. A=Timeserial(22,11,08) komutu ile A; 10:11:08 PM değerine eşit olacaktır.

Day(Tarih): Verilen tarih türü bilginin içinden gün kısmını alır. A=Day("10/25/1983")

ifedesinde A=25 olacaktır.

Month(Tarih): Verilen tarih türü bilginin içinden ay kısmını alır.

Year(Tarih): Verilen tarih türü bilginin içinden yıl kısmını alır.

Hour(Zaman): Zaman türü bilginin içinden saati alır.

Minute(Zaman): Zaman türü bilginin içinden dakikayı alır.

Second(Zaman): Zaman türü bilginin içinden saniyeyi alır.

VB’DE İŞLETİM SİSTEMİ İLE İLGİLİ KOMUTLAR

MKDiR: DOS’tan alınmış bir komuttur. Aktif dizinin altında yada belirlenen yeni bir yola uygun

olarak yeni dizin yaratır. Örneğin MkDir "ders" ile aktif yolun altına yeni bir dizin açabilirsiniz.

Bu dizin zaten mevcutsa hata verir.

RmDir: DOS’tan alınmış bir komuttur. Geçerli yolun altındaki belirtilen klasörü silmeye yarar.

Örneğin RmDir "ders" ile aktif yolun altındaki ders dizinini siler. Eğer öyle bir dizin yoksa hata

verir. Ayrıca dizinin içi boş olmalı yoksa gene hata verecektir.

Kill: Belirtilen bir dosya veya dosya gurubunu siler. Mesela RmDir ile içi dolu dizini

silemezsiniz ilk önce kill "ders\*.*" diyerek içini boşaltırsınız. Sonra içi boş dizini RmDir ile

silersiniz.

ChDrive: Aktif sürücüyü değiştirir. ChDrive "D" komutu ile aktif sürücüyü D yapmış olursunuz.

ChDir: Aktif dizini değiştirir. Örneğin ChDir "D:\MsOffice\Excel"

Name: Belirtilen dosyanın adını ve yolunu değiştirir. Name "c:\Vb\alan.bas" as

c:\Hb\Hesap.bas

- 30 -

Page 31: VISUAL BASIC - ackoc.pau.edu.trackoc.pau.edu.tr/ackoc_dosyalar/VISUAL BASIC_NET.pdf · VISUAL BASIC . Visual Studio Ürünleri . Microsoft firmasının ürünü olan Visual Studio,

CurDir: O anki geçerli olan sürücünün yolunu (aktif dizini) veya o anda kullanılmayan fakat

daha önce kullanılmış sürücünün en son yolunu verir. String türü ifade yollar. A=Curdir(c)

şeklinde kullanılır.

Shell: Kullanılış şekli Değişken=Shell(Yol Adı,Pencere Stili) şeklindedir.Com, Exe, Bat

uzantılı dosyaların Vb içinden çalıştırmaya yarar.

Örnek:

Private Sub Command1_Click()

x=Shell("c:\msoffice\excel\excel.exe,1)

End Sub

FileCopy: Kaynaktaki dosyaları alır hedefe kopyalar. FileCopy"c:\a1.bmp",c:\Vb\a1.bmp

SetAttr: Belirtilen dosyanın özelliklerini değiştirmek için kullanılır. Örneğin, SetAttr

"C:\Vb\Xdat", vbHidden+vbReadOnly ifadesi ile, x.dat adlı dosya, sadece okunabilir ve gizli

olarak değiştirilir.

Dir: Yazılış biçimi Dir(Yol Adı) şeklindedir. Yol adında belirtilen dosyanın olup olmadığını

araştırır, eğer varsa dosyanın yolunun ismini string olarak gönderir. ?ve* gibi joker karakterler

kullanmaya izin verir.

VB’DE KARAR KOMUTLARI

if-then-else

if koşul then KOMUTU

Belirtilen koşulun olması halinde programa yaptırmak istediğimiz şeyleri yaptırmaya yardımcı

komuttur. Kullanımı;

if koşul then

KOMUTLAR

end if

- 31 -

Page 32: VISUAL BASIC - ackoc.pau.edu.trackoc.pau.edu.tr/ackoc_dosyalar/VISUAL BASIC_NET.pdf · VISUAL BASIC . Visual Studio Ürünleri . Microsoft firmasının ürünü olan Visual Studio,

Şeklindedir. Yani belirttiğimiz koşul sağlanırsa program, if ile end if arasında belirttiğimiz

komutları uygulayacaktır. Eğer belirttiğimiz koşul sağlanmamışsa program -end if- komutunun

bir alt satırına atlayacaktır. Yani if ve end if komutları arasındaki hiç bir işlemi yapmayacaktır.

Örnek:

Standart.exe olarak açmış olduğunuz formunuza bir textbox (text1) ve bir commandbutton

(command1) ekleyiniz. Sonra tasarım penceresindeyken command buttona çift tıklayarak

açılan kod penceresine aşağıdaki kodları yazınız. Daha sonra F-5'e basarak programı

çalıştırınız. Program sayınızın tek mi çift mi olduğunu kontrol ediyor ve ona göre mesaj

veriyor.

Private Sub Command1_Click()

a = Text1.Text

a = Val(a)

If a Mod (2) = 0 Then

MsgBox "girdiğiniz sayı çifttir"

End If

If a Mod (2) <> 0 Then

MsgBox "girdiğiniz sayı tektir"

End If

End Sub

if koşul then.... else...KOMUTU

If ... end if 'ten tek farkı vardır, koşulun sağlanmadığı durumda da programa müdahale

edebilirsiniz. Örneğin belirttiğiniz koşulun olup olmadığını if ile kontrol ediyordunuz, şimdi

burada da else diyerek, programa; koşulun olmadığı durumda da şunu yap diye emir

veriyorsunuz. Kullanımı şu şekildedir:

if koşul Then

KOMUTLAR

else

KOMUTLAR

- 32 -

Page 33: VISUAL BASIC - ackoc.pau.edu.trackoc.pau.edu.tr/ackoc_dosyalar/VISUAL BASIC_NET.pdf · VISUAL BASIC . Visual Studio Ürünleri . Microsoft firmasının ürünü olan Visual Studio,

End if

Eğer belirttiğiniz koşul varsa if' in altındaki komutlar yerine getiriliyor, eğer belirttiğiniz koşullar

yoksa else’nin altındaki komutlar yerine getiriliyor.

Örnek: Yukarıda 2 tane if komutu kullanarak yazdığımız komutu daha kısa satırda else

kullanarak yazacak olursak;

Private Sub Command1_Click()

a = Text1.Text

a = Val(a)

If a Mod (2) = 0 Then

MsgBox "girdiğiniz sayı çifttir"

Else

MsgBox "girdiğiniz sayı tektir"

End If

End Sub

If koşul then..... ElseIf koşul then.....KOMUTU

Birden fazla koşulumuzun olduğu durumlarda defalarca if kullanmaktansa if ve else if lerle

durumu bağlayabiliriz.

If koşul Then

KOMUTLAR

ElseIf Koşul1 Then

KOMUTLAR

ElseIf Koşul2 Then

KOMUTLAR

End If

Örnek: 1'den 5 e kadar olan sayıların kontrolünü yapan, girdiğiniz sayının kaç olduğunu size

söyleyen ve 5 ten büyük bir sayı girmişseniz uyaran bir program yazıyoruz. Formunuza bir

- 33 -

Page 34: VISUAL BASIC - ackoc.pau.edu.trackoc.pau.edu.tr/ackoc_dosyalar/VISUAL BASIC_NET.pdf · VISUAL BASIC . Visual Studio Ürünleri . Microsoft firmasının ürünü olan Visual Studio,

textbox ve bir command buton ekleyin ve tasarım aşamasındayken command butona cift

tıklayıp açılan pencerede bu kodu yazın..

Private Sub Command1_Click()

a = Text1.Text

a = Val(a)

If a > 5 Then

MsgBox "5'ten büyük sayı giremezsiniz"

End If

If a = 1 Then

MsgBox "Girdiğiniz sayı=1"

ElseIf a = 2 Then

MsgBox "Girdiğiniz sayı=2"

ElseIf a = 3 Then

MsgBox "Girdiğiniz sayı=3"

ElseIf a = 4 Then

MsgBox "Girdiğiniz sayı=4"

ElseIf a = 5 Then

MsgBox "Girdiğiniz sayı=5"

End If

End Sub

Select .... Case

Mantık olarak yukarıda anlattığımız If..ElseIf yapısının aynısıdır. İlgili değişken Select Case

DEGİŞKEN komutuyla seçilir ve bu değişkenin birden fazla durumları Case Değer1... Case

Değer2.... komutlarıyla kontrol edilir. Kullanımı;

Select Case Değişken

Case Değer1

.....

Case Değer2

- 34 -

Page 35: VISUAL BASIC - ackoc.pau.edu.trackoc.pau.edu.tr/ackoc_dosyalar/VISUAL BASIC_NET.pdf · VISUAL BASIC . Visual Studio Ürünleri . Microsoft firmasının ürünü olan Visual Studio,

.....

Case Değer3 to Değer 10

.....

Case Else

End Select

Görüldüğü gibi birden fazla koşullu durumda select case yi kullandık. Case değer 3 to değer

10 yazan satır değişkenin değerinin belli bir şeyden diğer şeye kadar olan durumda şunu yap

anlamına gelir. Dikkat edilmesi gereken diğer komut da Case Else. Bu da belirtilen tüm

seçeneklerin dışında başka bir değer olması durumunda altında belirtilen komutları uygulatır.

InputBox

Visual Basic programının çalışması sırasında klavyeden bilgi girmek amacıyla kullanılır.

Buradan gelecek değer string türü bir değerdir, eğer girilecek bu değeri sayısal bir hesapta

kullanmak istiyorsak Val(String) komutuyla sayısal değere çevirmeliyiz. Kullanımı

Değişken=Inputbox("Başlık") şeklindedir.

Örnek: Standart.exe olarak açtığınız formunuza bir adet text.box koyun ve textbox

koyduğunuz projenin üzerinde herhangi bir yere çift tıklayarak (Private Sub Form_Load() ve

End Sub ifadelerini otomatik olarak elde edebilmek için forma çift tıkladık) aşağıdaki ifadeleri

yazın.

Private Sub Form_Load()

a = InputBox("İsminizi Giriniz...")

Text1.Text = a

End Sub

Yani inputbox, programa dışarıdan bir veri girmek istediğimizde kullanılıyor.

MsgBox

Visual Basic programının çalışması sırasında elde edilen bazı sonuçları ve kullanıcıyı

uyaracak gerekli bazı mesajları ekrana taşımamıza yardımcı olur. Kullanımı:

A=MsgBox("Mesaj",Görünüm,"başlık") şeklindedir. Görünüm ve başlık kısımları

- 35 -

Page 36: VISUAL BASIC - ackoc.pau.edu.trackoc.pau.edu.tr/ackoc_dosyalar/VISUAL BASIC_NET.pdf · VISUAL BASIC . Visual Studio Ürünleri . Microsoft firmasının ürünü olan Visual Studio,

kullanılmasa da olur. Bu kısımlar kullanılmazsa sadece MsgBox "mesaj" şeklinde

kullanımımız doğru olanıdır. Görünüm kısmında tanımlayacağımız komutlarla ok, cancel, yes,

no gibi kontrol butonları koyabileceğiz. Mesela bazen Kullanıcıya ....... yapmak istermisiniz

diye sorarsınız, evet mi hayır mı deyip demediğini bu gürünümün değişkene yollayacağı

ifadeyle anlarız. Ama görünüm kısmına Hiçbirşey yazmazsak sadece ok butonu olacaktır

mesaj kutumuzda. Görünümde; VbOkOnly, VbOkCancel, VbYesNo, VbYesNoCancel... gibi

tanımlamalarla mesaj kutumuza birden fazla buton koyabiliriz. Kullanıcının tıklayacağı buton

A değişkenine Vbok, VbCancel... gibi yansıyacaktır. Daha sonra işlemlerimizi bunlara göre

yapacaksak, if kontrolüyle bunları yönlendirebiliriz.

Örnek: Standart.exe olarak açtığınız formunuza bir adet text.box koyun ve programın

tasarım aşamasındayken forma çift tıklayarak (Private Sub Form_Load() ve End Sub

ifadelerini otomatikman elde edebilmek için) aşağıdaki ifadeleri yazınız. Programınızı

çalıştırdığınızda isminizi soracak, sonra isminizi text kutusuna yazacak, text kutusunda yazılı

olan isminizin doğru olup olmadığını soracak eğer eveti tıkladıysanız program ekranına geri

dönecek, hayırı tıkladıysanız bir uyarı mesajı daha gönderecektir.

Private Sub Form_Load()

a = InputBox("İsminizi Giriniz...")

Text1.Text = a

Form1.Show

b = MsgBox("İsminiz Doğrumu?", vbYesNo, "Sorgu Ekranı")

If b = vbNo Then

MsgBox ("Yanlış Olması İmkansız")

End If

End Sub

VB’DE DÖNGÜLER

Programlama dillerinde döngüler genelde aynı işi birden fazla yaptırmak amacıyla işlemi

istenilen miktarda tekrarlamak için kullanılır. Ya da belli aralıklarda birşey arattırmak için veya

belli aralığa birşeyler eklemek için aynı işlemi tekrar tekrar yapmaktan kurtulmak için.

- 36 -

Page 37: VISUAL BASIC - ackoc.pau.edu.trackoc.pau.edu.tr/ackoc_dosyalar/VISUAL BASIC_NET.pdf · VISUAL BASIC . Visual Studio Ürünleri . Microsoft firmasının ürünü olan Visual Studio,

Döngüler yapı olarak ikiye ayrılır. For....Next Ve Do...Loop . VB de Do...Loop sözcüklerini

içeren dört ayrı tür mevcuttur.

1)Do While ... Loop Yapısı

Bu yapıda önce koşul kontrol edilir. Kontrol doğruysa programın akışı döngünün içine girer.

Değilse döngüye bir kez bile girilmeden program işleyişine devam edecektir. Şunu da

unutmamak gerek, döngü while koşulu sağlandığı sürece işlevine devam edecektir. Yapısı;

Do While Koşul

Komutlar

Loop

Örnek: Standart.exe olarak açtığınız bir forma bir buton yerleştirin. Butonu çift tıklayın Private

Sub Command1.click ile başlayan paragrafı yazın. Sonra tekrar project penceresine geçin ve

formun herhangi bir yerine çift tıklayın Private Sub Form Load ile başlayan paragrafı Yazın.

Sonra F5 e basarak çalıştırın. Project penceresinden çift tıklatmamızın sebebi, ilgili kısma ait

private sub... end sub metinlerini VB’nin otomatik yazması sebebiyledir.

Private Sub Command1_Click()

End

End Sub

Private Sub Form_Load()

a = MsgBox("Devam için evet,bitirmek için hayırı tıkla",

vbOKCancel, "DoWhile-Loop Yapısı incelemesi")

Do While a = vbOK

a = MsgBox("Devam için evet,bitirmek için hayırı tıkla",

vbOKCancel, "DoWhile-Loop Yapısı incelemesi")

Loop

End Sub

- 37 -

Page 38: VISUAL BASIC - ackoc.pau.edu.trackoc.pau.edu.tr/ackoc_dosyalar/VISUAL BASIC_NET.pdf · VISUAL BASIC . Visual Studio Ürünleri . Microsoft firmasının ürünü olan Visual Studio,

2)Do Until ... Loop

Bu yapıda da önce koşul kontrol edilir ancak while..loop yapısının tersine burada koşul doğru

olmadığı sürece programın akışı döngünün içine girer, doğru olduğunda döngünün dışına

çıkar. Yada koşul zaten doğruysa hiç döngünün içine girmez. Yapısı;

Do Until Koşul

Komutlar

Loop

Örnek: Yukarıda While..Loop Yapısındaki yaptığımız programla aynı işe yarayan programı

until..loop ile yapacağız. Yapmanız gereken while’ı silip until, vbOK’u silip vbcancel

yapmanız.

Private Sub Command1_Click()

End

End Sub

Private Sub Form_Load()

a = MsgBox("Devam için evet,bitirmek için hayırı tıkla",

vbOKCancel, "DoWhile-Loop Yapısı incelemesi")

Do Until a = vbCancel

a = MsgBox("Devam için evet,bitirmek için hayırı tıkla",

vbOKCancel, "DoWhile-Loop Yapısı incelemesi")

Loop

End Sub

3)Do ... Loop While

Burada koşul altta kontrol ediliyor. Koşul sağlansa da sağlanmasa da döngü yukarıdan

aşağıya en az bir kez akacaktır, sonra aşağıdaki while ile belirtilen koşul sağlandığında

döngü yukarı çıkıp bir kez daha dönecektir, ta ki koşul sağlanmayıncaya dek. Sağlanmayınca

programın akışı döngüden çıkar ve alt satırdan devam eder. Yani birinci ve ikinci yapıdan

farkı, hiçbirşey olmasa bile döngü, koşul en aşağıda kontrol edildiği için en az bir kez icra

eder. Yapısı;

- 38 -

Page 39: VISUAL BASIC - ackoc.pau.edu.trackoc.pau.edu.tr/ackoc_dosyalar/VISUAL BASIC_NET.pdf · VISUAL BASIC . Visual Studio Ürünleri . Microsoft firmasının ürünü olan Visual Studio,

Do

Komutlar

Loop While Koşul

4)Do ... Loop Until

Bu da koşulu aşağıda kontrol ediyor. Yani koşul kontrol edilmesi için program döngünün

içinde en az bir kere akıyor. Yapısı;

Do

Komutlar

Loop Until Koşul

5)For ... Next

For..Next döngüsünde olay for ve next arasında istenilen miktarda tekrar edilerek döner.

Kullanımı:

For x=a to b step Y

Komutlar

Next x

Burada sayacımız x oluyor. Bu x, a dan b ye kadar Y kadar atlayarak sayıyor. Mesela For x=1 to 10 step 1 gibi bir ifadeyle döngü 1 den 10 a kadar 10 kez dönecektir. Yani yukarıdaki

ifadede x=1 alacak next’e kadar olan komutları yerine getirecek, bir sonraki adımda x=2

alarak next’e kadar olan komutları yerine getirecek, son olarak x=10 alarak next’e kadar olan

komutları yerine getirecek ve döngüden çıkıp artık next’in altındaki komutları yerine

getirmeye başlayacak. Eğer step 2 deseydik x 1,3,5,7,9 değerlerini olacaktı, eğer for x=0 to

10 step 2 deseydik x 0,2,4,6,8,10. Mesela 0 den 10 a kadar olan çift sayıların toplamını bu

şekilde döngü içerisinde yapabiliriz.

Örnek: Sıfır ile 10 arasındaki çift sayıları toplayan çok küçük bir program yazacağız.

Standart.exe olarak açtığınız programa bir tane command buton koyarak çift tıklayın. Çift

tıklayınca project penceresinden command penceresine geçecektir. Bu pencerede şu kodu

- 39 -

Page 40: VISUAL BASIC - ackoc.pau.edu.trackoc.pau.edu.tr/ackoc_dosyalar/VISUAL BASIC_NET.pdf · VISUAL BASIC . Visual Studio Ürünleri . Microsoft firmasının ürünü olan Visual Studio,

yazın ve F5 e basarak programı çalıştırıp command butonunu tıklayın. İçinde 30 yazan bir

Mesaj kutusu elde edeceksiniz.

Private Sub Command1_Click()

For x = 0 To 10 Step 2

a = a + x

Next x

MsgBox a

End Sub

VB'DE ALT SIRALI (İNDİSLİ) DEĞİŞKENLER

Vektör ve matris gibi indislerle ifade edilebilen değişkenler alt sıralı değişken olarak

tanımlanır. Böylece aynı isme ve değişken türüne ait bir değerler dizisi elde edilir.

ALT SIRALI DEĞİŞKENLERİN TANIMLANMASI

VB'de değişkenler, indislerinin alt ve üst sınır değerleri belirtilerek alt sıralı olarak tanımlanır.

Dim a( ) Dim Vektor(1 to 20) as Integer Dim Matris (1 to 3, 1 to 4) as Long

Birinci değişkenin sınırları ve değişken türü belirtilmemiştir. İndislerin sayısı, alt ve üst sınırı

yoktur ve Variant olarak alınacaktır. İkinci değişken bir boyutlu, indis değerleri 1 den 20 ye

kadar değerler alabilen bir sayı dizisidir ve Integer türünde bir alt sıralı değişkendir. Üçüncü

değişken iki boyutludur. Birinci indis 1 den 3 e kadar ikinci indis 1 den 4 e kadar değerler

- 40 -

Page 41: VISUAL BASIC - ackoc.pau.edu.trackoc.pau.edu.tr/ackoc_dosyalar/VISUAL BASIC_NET.pdf · VISUAL BASIC . Visual Studio Ürünleri . Microsoft firmasının ürünü olan Visual Studio,

alabilmektedir. (3 x 4) elemanlı bir matris için kullanılabilir. Matrisin elemanları long değişken

türünde tanımlanmıştır.

Eğer alt sıralı bir değişkenin indislerinin alt ve üst sınırları belirtilmezse o değişken program

içerisinde kullanılmadan önce yeniden tanımlanmalıdır. Buna dinamik alt sıralı değişken

denir. İndislerinin sınırları program içinde değişebilen değişkenler için uygundur. Eğer

indislerin alt ve üst sınırları belirtilmişse programda bu değerlerin dışına çıkamaz. Böyle

değişkenlere statik alt sıralı değişken denir.

Dim A( ) ……………… ……………… i = 10 : j = 100 ReDim A(i to j) ………………

Burada i ve j nin değerleri program içinde değiştirilerek A değişkeninin alt ve üst sınırları farklı

değerler alabilir.

Aşağıdaki programda (10 x 10) luk bir M matrisinin değerlerinin text1 yazı kutusu ile girilmesi,

matrisin tüm elemanların toplanması ve sonucun text2 yazı kutusuna yazdırılması işlemi

yapılmaktadır.

Dim I As Integer, J As Integer Dim M (1 To 10, 1 To 10) As Single For I = 1 To 10 For J = 1 To 10 M ( I , J ) = Val ( text1 . text ) T = T + M ( I , J ) Next J Next I text2 . text = T

Erase Değişken( ) ile alt sıralı bir değişkenin değerleri silinir. Bir değişkenin alt sıralı olup

olmadığı IsArray (değişken) komutu yardımıyla anlaşılır. Eğer değişken indisli ise IsArray

- 41 -

Page 42: VISUAL BASIC - ackoc.pau.edu.trackoc.pau.edu.tr/ackoc_dosyalar/VISUAL BASIC_NET.pdf · VISUAL BASIC . Visual Studio Ürünleri . Microsoft firmasının ürünü olan Visual Studio,

fonksiyonunun değeri True değilse False olur. VB'de en fazla 60 boyutlu değişken

kullanılabilir.

VB DE DOSYA İŞLEMLERİ Bir dosya üzerinde okuma yazma yapılabilmesi için öncelikle o dosyanın açılması gerekir.

Open "Dosya Adı" For Append As # Dosya No

Binary

Input

Output

Random

Dosyaları kapatmak için Close Dosya No

Açılmış olan tüm dosyaları kapatmak için sadece Close komutları kullanılabilir.

Dosyayı bilgisayardan tamamen silmek için Kill Dosya Adı komutu kullanılabilir. Açık olan

bir dosya silinemez önce dosyayı kapatmak gerekir.

Dosya yada dizinlerin isimlerini değiştirmek için;

Name eski dosya veya dizin ismi As yeni dosya veya dizin ismi

Dosyaya yazma işlemi;

Write # Dosya No, Değişkenler veya Print # Dosya No, Değişkenler

ile yapılabilir. Dosyaya yazılacak sayısal değerler Val(Değer) şeklinde tanımlanmalıdır. Aksi

taktirde karakter olarak yazılır.

Dosyadan okuma işlemi;

Input # Dosya No, Değişkenler ile yapılabilir.

- 42 -

Page 43: VISUAL BASIC - ackoc.pau.edu.trackoc.pau.edu.tr/ackoc_dosyalar/VISUAL BASIC_NET.pdf · VISUAL BASIC . Visual Studio Ürünleri . Microsoft firmasının ürünü olan Visual Studio,

- 43 -

RASGELE ERİŞİMLİ DOSYALAR

Buraya kadar incelenenler "sıralı dosyalar" dır. Bunun dışında "rasgele erişimli dosyalar" da

kayıt işlemlerinde kullanılmaktadır. Rasgele erişimli dosyalarda bilgiye daha hızlı

erişilmektedir. Bu tip dosyalarda aynı anda okuma ve yazma işlemi yapılabilir.

Rasgele erişimli dosyalarda değişkenlerin dosya içerisindeki sıralaması

Type veri grubunun adı Değişken1 As Değişken Türü Değişken2 As Değişken Türü Değişken3 As Değişken Türü ………. End Type

komutları yardımıyla belirlenir. Open deyimi ile dosya açılır. Dosya türü Random olarak

seçilir. Dosyaya kayıt Put, dosyadan okuma ise Get deyimleriyle yapılır. Rasgele erişimli

dosyalar yine Close komutu ile kapatılır.