microsoft visual basic - dicle.edu.tr · visual basic kullanıcıyı tamamen ezberden uzak...

14
Kod Kavramı Kodlar, programa ne yapmasını istediğinizi belirten deyim ve fonksiyonlardır. Visual Basic’in nesneye dayalı bir programlama dili olması, kodların nesnelere bağlı olarak yazılması anlamına gelir. Form ve diğer tüm nesnelerin çeşitli olayları (events) ve metodları (methods) vardır. Bu olay ve metodlara göre kodlar, kod penceresine yazılır. Tüm nesnelere ait kodlar aynı kodlar aynı kod penceresine yazılır. Ancak hangi kodun ne amaçla kullanıldığı “prosedürlerle” belirtilmiştir. bir uygulama içerisinde onlarca prosedür olabilir ve her prosedürün kullanım amacı farklıdır. Prosedürler Sub ve End Sub ifadeleri arasına yazılır ve prosedürler uzun çizgilerle birbirinden ayrılmıştır. Kodlar, prosedür dışında, ancak “declerations” (tanımlar) bölümüne yazılabilir. Declerations kısmı, tanımlamaların yapıldığı kısımdır ve kod penceresinin en üst kısmında yazılır. Olay (Event) Kavramı Prosedürler nesnelere ve olaylara bağlı olarak çalışırlar. Nesneler ve olayları, kod penceresinin üst kısmında açılan kutularda listelenir. 1

Upload: phungmien

Post on 18-Feb-2019

231 views

Category:

Documents


0 download

TRANSCRIPT

Kod Kavramı Kodlar, programa ne yapmasını istediğinizi belirten deyim ve fonksiyonlardır. Visual Basic’in nesneye dayalı bir programlama dili olması, kodların nesnelere bağlı olarak yazılması anlamına gelir. Form ve diğer tüm nesnelerin çeşitli olayları (events) ve metodları (methods) vardır. Bu olay ve metodlara göre kodlar, kod penceresine yazılır. Tüm nesnelere ait kodlar aynı kodlar aynı kod penceresine yazılır. Ancak hangi kodun ne amaçla kullanıldığı “prosedürlerle” belirtilmiştir. bir uygulama içerisinde onlarca prosedür olabilir ve her prosedürün kullanım amacı farklıdır. Prosedürler Sub ve End Sub ifadeleri arasına yazılır ve prosedürler uzun çizgilerle birbirinden ayrılmıştır.

Kodlar, prosedür dışında, ancak “declerations” (tanımlar) bölümüne yazılabilir. Declerations kısmı, tanımlamaların yapıldığı kısımdır ve kod penceresinin en üst kısmında yazılır. Olay (Event) Kavramı Prosedürler nesnelere ve olaylara bağlı olarak çalışırlar. Nesneler ve olayları, kod penceresinin üst kısmında açılan kutularda listelenir.

1

Nesne seçilir. Seçilen nesnenin olayı belirlenir. Kod Penceresinde Önemli Özellikler Visual Basic kullanıcıyı tamamen ezberden uzak tutmaktadır. Kullanıcı herhangi bir kontrol elemanının adını yazıp “.” nokta karakterine basıldığında kursorun bulunduğu noktadan itibaren aşağıya doğru bir liste açılacaktır. Burada tüm elemanların ortak olarak kullanıldığı özellikler ve metodlar yer almaktadır. Kullanılacak özellik bu listeden seçilmek suretiyle program satırına dahil edilir. Bu durum programcıyı bir sürü özelliği kafasında tutma zahmetinden kurtarır. Aşağı doğru açılan listeden istenilen özellik seçilip “=” karakterine basıldığında ilgili özellikle kullanılacak ifade gösterilir.

