Upload
ermin
View
34
Download
0
Embed Size (px)
DESCRIPTION
3. DEĞİŞKENLER. Değişkenlerin kullanım ve tanımlanma şekli, o dilde program yapmayı ve programların anlaşılırlığını etkileyen önemli faktörlerden biridir. Değişkenler program içinde yer alan geçici veri alanlarını temsil ederler. - PowerPoint PPT Presentation
Citation preview
3. DEĞİŞKENLER3. DEĞİŞKENLER
• Değişkenlerin kullanım ve tanımlanma şekli, o dilde program
yapmayı ve programların anlaşılırlığını etkileyen önemli
faktörlerden biridir.
• Değişkenler program içinde yer alan geçici veri alanlarını temsil
ederler.
• Değişkenin tanımlanması hafızada ayrılacak hafıza miktarının
belirli olmasını sağlar.
• Değişkenlerin mutlaka bir adı ve tipi vardır.
• Bir değişken kullanılmadan önce tanımlanır. Bu tanımlama
değişken kapsamına göre yapılır.
• VB’de değişkenleri kullanmadan önce tanımlama mecburiyeti
programcının seçimine bırakılmıştır.
Değişken adlandırılmasıyla ilişkin kurallar:
• Bir harf ile başlamalıdır.
• Nokta içermezler.
• 255 karekterden fazla olmazlar. ( Kontrol adları, form adları, class
ve modül adları 40 karekteri geçmez)
• Bir Visual Basic deyimi adlandırmada kullanılmaz.
• Kapsama alanı içinde tek olmalıdır.
Dim Değişken As VeriTipi Tanımlama :
Tam SayıOndalıklı SayıTarihKarakterMantıksal
VERİ TİPLERİVERİ TİPLERİ
Integer Long Single Double Currency Date
String
Boolean
Byte
Variant
Örnek:
Eğer değişkene bir değer atanmazsa değişkenin içeriği sıfır veya “ ” olur.
Private Sub Form_Load()
End Sub
Dim Ad As String
Dim Maas As Currency
Dim D_tarihi As Date
Dim Adres As String
Dim Sira As Integer
Integer
• Visual Basic’te tam sayı değişkenler için veri tipidir.
• Aralık : –32768 ile +32767.
• Bellekte 2 byte yer kaplarlar.
Private Sub Form_Load()
Dim A As Integer, B As Integer, C As Integer, Maas As Integer
Oran% = 100
A = 100
B = Oran*A
C = B + A – 1000
Maas= 32767
End Sub
Örnek:
DefInt veya degişken sonuna % karakteri ileVeri tanımlama:
Long
• Visual Basic’te daha büyük tam sayı değişkenler için veri tipidir.
• Aralık : -2,147,483,648 ile +2,147,483,647.
• 4 byte yer kaplarlar.
Private Sub Form_Load()
Dim a As Long
a=50000
b&=600000
c& = (b /a) * 10000
End Sub
Örnek:
DefLng veya degişken sonuna & karakteri ileVeri tanımlama:
Single
• Tam sayı olmayan sayılar bir veri tipidir. Kayan-noktalı sayı olarak
isimlendirilir. 7 haneye kadar hassastır. Daha sonrası yuvarlatılır.
• Negatif sayılar için aralık: -3.402823E38 ile –1.401298E-45.
• Pozitif sayılar için aralık: 1.401298E-45 ile 3.402823E38.
• 4 byte yer kaplarlar.
Private Sub Form_Load()
Dim pi As Single
pi=3.1415
alan!=pi*2.25*2.25
End Sub
Örnek:
DefSng veya degişken sonuna ! karakteri ileVeri tanımlama:
Double
• En büyük sayısal degerin veri tipidir. 16 haneye kadar hassastır.
• Negatif sayılar için aralık: -1.797693134862232E308
-4.94065645841247E-324
• Pozitif sayılar için aralık : 4.94065645841247E-324
1.797693134862232E308
• Hafızada 8 byte yer kaplarlar.
Private Sub Form_Load()
Dim a1 As Double, b1 As Double, c1 As Double
a1=50000
b1=600000
c1=340.56
End Sub
DefDbl veya degişken sonuna # karakteri ileVeri tanımlama:
Örnek:
Currency
• Sayısal tipdeki veriler için tanımlanmış özel bir veri tipidir.
• 4 hane ondalık kısmı olmak üzere toplam 19 haneden oluşur.
• Aralık: -922,337,203,685,477.5808 ile 922,337,203,685,477.5807.
• 8 byte yer kaplarlar.
Örnek:
DefCur veya degişken sonuna @ karakteri ileVeri tanımlama:
Private Sub Form_Load()Dim Maas As Currency , Borc As CurrencyMaas = 500000000 Borc = 68000000Zayi@ = 340000.56End Sub
Date
• Tarih türündeki veriler için tanımlanmış bir veri tipidir.
• Aralık: 1 Ocak 100 ile 31 Aralık 9999.
• 8 byte yer kaplarlar.
Örnek:
DefDateVeri tanımlama:
Private Sub Form_Load()
Dim Dogum_tarihi As Date , Evlenme_Tarihi As Date
Dogum_tarihi =#Dec,9,1977#
Evlenme_Tarihi=#May,15,1998#
End Sub
String
• Metin türü veriler için tanımlanmış bir veri tipidir.
• 16 bitlik versiyonda 0 ile 65538 arasında, 32 bitlik versiyonda
ise 0 ile 2,000,000,000 arasında karakter alabilir.
• 2 byte yer kaplarlar.
Örnek:
Veri tanımlama:
Private Sub Form_Load()Dim adı As String , soyadı As Stringadı =”,Ali”soyadı = ”Soylu”tc_kimlik_no$="13239700672"End Sub
DefStr veya degişken sonuna $ karakteri ile
Dim degisken as string*sınır ile tanımlanırsa karakter sayısı sınırlandırılabilir.
Boolean
• Mantısal veriler için tanımlanmış bir veri tipidir.
• İki seçenekten birisini alabilir. Bunlar True (-1) veya False (0)
degerleridir.
• 2 byte yer kaplarlar.
Örnek:
DefBoolVeri tanımlama:
Private Sub Form_Load()
Dim Durum As Boolean
Durum = True
End Sub
Byte
• 1 byte’lık işaretsiz tamsayı tipidir.
• 0-255 arasında değer alabilir.
Veri tanımlama: DefByte
Byte, Integer ve Long tipindeki değişkenlere ondalık sayı atanırsa, sayı
en yakın tamsayıya yuvarlanır.
Dim i As Integer
i=4.3 ‘ i=4 olarak atanır.
i=4.5 ‘ i=5 olarak atanır.
i=4.6 ‘ i=5 olarak atanır.
Örnek:
Variant
• Değişken tanımlarken veri tipi verilmemişse Variant ele alınır.
• Variant tip değişkenler daha önce anlatılan tiplerden herhangi biri
gibi işlem görebilir ve programın çalışması esnasında tipi
değişebilir.
Veri tanımlama: DefVar
a=5 ’ Integer
a=a+450234 ‘ Long
a=5.7 ‘ Single
a=“abc” ‘ String
Örnek:
Değişken Kapsamı
• Değişkenler kapsam bakımından genelde üçe ayrılırlar: Genel
(global) seviye, Modül (module) seviye ve Yerel (procedure) seviye
değişkenler.
• Global değişkenler programın bütün yordamları (procedure)
tarafından kullanılabilirken, yerel değişkenler sadece
tanımlandıkları yordamda (procedure) kullanılırlar.
• Buna göre değişken kapsamı şu şekilde arttırılabilir: Procedure
level, Module level, Global level.
Değişken Bildirimi
• Visual Basic kodu iki yönteme göre çalışır.
• Implicit: Değişken bildirimi gerekli değil.
• Explicit: Değişken bildirimi gerekli.
General-Declerations’ a Option Explicit
yazılmalıdır.
Procedure (Yordam) Level
• Bu değişkenler sadece tanımlandıkları fonksiyon veya alt program
içinde kullanılırlar.
• Dim veya Static deyimi ile tanımlanır.
• Bu değişkenler ilgili formun/modülün General-Declarations kısmında
tanımlanırlar ve ilgili formun/modülün tüm prosedürlerinde
kullanılabilirler.
• Dim veya Private deyimi ile tanımlanabilirler.
Module Level
Dim ad As StringStatic numara As Integer
Örnek:
• Bir değişkenin projedeki tüm modüllerde/formlarda kullanılabilmesi
için ilgili değişken Public deyimi ile tanımlanır.
• Bu tür değişkenler General Declarations bölümünde
tanımlanmalıdır.
Global Level
Public pi As SingleÖrnek:
Statik Değişkenler
• Yerel (local) olarak tanımlanan değişkenler tanımlandığı alt program
veya fonksiyon çalışması bittikten sonra bellekten atılır.
• İlgili prosedür ikinci kez çalıştığında yerel değişkenler eski
değerlerinden değil baştan (string ise “ “, sayı ise 0’dan) başlar.
• Yerel olarak tanımlanan bir değişkenin değerinin tanımlandığı alt
program veya fonksiyonun çalışması bittikten sonra da değerinin
korunması isteniyorsa Dim yerine Static deyimi kullanılır.
Private Sub Command1_Click()Dim xx=x+1msgbox (“bu komut düğmesi” & x & “defa tıklandı”)End Sub
Bir komut düğmesinin kaç defa tıklandığını bulmak için aşağıdaki tanımlamaları inceleyelim.
Örnek:
Örnek: Private Sub Command1_Click()Static xx=x+1msgbox (“bu komut düğmesi” & x & “defa tıklandı”)End Sub
Örnek:
Privated Sub Command1_Click()
x = 5
y = “BIL1002”
End Sub
Örnek:
Private Sub Command1_Click()
Dim x As Integer, y As String
x = 5
y = “BIL1002”
End Sub
(General Declarations) Option Explicit
Tanımlama gerekli !
Tanımlama gerekli değil !
Modül1
Public Toplam
Dim X
Procedure 1
Dim A
Toplam, Sonuc, X, A değişkenlerine ulaşılabilir.
Y, B, C, D değişkenlerine ulaşılamaz.
Procedure 2
Dim B
Toplam, Sonuc, X, B değişkenlerine ulaşılabilir.
Y, A, C, D değişkenlerine ulaşılamaz.
Modül2
Public Sonuc
Dim Y
Procedure 3
Dim C
Toplam, Sonuc, Y, C değişkenlerine ulaşılabilir.
X, A, B, D değişkenlerine ulaşılamaz.
Procedure 4
Dim D
Toplam, Sonuc, Y, D değişkenlerine ulaşılabilir.
X, A, B, C değişkenlerine ulaşılamaz.
VB projesinde A, B, C, D, X ve Y değişkenleri için tanımlamalar.Örnek:
Veri Tipi Değiştirme İşlemleri
• Bir tipteki bir değerin başka bir veri tipine çevrilmesi gerektiğind
VB tarafından sağlanan standard fonksiyonlar kullanılır.
Cint(değişken) : integer tipine dönüştürür.
Clng(değişken) : long tipine dönüştürür.
Csng(değişken) : single tipine dönüştürür.
Cdbl(değişken) : double tipine dönüştürür.
Ccur(değişken) : currency tipine dönüştürür.
Cdate(değişken): date tipine dönüştürür.
Cbyte(değişken): byte tipine dönüştürür.
Cvar(değişken) : variant tipine dönüştürür.
Cbool(değişken): boolean tipine dönüştürür.
Isnumeric(değişken)
• Verilen değişkenin içeriğinin bir sayı olup olmadığı kontrol edilir.
• Eğer sayı ise geri dönen değer True (-1) olur.
SABİTLERSABİTLER
• Sabitler, sahip oldukları değerler ile kullanılan bilgi tanımlamalarıdır.
• Özellikle belli (bilinen) değerlerin kullanımını sağlar.
• Kodlamayı ve kodun okunabilirliğini kolaylaştırır.
• Sabitlerin değeri bir sayı ya da karakter olabileceği gibi bir ifade de
olabilir.
• Sabitlerin kapsamı da değişken kapsamı kurallarına benzer.
Const pi = 3.141559 Const a = “Tork“ Const b = “Nm“
Private Sub Form_Activate()Print a, b, piEnd Sub
Örnek:
Const adıTanımlama:
ARİTMETİK İŞLEMLERARİTMETİK İŞLEMLER
VB’te kullanılan aritmetik işlemler ve matemetiksel işaretler şunlardır.
• Toplama +
• Çıkarma -
• Çarpma *
• Bölme /
• Tamsayı bölme \
• Bölmede kalan mod
• Üs alma ^
• Karakök alma sqr()
Toplama ve çıkarma işlemi
• Toplama ve çıkarma işlemi iki basit matematiksel işlemdir.
• Toplama işleminde sayıların toplanma sırası önemli değildir. Ancak
çıkarma işleminde işlemler soldan sağa doğrudur
Sonuc = 20+12Sonuc = 20-12
Örnek:
Örnek: Önce ikinci sayı birinci sayıdan çıkarılır. Ardından kalandan üçünçü sayı çıkarılır. (Sonuç=3)
Sonuc = 20+12+5Sonuc = 20-12-5
String verilerin toplanması
• İki karekter bilgi + veya & operatörü ile birleştirilebilir.
Örnek: Sonuc = “Visual” + “ ”+ “Basic”
Sonuc = “Visual” & “ ”& “Basic”Sonuc = “Visual Basic”
Çarpma, Bölme ve Tamsayı Bölme İşlemleri
• Çarpma işlemi toplama işlemi gibi düzdür. Sayılar sırasıyla birbiri ile
çarpılarak sonuç elde edilir.
Sonuc = 20*12Örnek:
• Bölme işleminde ise birinci sayının ikinci sayıya bölünmesiyle elde
edilir.
Sonuc = 20/12Örnek: Sonuc = 1.66
• Tamsayı bölme işleminde bölüm sonucunun tamsayı kısmı
döndürülür.
Sonuc = 20\12Örnek: Sonuc = 1
Sonuc = 240
Üs ve Mod İşlemi
• Bir sayının üs alma işlemi için ^ operatörü kullanılır.
Örnek: Sonuc = 3 ^ 2
Sonuc = 10 ^ 0
Sonuc = 10 ^ -2
Sonuc = 9
Sonuc = 1
Sonuc = 0.01
• Mod işlemi bölme işleminde kalanı verir.
Sonuc = 11 mod 3Örnek: Sonuc =2
Aritmetik Operatörlerde İşlem Önceliği
• Aritmetik ifadelerde öncelik parantez içindeki ifadededir.
• Parantez kullanılmıyorsa operatörlerin öncelikleri aşağıdaki gibidir
1. Üs alma
2. Negatif
3. Çarpma ve bölme
4. Tamsayı bölme
5. Mod işlemi
6. Toplama ve çıkarma
Karşılaştırma operatörleri
• Bu operatörler ile verilen ifadeler arasında karşılaştırmalar yapılır.
1. = operatörü (eşit)
2. < > operatörü (eşit değil)
3. >, >= operatörü (büyük, büyük eşit)
4. <, <= operatörü (küçük, küçük eşit)
A=12: B=45
Sonuc = (A=B) Sonuc=False
C=23: D=23
Sonuc = (C=D) Sonuc=True
Örnek:
Mantıksal Operatörler
1. Aritmetik operatörler^, *, /, \, mod, +,-, &
2. Karşılaştırma operatörleri=, <>, <, >, <=, >=
3. Mantıksal operatörlernot, and, or, xor
VB Operatörlerinde İşlem Önceliği
1. AND (VE)
Örnek : if a>50 and b>70 then
2. OR (VEYA)
Örnek : if a>50 or b>70 then
3. NOT (DEĞİL)
Örnek : if not a=50 then
4. XOR (AYNI İSE 0 FARKLI İSE 1 YAP)
Örnek : Print 11001101 xor 00110000 ’11111101