Microsoft Visual Basic Nedir?


Visual Basic bir programlama dilidir. Visual Basic’in bir programın yazılıp calıştırılmasından ote, program geliştirmek icin cok sayıda araca sahip olması; kullanıcı arabiriminin tasarlanması, hataların giderilmesi, veritabanı yaratmak, farklı turde programlar uretmek gibi gelişmiş ozellikleri, onu bir “programlama ortamı” yada “program geliştirme ortamı” olarak tanımlamamıza neden olur.

Visual Basic, cok amaclı ve aynı zamanda kolay bir şekilde program geliştirmenizi sağlayan bir programlama ortamıdır. Visual olmak (gorsellik), simgelerle yapılan iletişimi ifade eder. Visual Basic programlarında ortamın tasarımı oncelikli olarak yapılan işlemdir. Kod yazmak ikincil kalır.

Visual Basic ile kucuk işlemler icin bir program geliştirilebileceği gibi, butun dunyaya uzanabilecek bir internet uygulaması yada buyuk firma duzeyinde kullanılabilecek gelişmiş bir enterprise (kurumsal) uygulaması geliştirilebilir. Orneğin bir cari hesap, stok, satış, imalat vb. uygulamaları, oyun programı vb.

Visual Basic Programının Sahip Olduğu Araclar:

1. Kullanıcı ara birimi geliştirmek icin cok sayıda kontrol,
2. Programı derleme ve hata bulmaya yonelik cok sayıda arac,
3. Değişik veritabanlarına erişim,
4. SQL Server ve diğer enterprise duzeyindeki veritabanlarına erişim,
5. Diğer uygulamaların fonksiyonlarını kullanmayı sağlayan ActiveX teknolojisi,
6. Uygulamanın EXE dosya olarak uretilebilmesi ve dağıtılması,
7. Raporlama aracları,
8. Veri yapısı aracları,
9. Web uygulaması geliştirme aracları,
10. Cok katmanlı programlama ve Microsoft Transaction Server.

Visual Basic’in Ozellikleri


Ozellikle Windows ortamında programlama geliştirme aracı olarak kullanılan Visual Basic, diğer klasik programlama dillerine gore farklı ozelliklere sahiptir. Visual Basic ile program geliştirmek, oncelikle Windows arabiriminin kullanıcı etkileşiminde kullanılan aracların kullanılması anlamına gelir. Klasik programlama dilleri ise genellikle karakter tabanlı (DOS ve UNİX) işletim sistemlerinde kullanılan ozellikle klavye ağırlıklı kullanıcı arabirimine sahiptir. Gelişmiş programlama ortamı olan Visual Basic, Windows uygulaması gibi monulere, duğmelere sahiptir.
Visual Basic sadece standart kontroller sağlamaz. Aynı zamanda cok sayıda ucuncu parti yazılımcıların da hazırladığı kontrolleri de kullanabilir. Bu kontroller satın alınarak kolayca programlara eklenebilirler. Visual Basic, bircok OCX(OLE Control Extensions) kontrol ve ActiveX kontrolleri destekler.


Bir Visual Basic Programının Kısımları


Bir Program Belli Kısımlardan Oluşur:

Kullanıcı Arabirimi Bilgi İşleme (Hesaplamalar) Bilgi Saklama (Veritabanı İşlemleri) Raporlama İşlemleri
Kullanıcı arabirimi bir programın ekranını oluşturur. Diğer bir değişle kullanıcıların bilgi girdiği etkileşimli ekranlardır.



İyi Bir Kullanıcı Arabirimi Geliştirmenin Yontemleri Şunlardır:

Anlaşılabilir, kolay ve cok yonlu kullanılabilir olması, Veriyi net bir bicimde ifade etmeleri, Komutları acıkca sergilemeleri, Monuler, komutlar ve duğmeleriyle programın diğer bolumleriyle uyum icinde olmaları, Monu, arac cubukları, fare ve klavye aracılığıyla kullanılabilir olması.



İyi Bir Programın Nitelikleri


Programlar belli bir işin bilgisayar tarafından yerine getirilmesini sağlarken; programların belirli niteliklere sahip olması gerekir. İyi program niteliklerine sahip olmak, aynı zamanda program geliştirme surecinin de amaclarındandır. İyi bir programın nitelikleri:

Gorsellik Kolaylık Doğruluk Hızlı (yazdığımız programın hızlı calışması) İyi bir belgeleme Kolayca değiştirilebilme, guncellenebilme Etkin bir kodlama Etkin bir işletim (daha az sistem kaynağına gereksinim duyması)
Bunun dışında programın analiz calışmalarının ve kodlarının iyi bir şekilde belgelenmesi gerekir. Belgeleme belli bir sistem icinde bir kitapcık olarak hazırlanmalı ve kod icinde de acıklamalara cok onem verilmelidir. Orneğin; yazdığımız programı daha sonra tekrar acıp geliştirmek istediğimiz zaman acıklama satırlarından neyin nasıl kullanıldığını hatırlayabilmemiz acısından programı yazarken acıklama satırlarını duzenli yazmalıyız…

Project ve Formlar