Bir Formun Olayları Activate Olayı: Formun etkin hale gelmesidir. Run komutuyla uygulama çalıştırıldığında önce form yüklenir, sonra activate olayı gerçekleştirilir. Load olayı formun yüklenmesi olayıdır. Deactivate Olayı: Formun etkin halini kaybetmesi olayıdır. Örneğin, çalışma alanında iki form bulunuyor. Birinci üzerindeki bir butondan ikinci form çağırıldığı zaman, ikinci form activate, birinci form ise deactivate olur. Windows ile çalışırken defalarca activate ve deactivate olayları gerçekleşir. Load Olayı: Formun yüklenmesi olayıdır. Form ekranda görüntülenmeden önce üzerinde yapmak istediğiniz düzenlemeleri form_load prosedürüne yazabilirsiniz. Unload Olayı: Load olayının tersidir. Uygulama içinde işi biten formlar, fazla bellek kullanımını engellemek için unload edilir. Clik ve DblClick Olayları: Bir form üzerine tıklanması olayıdır. Ancak bir form üzerine tıklamak sık rastlanan bir olay olmadığı için Click ve DblClick olayları nadiren kullanılır. Click olayınıu en sık kullanıldığı nesne doğal olarak butonlardır. MouseMove, MouseUp ve MouseDown Olayları:MouseMove olayı, mouse form üzerinde hareket ettirildiğinde gerçekleşir. MouseDown olayı mouse bir butona basıldığı an gerçekleşir. Buton bırakıldığı anda ise Mouseup olayı gerçekleşir.

Form Metodları Metodlar, nesnelere doğrudan yaptırmak istediğimiz işleri belirtmek için kullanılır. en sık kullanılan metodlar şunlardır: Show Metodu: Formun ekranda förüntülenmesini sağlar. Metod ile nesne ismi arasına nokta işareti (.) konur. Dizilim: Form ismi.Show Örnek: Form1.Show

2

Cls Metodu:Form üzerindeki yazıların temizlenmesini sağlar. Dizilim: Form ismi.Cls Örnek: Form1.Cls Hide Metodu: Formun görüntüsünü ekrandan kaldırır, formu saklar. Hide metoduyla saklanan form arka planda çalışmasına devam eder. Dizilim: Form ismi.Hide Örnek: Form1.Hide Unload Metodu: Uygulama içinde işi biten formları uygulamadan çıkartır. Dizilim:Unload nesne ismi Örnek: Unload FrmMerhaba

Unload Me

Modüller Modüller, çeşitli prosedürleri içeren ve birçok uygulama ile birlikte kullanılabilen bağımsız dosyalardır. BAS uzantılı her modül, herhangi bir uygulamaya eklenerek o uygulama içerisinde çalıştırılabilir. Modüller sadece prosedürleri barındırma görevi yapar. Formlar gibi arabirim elemanı değildir. Şimdi çalışma alanına bir modül ekleyerek, modüllerin kullanımını inceleyelim.

Files,New Project komutu ile yani bir çalışma alanı oluşturun. Project, Add Module seçeneği ile çalışma alanına bir modül ekleyiniz.

Ekranda görülen sadece bir kod penceresidir, herhangi bir arabirim nesnesi yoktur. Modülleri birçok prosedürü barındıran bir alt program gibi düşünebilirsiniz. Uygulamada diğer formlardan çağırılarak kullanılan alt programlara benzerler.

Modüllerin Çağırılması Modül içindeki bir prosedürün, bir formdan çağırılarak kullanılması Call deyimiyle olur. Form içerisinde, çağırılacak prosedürün ismi ve hangi modül içerisinde olduğu belirtilir. Çağırılan prosedürün işi bittiğinde forma geri dönülür. Aşağıdaki örnek prosedürde, modreset isimli bir modül içerisinde, reset isimli bir prosedür Call deyimi ile çağırılıyor. Private Sub Mnusaatfiyat_Click( ) saatucreti=InputBox(“saat ücreti:”, “s.ücret”, “ “) Txtsaatücreti= “ “ & saatücteri If saatureti<50000 Or saatucreti>3000000 Then MsgBox “geçersiz veri”, 16, “hata!” Call Modreset.Reset Saatucreti=200000

3

End If Call Modreset.Reset

