Bilgisayar Programlama Dersi Visual Basic 6.0 Ders Notları

Download Report

Transcript Bilgisayar Programlama Dersi Visual Basic 6.0 Ders Notları

1
Anadolu Üniversitesi
Endüstri Mühendisliği Bölümü
Değişkenler ve Veri tipleri
Visual Basic 6.0
Ders Notları
Kaynak: İhsan Karagülle, Zeydin Pala, Visual Basic 6.0, Türkmen Kitabevi, 1999, Beyazıt İstanbul,
2
Değişkenler ve Veri tipleri
• Bir dilin en önemli bileşenlerinden biri: Değişkenler
ve Veri Tipleridir
• Değişkenler bir bilgiyi hafızada tutmak ve
gerektiğinde kullanmak için kullanılır.
• Birçok dilde değişken tanımlama zorunludur.
• Visual Basic değişken tanımlamaya zorunlu tutmaz.
• Değişkenler tanımlanırsa
– Program daha etkin olur
– Tanımlamadan kaynaklanan bazı hatalar önlenmiş olur.
• Yazacağımız programlarda değişkenleri mutlaka
tanımlayacağız!!!
3
Değişken Tanımlamayı Zorunlu Hale Getirme
• Değişken tanımlamayı
zorunlu hale getirmek
için
– Tools-options
• Require Variable
Declaration checkbox’ını
işaretlemek ya da
– Option Explicit
• General Decleration
kısmında “option
explicit” kodunu yazmak
4
Tanımlama Kuralları
• Değişken ismi bir harf ile başlamalıdır.
– Ad1, Ad2, ogrenci1, isim, no  Doğru
– 1ad, 2.ad,  Yanlış
• Değişken isminde boşluk bulunamaz.
• Değişken isminde sadece harfler, rakamlar ve altçizgi ‘_’ karakteri
bulunabilir.
– Alış-Tarihi, AraşGör*, $df,  Yanlış
– Alış_Tarihi,Araş_Gör_Dr  Doğru
• Değişkene verilecek isim VB komutlarından oluşmamalıdır. (not,
dim, val vb.)
• Değişken ismi 255 karakterden daha uzun olmamalıdır.
•
VB Türkçe karakterleri değişken tanımlamada kullanılmasına herhangi bir kısıt
getirmemektedir ancak diğer programlarda bu destek yoktur, bu sebeple
programlarımızda türkçe karakterleri değişken tanımlamada kullanmayacağız!!!
5
Veri Tipleri
• Veri tanımlamada kullanılan format
– Dim deg_ismi [(diziboyutu)] As Tipi
• Dim ogrenci_Adi As String
• Dim notlar(15) As Integer
– Dim a(15) tanımıyla 16 elemanlı bir dizi tanımlanır, dizinin
ilk elemanı a(0) son elemanı a(15)’tir.
– Dim a(5 to 15) tanımıyla ilk elemanı a(5) ve son elemanı
a(15) elemanı olan 11 elemanlı bir dizi tanımlanabilir.
! Dim komutu kullanılarak bir fonksiyon/altprogram içersinde dizi tanımı yapılamaz.
– Tipi, Byte, Integer, Long, Single, Double, Currency,
Decimal, Boolean, String, Variant, Date, Object gibi
değişken tipilerini gösterir.
6
Değişken Tipleri
•
•
•
•
•
•
•
•
•
•
Tip
Byte
Integer
Long
Single
Double
Currency
Decimal
Decimal
Boolean
String
Bellek alanı
1 bayt
2 bayt
4 bayt
4 bayt
8 bayt
8 bayt
14 bayt
14 bayt
2 bayt
karakter sayısı + 10 b
•
•
•
Variant
Date
Object
16 bayt
8 bayt
4 bayt
Değer aralığı
0 ile 255
-32,768 ile +32,767
-2.147.283.64 ile 2.147.483.647
+/- 3.402823 E38 ve +/-1.401298 E -45
+/- 1.79769313486232 E308 ve +/-4.94065645841247E-324
- 922337203685477.5808 ile 922337203685477.5807
+/- 79228162514264337593543950335 tamsayı
+/- 7.9228162514264337593543950335 ondalık
True ya da False
2 milyar karaktere kadar atama yapabilen sayısal olmaya veri
tipidir, *sınır ile boyutu sabitlenebilir, sabit olarak en fazla
65400 değeri verilebilir.
1/1/100 ile 12/31/9999 tarih, 0:00:00 ile 23:59:59 saat
Sayısal olarak tanımlanan tiplerde değişken tipinin sınırlar dışında bir değer alması
durumunda, VB Overflow hatası verecektir.
7
Byte, Integer, Long
• Byte, integer ve Long değişken tipleri tamsayı
değerler için kullanılır.
• Eğer ondalıklı bir değer bu değişkenlere atanmak
istenirse, değer en yakın tamsayıya yuvarlanır.
Dim
i =
i =
i =
i As Integer
4.3 ‘ i= 4 olarak atanır
4.5 ‘ i= 5 olarak atanır
4.6 ‘ i= 5 olarak atanır
8
Single, Double
Single
+ 3.402823 E38
+1.401298 E -45
0
-1.401298 E -45
- 3.402823 E38
Double
+ 1.79769313486232 E308
+4.94065645841247E-324
0
-4.94065645841247E-324
- 1.79769313486232 E308
9
Currency
• Currency 8 bayt
– - 922337203685477.5808 ile 922337203685477.5807
– Ondalık kısmın dört basamaktan fazla olması durumunda
sayı yuvarlatılır,
– Genellikle para hesapları ve virgülden sonraki hassasiyeti
önemsiz olan işlemler için kullanılır
Dim
i =
i =
i =
i As Currency
4.30571 ‘ i= 4.3057 olarak atanır
4.30575 ‘ i= 4.3058 olarak atanır
4.30577 ‘ i= 4.3058 olarak atanır
10
Decimal
• Hem tamsayı hem de ondalık sayı için kullanılır
– +/-79228162514264337593543950335 tamsayı
– +/- 7.9228162514264337593543950335 ondalık
• Sayıdaki bütün basamakları tutar
• Dim deyimi ile tanımlanamaz,
• Bu tip bir variant değişkene CDEC fonksiyonu ile
atanabilir.
Dim x
x = CDec("12341234123412341234")
Print x
11
Boolean
• Genellikle Evli/Bekar, Doğru/yanlış, var/yok gibi iki
durumu gösteren değerler için kullanılır.
• Atanan sayı 0 ise false değil ise true olarak kabul
edilir.
Dim evli As Boolean
Dim evli As Boolean
Evli = true
Evli = 1
Evli = 100
Evli = false
Evli = 0
• Bu tip değişkenler üzerinde işlem yaparken true
değerine -1 false değerine ise 0 karşılık gelir
Dim i As Boolean, j As Integer
j=10
i=true
Print j*i ‘ sonuç -10
i = false
Print j*i ‘ sonuç 0
12
String
olarak tanımlanır
• Verilen sınır kadar yer kaplar, En büyük sınır 65400
dür.
• Dim degisken As String*sınır
Dim a As String,
Dim b As String * 3,
a=“abcdefgh” ‘ atama aynen yapılır
b=“abcd ”
‘ yalnızca ilk üç karakter atanır b=“abc”
b=“a”
‘ yine üç karakter atanır ancak son iki karkter boşluktur b=“a
”
13
Variant
• Değişken tanımlanırken tip ismi verilmemişse bu tip
variant olarak değer alır.
• Değişkenin tipi atanacak değere göre değişir.
• Variant tipinin programın çalışması esnasında tipi
değişebilir
Dim A
A=5
A=A+200000
A=5.7
A=A+5.3E200
A=“a1c2”
A=A+5
‘
‘
‘
‘
‘
‘
‘
veya Dim a As Variant olarak tanımlanabilir.
şu anda A integer tipinde
işlem integer sınırlarını aştığı içi şu anda A long
Sayı ondalıklı olduğu için A single
Sayı single sınırlarını aştığı için şu anda A double
A’nın tipi string
hata A son olarak string tipinde olduğundan işlem yapılamaz
14
Date
• tarih için 1/1/100 ile 12/31/9999,saat için 0:00:00 ile
23:59:59 aralığında değer alır.
• Atama bir string gibi veya # # karakterleri arasında
yapılabilir.
• Ondalık sayı tipinde tanımlandığı için bu tipte
tanımlanmış tarihler arasında işlem yapılabilir
Dim i As Date
i = “17/11/1973”
Print i & “tarihinden bu güne kadar” & date- i & “ gün geçti”
15
Kullanıcı Tarafından Yeni Tip Tanımlama
• Standart veri tiplerinden yeni veri tipleri tariflenebilir
• Tip tanımı form içersinde sadece Private olarak
tanımlanır, yani tanımlanan tip sadece o form içinde
kullanılabilir
Type ogrenci
Type tip_ismi
deg_ismi As Tipi
deg_ismi As Tipi
deg_ismi As Tipi
…
…
End Type
Ad As String
Soyad As String
Dogum_yeri As String
Dogum_tarihi As String
No As String
Bolum As String
Sinif As Integer
End Type
Dim ogr1, ogr2 As ogrenci
ogr1.Ad=“Gurkan”
Ogr1.Soyad=“Ozturk”
Ogr1.sinif=3
if ogr1=ogr2 then …
16
Enum
• isimleri numaralandırarak kullanmamıza imkan
sağlar.
Enum tip_ismi
Eleman1= sayı1
Eleman2= sayı2
Eleman3= sayı3
…
End Enum
Enum birim
Muhasebe =1
üretim = 2
reklam = 3
pazarlama =4
satış = 5
hizmet = 6
güvenlik =7
eğitim = 8
yönetim = 9
End Enum
17
Dinamik Dizi Tanımlama
• Dinamik dizi tanımlamak, dizinin boyutunun ihtiyaç
oldukça artırılıp azaltılması demektir.
• Redim [preserve] deg_ismi(diziboyutu) As tipi olarak
kullanılır.
• Preserve, dizinin yeniden boyutlandırılması
durumunda dizde bulunan eleman içeriklerinin yeni
dizide bulunmasını sağlar
18
Global ve Local değişken tanımları
• General Declarations kısmında tariflenen Global değişkenler
programın bütün fonksiyonları tarafından kullanılır.
• Fonksiyon veya alt programlar içinde tariflenen Local
değişkenler sadece tanımlandıkları fonksiyon veya altprogram
içinde kullanılır.
19
Public ve Private
• General-Declaritions
kısmında Public deyimi ile
tanımlanmış değişkenler,
diğer modüller ve formlar
tarafından kullanılabilir.
• Kullanım sırasında değişken
isminden önce
modülün/formun isminin
verilmesi gerekir
20
Static Değişken
• Local 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 ile tanımlama yapılır.
• Static deyimi bir alt program veya fonksiyon altında
tanımlanabilir.
• Static deg_ismi [dizi_boyutu] As tipi şeklinde kullanılır.
21
Sabit Tanımlama
• Programda değerinin değiştirilmesi istenmeyen
değerler sabit olarak tanımlanabilir.
• Const SabitIsmi = degeri şeklinde tanımlama
yapılır.
• Bu sabitin değeri program içinde değiştirilemez.
22
Tip Değiştirme İşlemleri
• Bir tipteki değeri başka bir tipte kullanmaya ihtiyaç
duyduğumuzda izleyen fonksiyonlardan yararlanırız.
–
–
–
–
–
–
–
–
–
CCur(ifade) : verilen ifadeyi Currency tipine donusturur
CDbl(ifade) : verilen ifadeyi Double tipine dönüştürür.
CLng(ifade) : Long tipine dönüştürür.
CSng(ifade) : Single tipine dönüştürür.
CVar(ifade) : Variant tipine dönüştürür.
CBool(ifade): Boolean tipine dönüştürür.
CByte(ifade): Byte tipine dönüştürür.
CDec(ifade) : Decimal tipine dönüştürür.
CDate(ifade): Date tipine dönüştürür.
23
• Bilgisayar Programlama Dersinin etkileşimli
yürütülebilmesi amacıyla dersi alan tüm öğrenciler
- Kendi e-posta adreslerini kullanarak konu kısmında öğrenci
numaralarının yer aldığı boş bir e-postayı, eğer A
grubunda iseler [email protected] adresine, B grubunda
iseler [email protected] adresine göndermeleri
gerekmektedir.