Yeni bir Visual Basic programına bir proje olarak başlanır. Varsayılan proje turu Standart EXE’ dir. Proje penceresiyle birlikte bir form ekrana gelir. Projenin başlangıc adı Project1, formun başlangıc adı ise Form1’dir. Her Visual Basic uygulamasında bir form bulunur. Form uzerine denetimler ve grafikler eklenerek uygulama geliştirilir. Her bir form aynı zamanda form tasarımının yapıldığı bir alandır. Formlar uygulamanın kullanıcı arabirimini oluşturur. Visual Basic kontrollerinden istenilen kontroller form uzerine fare ile yerleştirilerek uygulamanın arabirimi oluşturulur. Bu arabirim uzerinde metin kutuları (textbox), komut duğmeleri(command buttons) gibi veri işlem elemanları yer alır. Ardından istenilen olaylara gore kodlar yazılarak programın yazılması sağlanır.

Arac Kutusu (Toolbox)


Gorsel programlama ortamlarında gorsel kontrollerin cizilmesi icin zengin bir arac kutusu kullanılır. Visual Basic arac kutusunda programın tasarımı sırasında kullanılmak uzere cok sayıda aracı icerir Bu araclar kontrol (control) olarak adlandırılır. Standart olarak Visual Basic acıldığında ekrana gelen kontroller aşağıda gosterilmiştir. Ayrıca diğer kontrollerden de eklemek isterseniz; toolbox uzerinde farenin sağ tuşuna basarak Component monusunden secebilirsiniz.

Standart Visual Basic Kontrolleri ve İşlevleri

PictureBox
(Resim Kutusu) =Bitmap, Icon, GIF resimlerin gosterilmesini sağlar.
Label(Etiket) =Sadece bilgi vermek yada goruntu olarak form uzerinde durur. Genellikle metin kutularının adlarını gostermek icin kullanılır.
TextBox(Metin Kutusu) =Genellikle veri girişi icin kullanılan bir kontroldur. Hemen hemen butun programlarda kullanıcılardan veri girişi, değiştirme yapması gereken alanlar gerekir. İşte metin kutusunu bu amacla kullanabiliriz...
Frame (Cerceve) =Kontrolleri gruplamak icin kullanılır.
Command Button (Komut Duğmesi)=Bir işlemin başlatılmasını sağlar. Genellikle fare uzerine tıklanarak kullanılır.
CheckBox (İşaret Kutusu)=Bir secim yapmayı sağlar.
OptionBox (Secenek Kutusu)=Secim yapmayı sağlar.
ComboBox (Acılan Kutu)
ListBox (Liste Kutusu) =Bircok elemanı liste biciminde gostermek icin kullanılır
HscrollBar (Yatay Kaydırma Cubuğu)=Yatay olarak kullanılan kaydırma cubuğu
VscrollBar (Dikey Kaydırma Cubuğu)=Dikey olarak kullanılan kaydırma cubuğu
Timer (Zamanlayıcı)=Zamanın takip edilmesini sağlar.
DriveListBox (Surucu Listesi)=Sistemdeki suruculeri listeler.
DirListBox (Dizin Listesi)=Sistemdeki dizinleri (klasorleri) listeler.
FileListBox (Dosya Listesi)=Bir dizin icindeki dosyaları listeler.
Shape (Şekil)=Şekil cizmeyi sağlar.
Line (Cizgi)=Cizgi cizmek icin kullanılır.
Image (İmaj)=Sadece resimleri gostermek icin kullanılır.
Data (Veri)=Verileri gostermek icin kullanılır.

VISUAL BASIC MENULERİ
File Menusu

New Project =Yeni bir projeye başlamayı sağlar.
Open Project=Daha once kaydedilmiş bir projeyi acar.
Add Project=Mevcut projeye yeni projeler ekler.
Remove Project= Projeyi ve elemanlarını ortadan kaldırır.
Save Project Group=Projeleri grup kayıt eder.
Save Project Group As =Projelere yeni ad vererek kaydeder.
Save Form1=Aktif durumdaki formu kaydeder.
Save Form1 As=Aktif durumdaki formu değişik adla kaydeder.
Save Selection=Secili kaydet.
Save Chance Script=Transact-SQL deyimlerinin kayıt edilmesini sağlar.
Print=Form goruntulerinin veya kod sayfalarının yazdırılmasını sağlar.
Print Setup=Yazıcı ayarları.
Make Project1.exe=Projenin EXE dosyası haline getirilmesini sağlar.
Make Project Group=Projeleri bir grup olarak birleştirir.
Exit=Visual Basic’ten cıkış.

Edit Menusu