Çağırma deyimi Modül ismi Prosedür ismi

SABİTLER, DEĞİŞKENLER VE OPERATÖRLER

Sabit ve Değişken Kavramları

Sabitler Sabitler, değeri program boyunca herhangi bir şekilde değişmeyen her türlü veridir. Örneğin “19” ve “genç” değerleri birer sayısal ve string sabittir. İfade ettikleri anlamlar program boyunca değişmez. Örnek: ogrencino=11529 A=523 BS=”Ankara” Dizilimde görülen 11529, 523 ve Ankara ifadeleri birer sabittir. Bu sabitlerin atandığı ifadeler ise değişkendir. B$=”Ankara” Sabit Değişken ismi Sabit Türleri Uygulamalarda kullanılacak sabitler, kullanılacakları form ve prosedürlere gmre, ya prosedür içerisinde ya da formun bildiriler kısmında tanımlanır. Tanımlama işlemi const deyimi ile yapılır. Örnek: Const Alan=99 Const r=10 Const isim$=”Ali” Sabitler genellikle değişkenlere atanarak kullanılırlar. Değişkenlerin türleri, değişkene atanacak sabitin türüne göre belirlenir. String Sabitler: Karakter (string) ifadelerden oluşan sabitlerdir. Çift tırnak (“ “) içinde yazılırlar. 1 karakter 1 byte’lık (8 bit) alan kaplar. Örnek: “e889” “ezgi” “5,14” Sayısal Sabitler: Tüm sayısal ifadelerdir. Tırnak içinde yazılmadan değişkenlere atanırlar. Tırnak içinde yazıldıklarında string sabit gibi işlem görürler. Sayısal sabit çeşitleri şöyledir:

Tam sayı sabitleri (integer): 16 bit tam sayı. –32768 ile +32767 arasında değerler alabilir. % karakteri ile gösterilir.

Uzun Tam sayı sabitleri (Long):32 bit tam sayı. Yaklaşık 2± milyar 147 milyona kadar değer alabilir. & karakteri ile gösterilir.

Tek incelikli sayısal sabitler (Single): Toplam 32 bitlik ondalık sayı. ! karakteri ile simgelenir.

Çift ncelikli sayısal sabitler (Double): 64 bit ondalik sayı. # karakteri ile simgelenir. 15 basamağa kadar değer alabilir.

Currency: Para ile ilgili işlemlerde kullanılır. 64 bit’lik alan kaplar. Sembolü @ işaretidir.

4

Boolean Sabiti: True (doğru) veya False (yanlış) olabilir. İki durumdan birinin geçerli olabileceği durumlarda kullanılır. örneğin bir formun görüntülenip görüntülenmeyeceği form1.visible=False dizilimi ile belirlenir. Bu dizilime göre form görüntülenmeyecektir. Byte Sabiti: 0-255 değerleri arasındaki pozitif tam sayılar için kullanılırlar. 8 bit’lik (1 Byte) sayılardır. Date Sabiti: Tarih ve zaman değerleri Date tipi sabittir. 64 bit’lik yer kaplar. 1/1/100’den 12/31/9999’a kadar değer alabilir. Variant Sabiti: Diğer tüm sabit türlerini içeren özel bir türdür. Diğer bir deyişle variant türü bir sabit string, sayısal veya date türü bir değer içerebilir. Kullanılacak sabitin tipinden emin olunmadığı zamanlarda variant tipi sabit kullanılır.

