230 likes | 551 Views
Anadolu Üniversitesi Endüstri Mühendisliği Bölümü. Visual Basic 6.0 Ders Notları. Değişkenler ve Veri tipleri. Kaynak: İhsan Karagülle, Zeydin Pala, Visual Basic 6.0, Türkmen Kitabevi, 1999, Beyazıt İstanbul, . Değişkenler ve Veri tipleri.
E N D
Anadolu ÜniversitesiEndüstri Mühendisliği Bölümü Visual Basic 6.0Ders Notları Değişkenler ve Veri tipleri Kaynak: İhsan Karagülle, Zeydin Pala, Visual Basic 6.0, Türkmen Kitabevi, 1999, Beyazıt İstanbul,
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!!!
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
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!!!
Veri Tipleri • Veri tanımlamada kullanılan format • Dim deg_ismi [(diziboyutu)] As Tipi • Dim ogrenci_Adi AsString • Dim notlar(15) AsInteger • Dima(15) tanımıyla 16 elemanlı bir dizi tanımlanır, dizinin ilk elemanı a(0) son elemanı a(15)’tir. • Dima(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.
Değişken Tipleri Tip Bellek alanı Değer aralığı • Byte 1 bayt 0 ile 255 • Integer 2 bayt -32,768 ile +32,767 • Long 4 bayt -2.147.283.64 ile 2.147.483.647 • Single 4 bayt +/- 3.402823 E38 ve +/-1.401298 E -45 • Double 8 bayt +/- 1.79769313486232 E308 ve +/-4.94065645841247E-324 • Currency 8 bayt - 922337203685477.5808 ile 922337203685477.5807 • Decimal 14 bayt +/- 79228162514264337593543950335 tamsayı • Decimal 14 bayt +/- 7.9228162514264337593543950335 ondalık • Boolean 2 bayt True ya da False • String karakter sayısı + 10 b 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. • Variant 16 bayt • Date 8 bayt 1/1/100 ile 12/31/9999 tarih, 0:00:00 ile 23:59:59 saat • Object 4 bayt Sayısal olarak tanımlanan tiplerde değişken tipinin sınırlar dışında bir değer alması durumunda, VB Overflow hatası verecektir.
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 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
Single, Double Single Double + 3.402823 E38 + 1.79769313486232 E308 +1.401298 E -45 +4.94065645841247E-324 0 0 -1.401298 E -45 -4.94065645841247E-324 - 3.402823 E38 - 1.79769313486232 E308
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 As Currency i = 4.30571 ‘ i= 4.3057 olarak atanır i = 4.30575 ‘ i= 4.3058 olarak atanır i = 4.30577 ‘ i= 4.3058 olarak atanır
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
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. • Bu tip değişkenler üzerinde işlem yaparken true değerine -1 false değerine ise 0 karşılık gelir Dim evli As Boolean Evli = true Evli = 1 Evli = 100 Dim evli As Boolean Evli = false Evli = 0 Dim i As Boolean, j As Integer j=10 i=true Print j*i ‘ sonuç -10 i = false Print j*i ‘ sonuç 0
String • Dim degisken AsString*sınırolarak tanımlanır • Verilen sınır kadar yer kaplar, En büyük sınır 65400 dü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 ”
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 ‘ veya Dim a As Variant olarak tanımlanabilir. A=5 ‘ şu anda A integer tipinde A=A+200000 ‘ işlem integer sınırlarını aştığı içi şu anda A long A=5.7 ‘ Sayı ondalıklı olduğu için A single A=A+5.3E200 ‘ Sayı single sınırlarını aştığı için şu anda A double A=“a1c2” ‘ A’nın tipi string A=A+5 ‘ hata A son olarak string tipinde olduğundan işlem yapılamaz
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”
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 • 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 • Type tip_ismi • deg_ismi As Tipi • deg_ismi As Tipi • deg_ismi As Tipi • … • … • End Type Dim ogr1, ogr2 As ogrenci ogr1.Ad=“Gurkan” Ogr1.Soyad=“Ozturk” Ogr1.sinif=3 if ogr1=ogr2 then …
Enum • isimleri numaralandırarak kullanmamıza imkan sağlar. • 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 • Enum tip_ismi • Eleman1= sayı1 • Eleman2= sayı2 • Eleman3= sayı3 • … • End Enum
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 tipiolarak kullanılır. • Preserve, dizinin yeniden boyutlandırılması durumunda dizde bulunan eleman içeriklerinin yeni dizide bulunmasını sağlar
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.
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
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.
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.
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.
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 gurkano@ogu.edu.tr adresine, B grubunda iseler oustun@ogu.edu.tr adresine göndermeleri gerekmektedir.