Undo
Son yapılan işlemi geri alır.
Redo
Geri alınan son işlemi tekrarlar.
Cut
Secili olanları keserek panoya atar.
Copy
Secili olanları kopyalayarak panoya atar.
Paste
Daha once kesilmiş yada kopyalanmış olanları yapıştırır.
Paste Link
Daha once kopyalanmış olanları bağlantılarını oluşturur.
Remove
Secilen elemanları siler.
Delete
Secilen elemanları siler.
Delete table from Database
Tabloyu veritabanından siler.
Select All
Form uzerindeki yada kod penceresindeki butun elemanlar secilir.
Select All Columns
Butun kolonları secer.
Table
Tablo komutlarını gosteren bir alt monu.
Find
Kod penceresinde istenilen bilgiyi bulur.
Find Next
Bir sonrakini bulur.
Replace
Bulunan bir sozcuğu değiştirmeyi sağlar.
Indent
Satırı icerden başlatır.
Outdent
Dışarı alır.
Insert File
Koda bir dosyadan ekleme sağlar
List properties / Methods
Yazılan nesnelerin ozelliklerinin acılan bir liste olarak ekrana getirilmesini sağlar.
List Constants
Bir ozelliğin alacağı değerleri listeler.
Quick Info
Bir deyimin kullanım bicimini gosterir.
Parameter Info
Bir deyimin parametrelerini gosterir.

View Menusu



Code
Kod penceresini goruntuler.
Object
Formu goruntuler.
Definition
Kod.
Last Position
Bir onceki konuma gidilmesini sağlar.
Object Browser
Mevcut proje yada Visual Basic nesnelerinin secilmesini sağlayan gorsel yardımcı.
Immediate Window
Programın kesilmesi yada hata bulunduğunda (Debug durumunda) istenilen değişkenlerin değerlerinin izlenebildiği pencere.
Locals Window
Yine debug durumunda yerel değişkenlerin değerlerinin izlenmesini sağlar
Watch Window
Bir ifadenin durumunun izlenmesini sağlar.
Call Stacks
Cağırılmış ama tamamlanmamış procedure’leri gosterir.
Project Explorer
Proje icinde yer alan elemanlar goruntulenir.
Properties Window
Ozellikler penceresi goruntulenir.
Form Layout Window
Formun ekrandaki goruntusunu gosterir.
Property Pages
Ozellikler tablosunu gosterir.
Table
Veritabanı, query gibi ortamlarda secilen penceresinin acılıp kapanmasını sağlar.
Zoom
Buyutme
Show Panes
Bolumleri goster.
Toolbox
Arac kutusunun goruntulenmesi / goruntulenmemesi sağlanır.
Data View Window
Veri Bakış Penceresi
Color Palette
Form uzerinde renklendirme yapmak icin kullanılan renk paleti ekrana gelir.
Toolbars
Arac cubuklarının goruntulenmesi icin kullanılır.
Visual Component Manager
Gorsel Bileşen Yonetimi

Project Menusu



Add Form
Projeye yeni bir form ekler.
Add MDI Form
Projeye yeni bir MDI form ekler.
Add Module
Projeye yeni bir modul ekler.
Add Class Module
Projeye yeni bir modul ekler.
Add User Control
Projeye yeni bir kullanıcı kontrolu ekler.
Add Property Page
Projeye yeni bir user document ekler.
Add User Document
Projeye yeni bir property ekler.
Add ActiveX Desingner
Projeye yeni bir ActiveX Designer ekler.
Add File
Projeye dosya ekler.
Remove
İstenilen eleman kaldırılır.
References
Ceşitli kutuphanelerin yuklenmesi sağlanır.
Components
Arac kutusuna eklenecek bileşenleri gosterir.

Properties
Projenin ozellikleri duzenlenir.

Format Menusu


Align
Form uzerindeki birden cok elemanın birbirine hizalanmasını sağlar.
Make Same Size
Form uzerindeki birden cok elemanın birbirine gore aynı boyuta getirilmesini sağlar.
Size to Grid
Form uzerindeki elemanların form uzerindeki ızgaraya gore boyutlarını ayarlar.
Horizontal Spacing
Form uzerinde birden cok eleman arasındaki yatay boşluğu ayarlamak icin kullanılır.
Vertical Spacing
Form uzerinde birden cok eleman arasındaki dikey boşluğu ayarlamak icin kullanılır.
Center in Form
Form uzerindeki elemanların forma dikey yada yatay olarak ortalanmasını sağlar.
Order
Form uzerinde ust uste duran elemanların sırasını belirler.
Lock Controls
Form uzerindeki elemanların kilitlenerek yerlerinin oynamamasını sağlar.

Debug Menusu



Step Into
Programın satır satır calışmasını sağlar. F8 tuşu.
Step Over
Programın procedure olarak calışmasını sağlar.
Run to Cursor
Programı bulunulan satıra kadar calıştırır.
Add Watch
Program calışırken değişkenlerin değerlerini kayıt eder ve izlenmesini sağlar.
Edit Watch
İstenilen izleme satırını duzenler.
Quick Watch
Değişkenlerin secildikleri andaki değerleri goruntulenir.
Toggle Breakpoint
Bir satıra kesme noktası işareti vererek programın bu satıra durması sağlanır.
Clear All Breakpoints
Butun kesme noktalarını kaldırır.
Set Next Statements
Bir sonraki Statement’ı kurar.
Show Next Statements
Bir sonraki Statement’ı gosterir.

Run Menusu



Start
Programı calıştırır. F5 tuşu.
Start With Full Compile
Programı derler / calıştırır.
Break
Programı keser.
End
Programı sonlandırır.
Restart
Programı yeniden başlatır.

Query Menusu