Değişkenler Değişkenler, değeri kullanıcı tarafından belirlenen ve program içinde farklı değerler alabilen ifadelerdir. Örnek: katsayi=17 ID$=”mk8785” Değşken Sabit Örnekte geçen katsayı ve ID$ ifadeleri birer değişkendir. Bu değişkenlere sırasıyla 23 ve mk8785 sabitleri atanmıştır. Visual Basic’te çeşitli değişken tipleri vardır. Bir değişkenin türü, o değişkenie atanacak sabite göre belirlenir. Örneğin “tarihler” isimli bir değişken, uygulama boyunca çeşitli tarih bilgileri barındıracaksa (örneğin 07/02/1980 vb... gibi) date tipi sabit içerecek demektir. Buna göre değişkenin tipi de date olarak belirlenir. Aynı şekilde string tipi sabitler içerecek nir değişken de string değişken olarak adlandırılır ve bu şekilde tanımlanır. Program boyunca değişkenlere tanımlandığı türün dışında bir sabit atanamaz. Örneğin integer olarak tanımlanmış bir değişkene 32 birlik bir sayı veya herhangi bir karakter atanamaz. Değişkenler şu şekilde tanımlanır. Değişkenlerin Tanımlanması Uygulama boyunca kullanılacak değişkenler, formların declerations (bildiriler) kısmında tanımlanır. Visual Basic, tanımlama işlemini zorunlu kılmaz; ancak bu tanımlamaların yapılmaması birçok soruna yol açabilir. Özellikle birçok form ve modülün kullanıldığı uzun çalışmalarda, uygulama boyunca kullanılacak değişkenlerin tanımlanması çok önemlidir. Bir uygulamada onlarca sabit ve değişken kullanılır. bu değişkenler tanımlanmadığında, kodlama sırasında değişkenlerin birbirine karışması, bir değişkenin yanlışlıkla diğerinin yerine kullanılması, değişkenler takip edilemediği için oluşan hataların giderilememesi gibi bir sorunla karşılaşılabilir. Bu yüzden programda kullanılacak tüm değişkenler önceden tanımlanır.

Tools > Options > Editor > Require Variable Declaration seçeneği seçili değil ise Visual Basic içerisinde tanımlanmayan değişkenler Variant tip olarak kullanılır. Seçili ise tüm değişkenlerin deklare edilmesi zorunluluğu getirilmiş olur. Ayrıca Form yada Modülün

5

(General)(Declaration) kısmına Option Explicit yazıldığında tanımlanmamış değişkenler kabul edilmeyecektir. Variant tip değişkenler gereksiz hafıza kullanımına neden olur. Option Explicit Deyimi uygulama boyunca kullanılacak değişkenlerin tanımlanmasını zorunlu kılar. Bunun için programın declerations (bildiriler) bölümüne Option Explicit ifadesi eklenir. Option Explicit deyimi ile değişkenleri tanımlanması zorunlu hale getirildiği halde değişkenler tanımlanmadan kullanılırsa hata mesajı ile karşılaşılır. Böylece değişkenlerin tanımlanması zorunlu olur. Form (General)(Declaration) bölümünde tanımlanan değişkenler o forma ait alt yordamlarda, modül (General)(Declaration) bölümünde tanımlanan değişkenler ise o modüle ait alt yordamlarda kullanılır. Form, Module ya da Class bünyesinde değişken ve tip tanımlamaların bulunduğu kısım 64 KB'tan uzun olamaz. Dim ile değişken tanımlama : Bir form yada bir yordam içerisinde kullanılacak değişkenlerin tanımlanmasında kullanılır. Dim Ad As String * 12 ‘ Ad değişkeni String olarak saklanır

12 karakterlik yer ayrılır Dim Yas As Integer ‘ Yas değişkeni Integer olarak saklanır Dim İlk ‘ İlk değişkeni Variant olarak saklanır Dim İlk As String, Son As String Dim İlk, Son, Orta As String ‘ İlk, Son değişkeni Variant

Orta değişkeni String Dim ButonYeni As CommandButton ‘ Yeni bir denetim tanımlamak

Değişkenler dim deyimi ile tanımlanır. Değişken türü as parametresi ile dim satırında belirtilir. Dizilim: Dim değişken ismi As değişken tipi Örnek: Dim kimlikno As Long Dim isim As String Dim statu As Boolean Dim yas As Integer

Değişkenlere İsim Verme Kuralları Uzunluk 255 karaktere kadardır İlk karakter bir harf olmalıdır Sonraki karakterler, harf, rakam ya da alt çizgi (_) sembolü olabilir Harflerin büyük yada küçük harf olmasının önemi yoktur İçerisinde +, - , boşluk , /, … gibi karakterler bulunmamalıdır Akılda kalabilecek anlamlı isimler olmadır

6

Visual basic’te kodlar prosedürler halinde yazılır. Değişkenlerin hangi prosedürler için geçerli olacağı, hangileri için geçerli olmayacağı önemlidir. Örneğin, bir prosedür içinde tanımlanan bir değişken, aynı form içinde diğer bir prosedür tarafından kullanılamaz. UYGULAMA 4 Bu uygulamada, bir prosedür içinde tanımlanan değişkenin aynı form üzerindeki diğer bir prosedür içerisinde kullanılamayacağını göstereceğiz. Yeni bir çalışma alanı oluşturun. Form üzerine iki buton ekleyin (Command1 ve Command2). Command1 butonuna : Private Sub Command1_Click ( ) Dim a As Integer a=99 End Sub Command2 butonuna: Private Sub Command2_Click ( ) Print a End Sub Program çalıştırılıp command1 butonuna tıklandığında, Dim a As Integer satırı ile bir a değişkeni tanımlanır ve bu değişkene 99 sabiti atanır. Ancak birinci prosedür içinde tanımlanan bu değer, ikinci prosedüre aktarılmaz ve command2 butonu tıklandığında, bir önceki prosedürde a değişkenine atanan değer, print deyimi ile ekrana yazdırılmaz. Bir değişkenin bir form içerisindeki tüm prosedürlerde kullanılabilmesi için, değişkenin formun declerations kısmında tanımlanması gerekir. şimdi aynı örneği, a değişkenini declerations kısmında tanımlayarak yapalım.

Aynı örnekte, command1 butonunun prosedüründe yer alan Dim a As Integer satırını silin ve bu satırı aynı formun declerations kısmına ekleyin.

formun declerations kısmında Dim a As Integer satırı ile tanımlanan a değişkeni artık form içindeki tüm prosedürlerde kullanılabilir.

Global ile değişken tanımlama : Modül düzeyinde tanımlama. Projenin tamamında kullanılabilir. Global Sehir As String Global Nufus As Double Private ile değişken tanımlama : Form ve modül düzeyinde tanımlama. Tanımlı olduğu form ya da modül içerisinde kullanılabilir. Private Sehir As String Public ile değişken tanımlama : Modül düzeyinde tanımlama. Public Sehir As String

7

Static değişken tanımlama : Alt yordamlar içerisinde deklare edilen yerel değişkenlerin; almış oldukları değerlerin alt yordamın tekrar çağrılmasında korunmasını sağlamak için kullanılır. Bir yordam Static olarak tanımlanırsa içerisindeki tüm değişkenler Static olur. Static GecenOgrenciSayısı As Integer Static Function Toplam ( AA As Integer, BB As Integer ) Dizi değişken tanımlama : Bir bilgi birden fazla değer taşıyorsa bu bilginin tanımlanmasında kullanılır. Dizi değişkenlerin 0 ‘dan değil 1 ‘den başlamasını isteniyorsa (General)(Declaration) kısmına Option Base 1 yazıldığında değişkenler 1’ den başlayacaktır. Diziler alt yordamlarda argüman olarak kullanılabilir.ü Dim Oda_No( ) As Integer ‘ Dinamik dizi Dim Oda_No(255) As Integer ‘ Statik dizi 256 Integer içerir Dim Oda(100) As String ‘ 0 ile 100 arasında sınırlı Dim Not(25 To 50) As Integer ‘ 25 ile 50 arasında sınırlı

Çok boyutlu dizi değişkenlerin tanımlanması Dim Boyut(1 To 2, 1 To 3) Dizi elemanları Boyut(1,1) Boyut(1,2) Boyut(1,3)