Run
Sorguyu calıştırır.
Clear Results
Sorguyu temizler.
Verify SQL Syntax
SQL deyimini denetler.
Group By
Guruplar.
Change Type
Sorgu tipini değiştirir.
Add to Output
Secilen kolonu giriş bilgisine ekler.
Sort Ascending
Artan sırada sıralar.
Sort Descending
Azalan sırada sıralar.
Remove Filter
Filtreyi kaldırır.
Select All Rows From
Butun satırları secer.

Diagram Menusu



New Text Annotation
Metin acıklama ekler.
Set Text Font
Metin yazı tiplerini duzenler.
Add Related Tables
İlişkili tablolar ekler
Show Relationship Labels
İlişki etiketlerini ekler.
Modify Custom View
Ozel gorunumu değiştirir.
View Pages Breaks
Sayfa aralarını (sonlarını) goster.
Recalculate Page Breaks
Sayfa aralarını (sonlarını) yeniden hesaplar.
Arrange Selection
Yeniden duzenler.
Arrange Tables
Tabloları duzenler.
Autosize Selected Tables
Tabloları yeniden boyutlandırır.

Tools Menusu



Add Procedure
Kod penceresinde yeni bir prodecure yaratmak icin kullanılır.
Procedure Attribute
Ozellik ve metotları duzenler.
Menu Editor
Bir monuyu tasarlayan iletişim kutusu.
Options
Visual Basic ortamını duzenlemek icin kullanılır.

Add-Ins Menusu



Visual Data Manager
Veritabanı duzenleme aracı.
Add-In Manager
Ek programları ekleme/kaldırma.


Window Menusu



Tile Horizontally
Yatay doşeme.
Tile Vertical
Dikey doşeme.
Cascade
Basamaklama.
Arrange Icons


Help Menusu



Contents
İcerikler.
Index
İndeks.
Search
Arama.
Technical Support
Teknik destek secenekleri.
Microsoft on the Web
Microsoft ‘un Web sitesine bağlantı.
About Microsoft Visual Basic.
Visual Basic programınız hakkında bilgiler


Matematiksel İşaretler


^
Us alma
*
Carpma

Bolme
\
Tam Bolme (Bolme Sonucunun Tam Kısmını Alır)
+
Toplama
-
Cıkarma
=
Eşittir
< , , >=
Buyuk, Buyuk Eşit

Eşit Değil


İlk Programımızı Yazalım


Bir form acılır. Kod sayfasını acmak icin formun uzerine cift tıklanır, Project Explorer penceresinden View Code tıklanır veya F7 tuşuna basılır.

Bir yordamın başlama ve bitirme deyimleri vardır.

Private Sub Form_Load()

End Sub

Private Sub Form_Load() : Başlama Deyimi
End Sub : Bitirme Deyimidir...

SHOW

Sadece Form_Load yordamında kullanılır ve form yuklendiği anda ekrana yazdığımız yazının gelmesi icin kullanılır.

PRINT

Ekrana sabit bir bilgiyi yazmak icin kullanılır.




ORNEK


Private Sub Form_Load()
Show
FontSize = 16
FontName = "Verdana"
Print "İLKER CAPLI"
FontBold = True
Print "Kodkolik.Com"
FontBold = False
FontItalic = True
Print "Visual Basic Dersleri"
FontItalic = False
ForeColor = RGB(250, 150, 120)
Print "Visual Basic Eğitim Kitabı"
End Sub

NOT : Dikkat edileceği gibi kodlar yordam icerisinde yukarıdan aşağıya doğru ilerler. Yukarıda yapılan bir yazı buyukluğu veya yazının rengi komutu aşağı kodlarda değiştirilmezse aynen uygulanır. Aynı kodları bir Command Butonunun Click yordamına yazarsak baştaki Show komutunu yazmamıza gerek kalmaz. Fakat Form Load olayına yazacaksak eğer Show komutunu kullanmamız gerekir. Aksi takdirde program duzgun calışmayacaktır...

Yazdırdığımız yazıları formumuzun herhangi bir noktasına yazdırabiliriz. Bunun icin kullanılacak deyim TWIP komutudur. Twip komutu aslında Formun bir ozelliği olan Form1.Scalewidth ve Form1.Scaleheight komutlarını kullanarak yapar.

1 inch = 1440 Twip
1 inch = 2,54 cm.
1 Twip = 0,0018 cm.

Şimdi yukarıdaki orneğimize şu satırları ekleyelim.

CurrentX = 1000
CurrentY = 1000

Formun En Ustundeki Mavi Bant Haric Twip Cinsinden Ekran Boyutları Yaklaşık Olarak Aşağıdaki Gibidir:



640 X 480
800 x 600
1024 X 768
Form1.ScaleWidth


9600


12000


16000

Form1.ScaleHeight


7200


9000


12000





DEĞİŞKENLER


Visual Basic program icerisine yazılacak olan değişkenleri tanımlama zorunluluğu vermemektedir, ama buyuk programlarda tanımlanmayan değişkenler bir sorun yaratabilirler. Bunun icin Visual Basic’in tanıdığı değişkenler aşağıda gosterilmiştir. Bir procedure icinde tanımlanan değişkene local (yerel) değişken denir. Bu değişken bu procedure aktif olduğu zaman aktif olur. Bir değişkenin tum modullerde de gecerli kılmak icin değişken tanımı Declarations kesiminde tanımlanır. Bunun icin değişkeni PUBLIC deyimi kullanılarak tanımlamak gerekir. Yerel değişkenleri de STATIC deyimi ile tanımlarsak uygulama boyunca aktif olurlar.