Boyut(2,1) Boyut(2,2) Boyut(2,3) ReDim ile dizilerin boyutunu değiştirme : Dinamik bir dizinin boyutunu belirler. Alt yordam içerisinde kullanılır. ReDim ile dinamik olarak açılan dizilerin isleri bitince Erase komutu ile silinmesi kullanılan belleği azaltır. Preserve deyimi ile yeni boyutlandırma yapılırken eski bilgiler saklanır. Bu şekilde boyut değiştirmede dizinin sadece son boyutu değiştirilebilir. Dim Arrayy() ‘ Dinamik bir dizi ReDim Arrayy(120,120) ‘ Dizi yeniden boyutlandırılıyor ReDim Arrayy(12,12) ‘ Dizinin boyutu küçültülüyor ReDim Preserve Arrayy(12,14) ‘ Önceki değerler saklanarak dizi boyutu

artırılıyor Erase ile dizilerin silinmesi : Bir veya daha fazla diziyi siler. Dinamik dizilerde ayrılan hafıza serbest kalırken statik dizilerde alan saklanır. Erase Arrayy () ‘ Dizi ve bilgilerini siler Def ile değişken tanımlama : Değişken adının ilk karakterine göre tanımlama yapılmasını bir harf yada harf aralığı belirterek sağlar. Form ve modüllerin (General)(Declaration) kısmında kullanılır. DefStr String DefInt Integer DefLng Long DefSgn Single DefDbl Double DefCur Currency DefVar Variant DefBool Boolean

8

DefByte Byte DefDate Date DefObj Object DefStr A ‘ A ile başlayan değişkenler String DefInt M-R ‘ M - R aralığındaki harfler ile başlayan değişkenler Integer Const : Bunlar program içinde değeri değiştirilemeyen sabitlerdir. Visual Basic içinde tanımlanmış sabitleri mönüden Add-Ins > Add_Ins Manager ile API Viewer çalıştırılarak WIN32API.TXT dosyasından okunabilir. Const SbtVar = 3326

Public Const SbtString = "Merhaba" Private Const SbtInt As Integer = 2

Declare ile API fonksiyonlarını tanımlamak : DLL ‘ler içerisinde bulunan API fonksiyonları program içerisinde kullanılmadan önce declare ile (General)(Declaration) kısmında tanımlanırlar.

Declare Sub GetSystemInfo Lib “Kernel32” (lpSystemInfo As SYSTEM_INFO) Declare Function GetMenu Lib “User32” (ByVal hnwd As Long) As Long

Enum ... End Enum : Enumerated tip yani numaralandırılmış birkaç değer alabilen veri tiplerinin tanımlandırılmasında kullanılır. Properties penceresi içerisinde listelenir.

Enum Hiza ‘ Numaralanmış hiza tanımlaması [Sola Dayalı] ‘ 0 değeri [Ortada] ‘ 1 değeri [Sağa Dayalı] ‘ 2 değeri End Enum

Set ile bir nesne değişkenine değer atamak : Bir kontrolü değişkene atayarak kontrol üzerinde işlem yapılabilmesini sağlar.

Set TKutu = Text1 TKutu.Text = “Deneme”

Nümerik değişkenler ilk kullanıldıklarında sıfır değeri alır Variant değişkenler ilk oluşturulduklarında boştur Single değişkenler 7 hane duyarlıdır sonrası yuvarlatılır Variant değişken değişkenler içerisinde en yavaş olanıdır Döngü sayaçları için Long ya da Variant yerine integer kullanmak programı

hızlandır Integer bir değişkene kesirli sayılar tam sayıya dönüştürülerek atanır Tarih bilgileri “#” arasında verilir

9

Değişkenler ( Variables )

Tür Tanımlama Sembol Byte Değer Aralığı

Integer DefInt % 2 -32,768 ‘den 32,767 ‘ye kadar

Long DefLng & 4 -2,147,483,648 ‘den 2,147,483,648 ‘e kadar

Single Pozitif DefSgn ! 4 1,401298E-45 ‘den

3,402823E38 ‘e kadar Single Negatif DefSgn -3,402823E38 ‘den