Public (Değişken) As (Değişken Tipi) ‘Yalnız Declarations Kısmında Tanımlanabilir...

Static (Değişken) As (Değişken Tipi)

Dim (Değişken) As (Değişken Tipi)

Değişkenlerin Ozellikleri


Bir harf ile başlar. En cok 255 karakterden oluşur. İşaretler icermez. Yazıldığı yordam icinde tek olmalıdır. Değişken adı olarak Visual Basic in kullandığı herhangi bir kod kullanılamaz. Eğer değişken Declatations yordamına yazılırsa tum procedure icinde gecerli olur.


Değişken Tipi


Veri Tipi


Alabileceği En Buyuk Değer


Boyutu


(Byte)


Değişken Tipi


Karakter

Byte
İşaretsiz Tamsayı
0 - 255
1
Yok
Integer
Tamsayı
&#177; 32.767
2
%
Long
Uzun tamsayı
&#177; 2.147.483.647
4
&
Single
Sayısal Değişken
&#177; 3,4 X 1038
4
!
Double
Sayısal Değişken
&#177; 1,7 X 10308
8
#
Currency
Para Birimi
&#177; 922..337.203.685.447
kuruş bolumunde 4 hane gosterir
8
@
Boolen
Evet-Hayır / Olumlu-Olumsuz

2
Yok
Date
Tarih Formatlarında
01/01/100 – 31/12/9999
8
Yok
String
Sayısal Gecerliliği Olmayan Değişken
65.000 karakter
Her karakter 1 Byte
$
Variant
Sayısal Gecerliliği Olmayan Değişken

16 + Her karakter 1 Byte
Yok
Object
Resim ve imajlar icin kullanılır.

4
Yok



Sabit Değişken


Değişkenlerin aksine sabitler (Constants), sahip oldukları değerler ile kullandığımız bilgi tanımlamalardır. Ozellikle belli değerlerin kullanımını sağlar. Kodlamayı ve kodun okunabilirliğini kolaylaştırır. Bir sabitin uygulama boyunca gecerli olması icin Declarations kesiminde tanımlanmalı ve Const deyiminden once Public deyimi kullanılır.

ORNEK

Const Pi = 3.14159265
Const sayı = 2,5
Const oran = 1,17


STRING


Karakterlerden oluşan veriler String olarak tanımlanır. Orneğin muşteri adı gibi bir bilgi String olarak tanımlanmalıdır. String veriler sayıları icerebilir ancak sayısal işleme giremezler. String değişkenlere değer atamak icin cift tırnak karakteri kullanılır. Bir String değişkene belli bir uzunluk da verilebilir. Bunun icin asteriks (*) karakterinden sonra uzunluk birimi girilir.

Dim Str As String
Str = “İLKER CAPLI”
Dim Adı As String * 10
Adı = “Mevlana Celaleddin Rum&#238;”

ORNEK1


Private Sub Form_Load()
Show
'Print Komutunu Form Load Yordamında Kullanılacaksak Show Komutunu Yazmamız Gerekmektedir...
Dim a As String
Dim b As String
Dim c As String
a = 100
b = 150
c = a + b
Print c
End Sub

ACIKLAMA : Yukarıdaki Kodları Form Load Olayında Kullandığımızda Sonuc Olarak Ekrana 100150 değerini yazacaktır...


NOT : Visual Basic de ‘ (Tek Tırnak) İşaretinden Sonra Yazılan Komutlar Program Tarafından İşlenmez. ‘ (Tek Tırnak) İşareti Visual Basic Programının Acıklama Satırını Oluşturur. Yukarıda; “ 'Print Komutunu Form Load Yordamında Kullanılacaksak Show Komutunu Yazmamız Gerekmektedir...” Satırı Buna Ornektir...

ORNEK2


Private Sub Form_Load()
Show
a$ = 100
b$ = 150
c$ = a + b
Print c
End Sub

ACIKLAMA : Yukarıdaki Kodları Form Load Olayında Kullandığımızda Sonuc Olarak Ekrana Yine 1. Ornekte Olduğu Gibi 100150 Değerini Yazacaktır...

ORNEK3


Private Sub Form_Load()
Show
Dim a As Integer
Dim b As Integer
Dim c As Integer
a = 100
b = 150
c = a + b
Print c
End Sub

ACIKLAMA : Dikkatinizi cekmiştir mutlaka. Bu sefer değişkenleri tanımlarken String yerine Integer olarak tanımladık. Aradaki farkı ise programı calıştırdığınız zaman mutlaka gormuşsunuzdur. Yukarıdaki kodları yazdığımızda programı F5’e basarak calıştırıyoruz ve ekranda 250 sonucunu goruyoruz... a değişkenine 100, b değişkenine 150 değerini ve c değişkenine ise a ile b değişkenlerinin toplamını atıyoruz. Print komutu ile ise c değişkeninin sonucunu ekrana yazdırmış oluyoruz...