-1,401298E-45 ‘e kadar

Double Pozitif DefDbl # 8

4,940656458412447E-324 ‘den1,79769313486232E308 ‘e kadar

Double Negatif DefDbl

-1,79769313486232E308 ‘den -4,940656458412447E-324 ‘e kadar

Currency DefCur @ 8

-922,337,203,685,477.5808 ‘den 922,337,203,685,477.5807 ‘e kadar

String DefStr $ Değişken 0 – 65,535 karakter ( 16 bit ) 1 – 2,000,000,000 ( 32 bit ) karakter

Boolean DefBool 2 True / False değerlerinden birisi

Byte DefByte 2 0 – 255 arası bir tam sayı

Date DefDate 8 01.01.100 – 31.12.9999 arası

Variant DefVar 16’dan Büyük

Tarih ya da yukarıdakilerden birisi

Operatörler Visual Basic operatörlerini; matematiksel işlem operatörleri, ilişki operatörleri ve mantıksal operatörler olarak üç sınıfta inceleyebiliriz. Matematiksel İşlem Operatörleri: Toplama, çıkarma, üs alma gibi işlemleri kapsayan matematiksel işlemler için kullanılır.

Operatör İşlem + Toplama işlemi - Çıkarma İşlemi * Çarpma İşlemi / Bölme İşlemi \ Tam Sayılı Bölme ^ Üs Alma ( ) Parantez İçindeki İşlemler

10

Tam sayılı bölme işlemi “\” işareti ile gerçekleştirilir. Bu işaret kullanılarak yapılan bölme işlemlerinde sonucun sadece tam sayı kısmı alınır. Parantez, işlemin hangi sıraya göre yapılacağını belirtir. Birçok matematiksel işlemin kullanıldığı hesaplamalarda önce parantez içindeki hesaplamalar yapılır. Parantezin bulunmadığı işlemlerde öncelik sırası; üs alma, çarpma-bölme ve toplama-çıkarma şeklindedir. Öncelikli işlem yok ise hesaplama soldan sağa doğru gerçekleştirilir. Basit gibi görünen bu tür matematiksel işlemlerde, ufak bir ayrıntının göz ardı edilmesi, tüm programın işleyişini etkileyecek ve hataların oluşmasına neden olacaktır. Bu yüzden kodlama işlemi çok dikkatli yapılmalıdır. + (toplama) işareti sayısal ifadeler yerine string değerler ile kullanılırsa “birleştirme” işlevi görür. Örneğin “Pınar” ve “Yılmaz” string değerleri + operatörü ile birleştirildiğinde; “Pınar”+ “Yılmaz” sonuç Pınar Yılmaz ifadesi olacaktır. Aynı şekilde string ifade gibi kullanılan sayısal değerler de + işareti ile toplanmaz, birleştirilir. Bu durumda “1” + “9” işleminin sonucu 10 değil, 19 olacaktır. İlişki Operatörleri: iki değerin karşılaştırılmasında kullanılır. bu karşılaştırmanın sonucuna göre program yönlendirilir.

Operatör Durum Yazımı = Eşitlik a=b >< Eşitsizlik a><b <> Eşitsizlik a<>b < Küçüktür a<b > Büyüktür a>b <= veya =< Küçük eşit a<=b veya a=<b >= veya => Büyük eşit a>=b veya a=>b

İki değer arasında bir karşılaştırma yapıldığında karşılaştırmanın sonucu true (doğru) veya false (yanlış) olur. Doğru sonuçlar için 1, yanlış sonuçlar için 0 değeri oluşturulur. Buna göre 2>9 ve 9>2 işlemlerinin sonucu false, 9>2 ve2<9 işlemlerinin sonucu true olacaktır. Oluşturulan bu değerler, bir değişkene atanarak kullanılabilir. Sayısal değerlerin dışında, string değerler de karşılaştırılabilir. String değerlerin karşılaştırılması like operatörü ile yapılır. sonuc=Text1.Text Like Text2.Text Print sonuç Bu dizilime göre, eğer text1 ve text2 metin kutularının içerdiği veriler eşitse sonuç değeri true, eşit değilse false olur. Küçük harf-büyük harf duyarlılığını kaldırmak için karşılaştıma biçimi karakterlerin text özelliğine göre yapılır. Bu durumda formun declerations bölümüne, Option Compare Text ifadesi eklenir. Bu ifade kullanıldığında A ve a değerleri birbirine eşit olur. Option Compare Text Sonuc=”A” Like “a” Print sonuc Dizilim True değeri oluşturur.

11

Joker Kullanımı: * (yıldız) ve ?(soru işareti) karakterleri, like operatörü ile joker olarak kullanılabilir. ? karakteri bir, * karakteri ise birden fazla karakter yerine kullanılır. Örneğin; “Genc” Like “Ge?c” diziliminin sonucu True olur. Benzer şekilde * karakteri birden fazla karakter yerine kullanılabilir. Örneğin; “Seda” Like “S*” dizilimi True değerini verir. Mantıksal Operatörler: Birden fazla karşılaştırmayı aynı anda yapmak için kullanılır. en sık kullanılan mantıksal operatörler Or (Veya), And (Ve) ve Not (Değil) operatörleridir. Bu operatörlerle yapılan karşılaştırmaların sonuçları da true veya false olarak belirlenir. If sonuc <18 Or sonuc>55 Then... Bu dizilime göre sonuc değişkeni 18’den küçük veya 55’ten büyük olduğunda Then parametresinden sonraki deyim yorumlanacaktır. If sonuc1 >18 And sonuc2 <55 Then... Bu dizilim ise sonuc1 değişkeninin değerinin 18’den büyük olmasını ve sonuc2 değişkeninin değerinin 55’ten küçük olmasını şart koşuyor. Bu durum sağlanırsa Then parametresinden sonraki deyimler yorumlanacaktır. If Not Text1.Text= “” Then... Bu dizilim, text1 isimli metin kutusunun dolu olmasını şart koşar. Aşağıda bu operatörlerin doğruluk tabloları verilmiştir: Not Operatörü:

Değer Operatör Sonuç 1 Not 0 0 Not 1

Or Operatörü:

1.değer 2.değer Operatör Sonuç 1 1 OR 1 1 0 OR 1 0 1 OR 1 0 0 OR 0

And Operatörü:

1.değer 2.değer Operatör Sonuç 1 1 AND 1 1 0 AND 0 0 1 AND 0 0 0 AND 0

12

UYGULAMA 5 Verilen iki sayı ile toplama, çıkarma, çarpma ve bölme işlemlerini yapan bir Visual Basic programı oluşturalım. Bunun için öncelikle form penceresinde Sayı girişi, Toplama, Çıkarma, Çarpma ve Bölme işlemleri için birer komut düğmesi ekliyoruz. Form penceresinin görünüşü şu şekilde olacaktır:

Sayı girişi komut düğmesine 1. ve 2. sayıların yazılmasını sağlayan yapılar eklemek gerekecektir. Oluşturulan programa ait kodlar aşağıdaki gibidir: Dim s1, s2 As Integer Dim secim As Byte Dim sonuc As Single Private Sub Command1_Click() s1 = Val(InputBox("1. sayı")) s2 = Val(InputBox("2. sayı")) End Sub Private Sub Command2_Click() secim = 1 result End Sub Private Sub Command3_Click() secim = 2 result End Sub Private Sub Command4_Click() secim = 3 result End Sub Private Sub Command5_Click() secim = 4 result End Sub Sub result() If secim = 1 Then sonuc = s1 + s2

13

ElseIf secim = 2 Then sonuc = s1 - s2 ElseIf secim = 3 Then sonuc = s1 * s2 Else sonuc = s1 / s2 End If MsgBox "Sonuc = " & sonuc End Sub Kodlar doğru olarak yazıldıktan sonra Run→Start komutu ile program çalıştırılır.

14