ACIKLAMA : Bu kodları yazdığımızda aynı Ornek3’teki sonucu alırız ve Ornek3’teki kodlarla Ornek4’teki kodların birbirinden farkı yoktur. Her ikisi de aynı şeyleri ifade etmektedir...



Bazen programlarımızda değişkenlerin tiplerini değiştirmemiz gerekebilir. Bunun icin aşağıdaki kodlar kullanırız..

DEĞİŞKEN TİPLERİNİ NASIL DEĞİŞTİREBİLİRİZ?


CByte
Değişkeni Byte tipine ceviriri
CInt
Değişkeni İnteger tipine ceviriri
CLng
Değişkeni Long tipine ceviriri
CSng
Değişkeni Single tipine ceviriri
CDbl
Değişkeni Double tipine ceviriri
CCur
Değişkeni Currency tipine ceviriri
CBool
Değişkeni Boolen tipine ceviriri. Bu ozellik pek kullanılmaz.
CDate
Değişkeni Date tipine ceviriri
String
Değişkeni String tipine ceviriri
CVar
Değişkeni Variant tipine ceviriri


Kullanım Şekli


CCur (Değişken adı)

ORNEK


Dim degisken As Single
‘ Diğer Kodlar Araya Girebilir...
degisken = CDbl (degisken)

NOT : Değişken tiplerini cevirirken dikkat edilecek en onemli nokta ozellikle buyuk değişkenlerin kucuklere cevrilmesi sırasında veri kaybının olmaması veya virgullu sayıların tam sayılara donuşturulmesi sırasında oluşabilecek veri kayıplarıdır...

VarType () Fonksiyonu


Tipi belirtilmeyen değişkenlere programın işletimi sırasında Variant değişken tipini alır. VarType fonksiyonu ile Variant bir değişkenin hangi tipte bilgi icerdiği oğrenilir.

VarType (Variant Değişken Adı)



Veri Tipi


Sayısal Değer

Boş – Empty


0

Null


1

Integer


2

Long


3

Single


4

Double


5

Currency


6

Date


7

String


8

Object


9

Error


10

Boolen


11

Variant


12

Data Object


13



ORNEK


Private Sub Command1_Click()
Dim ad
ad = "İLKER CAPLI"
FontSize = 20
ForeColor = RGB(250, 100, 142)
CurrentX = 800
CurrentY = 800
veritipi = VarType(ad)
Print veritipi

ad = 3.254
FontSize = 30
ForeColor = RGB(250, 100, 100)
CurrentX = 800
veritipi = VarType(ad)
Print veritipi
End Sub

Mesaj duğmesinde hangi duğmenin secildiğine ilişkin bir değer dondurduğunu belirlemek icin aşağıdaki tablodaki değerler kullanılır.


Sabit Bilgi



Değeri


Anlamı

VbOK

1

OK duğmesi secilmiş.
vbCancel

2

Cancel duğmesi secilmiş.
vbAbort

3

Abort duğmesi secilmiş.
vbRetry

4

Retry duğmesi secilmiş.
vbIgnore

5

Ignore duğmesi secilmiş.
vbYes

6

Yes duğmesi secilmiş.
vbNo

7

No duğmesi secilmiş.


ORNEK


Private Sub Command1_Click()
Dim a, b, c
a = MsgBox("Değişiklikler Kaydedilsin mi?", vbYesNo + vbCritical + vbDefaultButton2, "MsgBox Fonksiyonu")
c = 10
If a = vbYes Then
b = c * 10
Else
b = c * 2
End If
Print b
End Sub

Sonuc;Yes butonuna basınca 100, No butonuna basınca 20 olur veya,

Dim a, b, c
a = MsgBox("Değişiklikler Kaydedilsin mi?", 4 + vbCritical + vbDefaultButton2, " MsgBox Fonksiyonu")
c = 10
If a = 6 Then
b = c * 10
Else
b = c * 2
End If
Print b

Sonuc; Yes Butonuna Basınca 100, No Butonuna Basınca 20 olur.

InputBox (Bilgi Giriş Kutusu)


Giriş kutusu kullanıcıdan bir değeri almayı sağlar. InputBox fonksiyonu bir iletişim kutusu goruntuleyerek kullanıcının bir değer girmesini sağlar. InpuBox fonksiyonu kullanıcıdan aldığı değeri programa geri dondurur.

Değişken = InputBox (“Mesaj”, Başlık, Varsayım, Xpozisyonu, Ypozisyonu)
ORNEK 1


Private Sub Command1_Click()
Dim ad As String
ad = InputBox("Şehir Adını Giriniz : ?")
Print ad
End Sub

Gorulduğu gibi ekranın tam ortasında bir bilgi giriş ekranı cıktı ve sol ust koşesinde projenin adı yazıyor. Giriş kutusunun adını değiştirmek icin aşağıdaki ornek yazılır.

Sol ust koşesinde bu sefer bizim yazdığımız “Giriş Kutusu Başlığı” yazıyor. Giriş kutusunun uzerinde bazen default olarak bir şey yazmasını isteriz, orneğin şehir adlarını giriyoruz ve en cok girilen şehir İstanbul olduğu icin onun default olmasını isteyebiliriz. Bunun icin aşağıdaki orneğe goz atınız...
ORNEK 2


Private Sub Command1_Click()
Dim ad As String
ad = InputBox("Şehir Adını Giriniz : ?", " Giriş Kutusu Başlığı")
Print ad
End Sub
Eğer aksi bir durum belirtmediysek acılan InputBox kutusu ekranın tam ortasında acılır. Bazen acılan bu kutuları kullanıcıların ekranı daha iyi gorebilmesi icin değişik yerlere koyabiliriz. Bunun icin ise aşağıdaki orneği incelemeniz yeterli olacaktır...
ORNEK 3


İki tane arka arkaya sayı girilerek girilen iki sayının toplamı MsgBox ile bize bildirilsin. MsgBox penceresinde information da olsun.

Private Sub Command1_Click()
Dim a As Integer
Dim b As Integer
Dim c As Integer
Dim d As Integer
a = InputBox("1. sayıyı giriniz")
b = InputBox("2. sayıyı giriniz")
c = a + b
MsgBox("iki sayının toplamı = " & c & ,vbinformation)
End Sub
NOT : MesajBox yazımında kullanılan & (ampersant) işareti girilen değeri mesajbox kutusuna taşır.
DONGULER


If ..... Then ..... Else ...... End If


If deyimi belli bir ifadenin değerine gore bir deyimin işletilmesini sağlar. If deyiminin basitten karmaşığa doğru değişik kalıpları vardır:

1.
If (koşul) Then (işlem)

2.
If (koşul) Then
(işlem1)
Else
(işlem2)
End if

3.
If (koşul1) Then
(işlem1)
ElseIf (koşul2) Then
(işlem2)
Else
(işlem-n)
End if

ORNEK


Bu ornek de 1.vize ,2. vize ve final notları girilecek ve puanı 50’den buyukse MsgBox ile gectiniz değilse butunleme notunu istet ve sonuc yine 50 den kucukse kalsın değilse gecsin.

Dim a As Integer ,b As Integer ,c As Integer, d As Double, e As Double, f As Double, g As Integer, but As Double
a:
a = InputBox("Birinci vize notu giriniz")
If a < 0 Or a > 100 Then
MsgBox ("Lutfen 0 - 100 arasında bir sayı giriniz")
GoTo a
Else
b:
b = InputBox("ikinci vize notu giriniz")
If b < 0 Or b > 100 Then
MsgBox ("Lutfen 0 - 100 arasında bir sayı giriniz")
GoTo b
Else
c:
c = InputBox("Final notunu giriniz")
If c < 0 Or c > 100 Then
MsgBox ("Lutfen 0 - 100 arasında bir sayı giriniz")
GoTo c
Else
d = ((a + b) / 2) * 0.4
e = (c * 0.6) + d
If e > 50 Then
MsgBox ("Gectiniz")
FontBold = True
FontSize = 12
FontName = "tahoma"
ForeColor = RGB(15, 65, 85)
Print "Ortalama Notunuz =" & e
Else

' her if muhakkak end if le kapatılmalı ic ice cok sayıda if konabilir. if tek satırda bitirilebilir.

MsgBox ("Kaldınız")
f:
f = InputBox("Butunleme notunu giriniz")
If f < 0 Or f > 100 Then
MsgBox ("Lutfen 0 - 100 arasında bir sayı giriniz")
GoTo f
Else
but = (f * 0.6) + d
If but > 50 Then
MsgBox ("gectiniz")
Else
MsgBox ("artık sizi kimse kurtaramaz")
End If
Print "Son notunuz ="; but
End If
End If
End If
End If
End If

Select Case

Kullanımı Kalıbı


select case değişken
case
case
end select

ORNEK 1


Klavyede 0 - 5 arasında bir rakam girilecek ve ne girildiğini msgbox la bize gostersin

'Birinci Bolum

Dim a As Integer

a = InputBox("1 - 5 arasında bir sayı giriniz")

Select Case a

Case 1
MsgBox ("girilen sayı 1'dir")
Case 2
MsgBox ("girilen sayı 2'dir")
Case 3
MsgBox ("girilen sayı 3'dur")
Case 4
MsgBox ("girilen sayı 4'dur")
Case 5
MsgBox ("girilen sayı 5'dir")



'ikinci bolum

'mesala 8 rakamini girin

Case Else
MsgBox ("boyle bir sayi girilemez")

'ucuncu bolum

'5-100 arasındaki tum sayılar icin

Case 5 To 100

'yazılır

End Select

For ..... Next


Bir grup deyimi belli sayıda calıştırarak bir dongu oluşturur. Dongu bir kez işledikten sonra artırım değeri eklenir. Eğer herhangi bir artırım değeri kullanılmadıysa o zaman bir arttırılır. Sayac değeri bitiş değerinden buyuk olduğu zaman dongu sona erdirilir ve program Next deyiminden itibaren devam eder.
Dongu değimleri amac değişkenlerin değerlerini belli aralıklarla yaptırmak. Belli aralıklardaki sayıların toplamı , cıkartmak, carpmak

Kalıp


FOR değişken = 1 TO 20
'
'
'
'
NEXT

ORNEK 1 (1’den 10’a Kadar Olan Sayıları Toplatma)


Private Sub Command1_Click()
Dim a As Integer
Dim b As Integer
For a = 1 To 10
b = b + a 'buradaki yeni b= kavramı mat. = değil
Next
Print b
End Sub
ACIKLAMA : Yukarıdaki Orneğimizi Form_Resize Olayına Yazdık. Peki Form_Resize Nedir?
Form_Resize Formun Tekrar Boyutlanma Olayıdır. Yani Form’un Kenarından Tutup Boyutunu Kuculttuğumuzde yada Buyulttuğumuzde Form_Resize Yordamı İcindeki Kodlar Gercekleşecektir.
Form’un Load Olayında Otomatikman Resize Olayı da Uygulanabilmektedir...

Visual Basic ve Cizim Yapmak


Bir form uzerine cizim yapmak icin daha once belirttiğimiz gibi ScaleWidth(X) ve ScaleHeight(Y) koordinatlarından ve twip olcu birimlerinden yararlanacağız. Form uzerinde cizeceğimiz bir noktanın koordinatını belirtirken formun ust sol koşesi (0,0) dır ve X değeri sağa doğru Y değeri ise aşağıya doğru artar. Formun ustundeki mavi bar bu değerler dışındadır.

Line


İstenilen koordinatlar arasında cizgi cizmek veya kutu cizmek icin kullanılır.

KALIP

Line(Xbaslangıc,Ybaslangıc)-(Xbitis,Ybitis),cizgi rengi ,BF

BF = Otomatik kutu yapmak icin kullanılır.
Ornek (Klavye’den Girilen Rakamlarla Kutu Cizmek)


Private Sub Command1_Click()
Dim a, b, c, d, e, f, g
a = InputBox("xbas")
b = InputBox("ybas")
c = InputBox("xbit")
d = InputBox("xbit")
e = InputBox("R rengi icin 255 e kadar bir sayı gir")
f = InputBox("G rengi icin 255 e kadar bir sayı gir")
g = InputBox("B rengi icin 255 e kadar bir sayı gir")
Line (a, b)-(c, d), RGB(e, f, g), BF
End Sub

Circle


İstenilen koordinatlar arasında daire cizmek icin kullanılır.

KALIP

Circle(Xbaslangıc,Ybaslangıc),Yarı cap, cizgi rengi

Ornek


Aslında Circle deyiminin alacağı iki uc parametre daha vardır. 4. parametredeki rakam 0 olursa tam cember 6 olursa da cemberin bir kısmı cizilir. 4. parametre 0-6 arasında değer alabilir.

Private Sub Command1_Click()
DrawWidth = 4
Circle (2500, 2500), 1000, RGB(255, 0, 0), 1 ‘Rakam Değiştirilerek Denemeler Yapabilirsiniz...
End Sub

PSet


Formun herhangi bir noktasına nokta koymak icin kullanılır.

KALIP

PSet (Xbaslangıc,Ybaslangıc), cizgi rengi

Ornek


Private Sub Form_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
If Button = 1 Then
ForeColor = RGB(255, 0, 0) 'Kırmızı
DrawWidth = 3 ‘Cizgi kalınlığı – Bu değeri Değiştirip denemeler yapabilirsiniz...
PSet (x, y)
End If
End Sub
Fonksiyonlar


Fonksiyonlar belli işlemleri yaparlar (orneğin bir sayının kare kokunu almak yada verilen bir tarih bilgisini yıl cinsine cevirmek gibi) ve bir değeri dondururler. Bu nedenle genellikle bir değere eşitlenerek kullanılır.


Abs Fonksiyonu


Bir sayının mutlak değerini bulmak icin kullanılır.
Ornek


Private Sub Command1_Click()
Dim a As Double
Dim b As Double
a = InputBox("Bir Sayı Giriniz")
b = Abs(a)
Print "Girdiğiniz sayının mutlak değeri = "; b
End Sub


Asc Fonksiyonu


Herhangi bir String bilginin ilk karakterine karşılık gelen ASCII kodunun değerini verir.

Ornek


Private Sub Command1_Click()
Dim al
al = Asc("A")
Print al
al = Asc("a")
Print al
al = Asc("ilker")
Print al
End Sub

Chr Fonksiyonu


Asc fonksiyonunun tersidir yani ASCII kodunun karakter olarak karşılığını verir.

Date Fonksiyonu


Sistem Tarihini Gosterir.
DateDiff Fonksiyonu


İki tarih arasındaki surede gecen zamanı belirtir.
Ornek


Private Sub Command1_Click()
Dim tarih As Date
tarih = InputBox("Doğum tarihinizi giriniz", "BAŞLIK", "30/09/1988")
MsgBox ("Siz" & DateDiff("d", Now, tarih) & " Gun Once Doğmuşsunuz")
End Sub

Int Fonksiyonu


Girilen sayıyı yuvarlayarak yazılmasını sağlar.

LCase Fonksiyonu


Yazdığınız bir yazının butun harflerini kucuk harfe cevirir.
Left Fonksiyonu


Soldan istediğimiz kadar karakteri bulmamızı sağlar.

Len Fonksiyonu


Bir bilginin karakter olarak uzunluğunu veya değişken tipinin kapladığı byte alanını verir.
__________________