07 Temmuz 2010, 23:29 | #1 | |
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0) | VB'de değişken tanımlama ve faaliyet alanları DEĞİŞKENLER Değişken tanımlarken Visual Basic’de Dim bildiri deyimini kullanabiliriz. Değişkenin tanımlanması hafızada ayrılacak hafıza miktarının belirli olmasını sağlar. Eğer değişkenlerin tipini belirtmeden bir kullanım yaparsak bu değişkenlerin Variant tipinde olduğu kabul edilir. Bu da hafızada gereksiz yer kaybına sebep olur. Eger tanımlanan bütün değişkenlerin tiplerinin belli olmasını isterseniz kod penceresinin General, Declarations kısmına Option Explicit yazılır. Değişkenler Nerede Tanımlanır? VB projelerine frm uzantılı form dosyaları ve Bas uzantılı Module dosyaları eklenebiliyor. Buna göre değişkenler ya Formlarda ya da BAS uzantılı modüllerde tanımlanabilir. Vb deki hazır nesnelerin içerdiği kod penceresindeki her yordamda değişken tanımı yapılabilir. Ancak bu değişkenler sadece o yordam dahilinde kullanılabilir. Object liste kutusunda bulunan (General) seçeneği seçildiğinde, Procedure liste kutusunda da (Declarations) aktif olur. Forma ait bütün yordamlarda kullanılmak istenen değişkenler General – Declarations konumunda tanımlanır. Ve bu değişkenler söz konusu form aktif olduğu süre içerisinde yaşarlar. Başka bir forma geçildiğinde bellekten silinir ve içeriği boşalır. Formlar söz konusu olduğunda değişkenler yordamların içinde ya da Forma ait (declaration) penceresinde tanımlanır. Yordam dahilinde tanımlanan değişkenler ancak tanımlandığı yordam içinde kullanılabilir. Söz konusu formun (declaration) penceresinde tanımlanan değişkenler Forma ait bütün yordamlarda kullanılabilir. BAS uzantılı modüllerde de değişkenler tanımlanıp kullanılabilir. Projeye modül eklemek için Project – Add Module menüsünden faydalanılır. Kod girişi yapılan bu pencere, formlara ait olan kod penceresinden farklı değildir. Fakat bu pencerede kod yoktur. Ama yazılabilir. Aynı formlarda olduğu gibi Sub ve End Sub arasında yordam olarak yazılmalıdır. Formlarda olduğu gibi modüle de yordam eklemek için Tools menüsünden Add Procedure komutu kullanılır. Modül içinde tüm yordamlarda kullanılmak istenen değişken modülün (General) (Declarations) kısmında tanımlanır. Dim ile Değişken Tanımlama: Bir form ya da 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 Buton Yeni As CommandButton ‘ Yeni bir denetim tanımlamak Örnek: Kod: Kodu kopyalamak için üzerine çift tıklayın!
Burada görmüş olduğunuz gibi 5 adet değişken tanımlanmaktadır. Ad değişkeni string tipinde bir değişkendir. Maaş değişkeni Currency tipinde bir değişkendir. D_tarihi değişkeni Date tipinde bir değişkendir. Adres değişkeni string tipinde bir değişkendir. Sira değişkeni integer tipinde bir değişkendir Örnek: Kod: Kodu kopyalamak için üzerine çift tıklayın!
Bu örnekte de ad ve soyad isimli iki değişken string türünde ve maas değişkeni ise Currency tipindedir. Def ile Değişken Tanımlama: Değişken adının ilk karakterine göre tanımlama yapılmasını bir harf ya da harf aralığı belirterek sağlar. Bu bildiri deyimi daha genel tanımlamalar yapmak için kullanılır. Def bildiri deyimleri aşağıda verilmiştir. Def bildiri deyimi projenin general, declarations bölümünde tanımlanmalıdır DefBool: Boolean tipinde değişken tanımlamak için kullanırız. DefByte: Byte tipinde değişken tanımlamak için kullanırız. DefInt: Integer tipinde değişken tanımlamak için kullanırız. DefLng: Long tipinde değişken tanımlamak için kullanırız. DefCur: Currency tipinde değişken tanımlamak için kullanırız. DefSgn: Single tipinde değişken tanımlamak için kullanırız. DefDbl: Double tipinde değişken tanımlamak için kullanırız. DefDate: Date tipinde değişken tanımlamak için kullanırız. DefStr: String tipinde değişken tanımlamak için kullanırız. DefVar: Variant tipinde değişken tanımlamak için kullanırız. 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 Aşağıdaki satırları formun general, declarations bölümüne yazalım. Örnek: Kod: Kodu kopyalamak için üzerine çift tıklayın!
Bu örnekte A, B, C ile başlayan bütün karakterler Integer türünde olmak zorundadır. D ile başlayan bütün karakterler Date türünde olmak zorundadır. V ile başlayan bütün karakterler Single türünde olmak zorundadır. K ile başlayan bütün karakterler Variant türünde olmak zorundadır. S ile başlayan bütün karakterler String türünde olmak zorundadır. Def deyimi dim deyiminden farklıdır. Def ile sadece bir harf ya da harf aralığı belirtilebilir. Burada belirtilen harf ile başlayan bütün değişkenler artık o bildiri deyimindeki tiptedir Değişkenlere İsim Verme Değişken isminin ilk karakteri bir harf olmalıdır. Rakam değil. Diğer karakterler harf, isim, karakter, alttan çizgi_ v.s.olabilir. Harflerin küçük ya da büyük olmasının bir önemi yoktur. Değişken isimlerinin uzunlukları 255 karaktere kadar olabilir. Değişken isimleri içerisinde diğer semboller (+,-,/, vb) bulunmamalıdır. Değişken Türleri Bu bölümde, vb’de program yazarken, programınızda kullanabileceğiniz veri türleri tanıtılacaktır. Variant: Bu tipte tanımlanmış bir değişkene herhangi bir tip’te veri yüklenebilir. Yani ne tür bir veri gireceğimizi bilmediğimiz değişkenlerde Variant kullanabiliriz. Ama dikkat! Bu tür değişkenler hafızada 16 byte tan fazla yer kaplarlar. Örnek: Kod: Kodu kopyalamak için üzerine çift tıklayın!
Integer: Visual Basic’de tam sayı değişkenleri tanımlamak için kullanılır. Hafızada 2 byte yer kaplarlar. Alabileceği değer aralığı –32768 ile +32767 arasındadır. DefInt bildiri deyimi ile tanımlanabilirler. Ayrıca bir değişkenin sonunda % karakteri bulunuyorsa bu değişken integer tipindedir. Örnek: Kod: Kodu kopyalamak için üzerine çift tıklayın!
Eğer burada tanımlanan değişkenlere daha büyük sayılar atanırsa overflow oluşur. Long: Daha büyük bir aralıkta integer yani tamsayı tanımlamak için kullanabileceğimiz bir veri tipidir. Hafızada 4 byte yer kaplar. Kullanılabilecek uç değerler +2,147,483,647 ile -2,147,483,648 dir. Long tipinde bir değişken tanımlamak için DefLng bildirimini veya değişken sonunda & karakterini kullanabiliriz. Örnek: Kod: Kodu kopyalamak için üzerine çift tıklayın!
Single: Tam sayı olmayan küsuratlı sayılar için kullanabileceğimiz bir veri tipidir. Kayan-noktalı sayı olarak isimlendirilir. Single tipindeki veriler bellekte 4 byte yer kaplarlar. Negatif sayılar için alabileceği aralık -3.402823E38 ile –1.401298E-45, pozitif sayılar için alabileceği aralık 1.401298E-45 ile 3.402823E38 arasındadır. Single tipinde veri tanımlamak için DefSgn bildirimi veya değişken sonuna! Karakteri konur. 7 haneye kadar hassastır. Daha sonrası yuvarlatılır. Örnek: Kod: Kodu kopyalamak için üzerine çift tıklayın!
Double: Visual Basic’de kullanılabilecek en büyük sayısal değerlerin veri tipidir. Hafızada 8 byte yer kaplarlar. 16 haneye kadar hassastırlar. Maksimum alabileceği değerler pozitif sayılar için 4.94065645841247E–324 ile 1.797693134862232E308, nekatif sayılar için de -1.797693134862232E308 ile -4.94065645841247E-324 arasındadır. DefDbl bildirimi veya # sembolü ile double tipinde değişkenler tanımlanabilir Örnek: Kod: Kodu kopyalamak için üzerine çift tıklayın!
String: Matematiksel işlemlere sokulamayan veri tipidir. Iki string ifade arasındaki + işareti bu stringleri birleştir anlamına gelir. Örnek: Kod: Kodu kopyalamak için üzerine çift tıklayın!
Eğer burada tanımlanan değişkenlere daha büyük sayılar atanırsa overflow oluşur. Currency: Sayısal tipteki veriler için tanımlanmış bir veri tipidir. Hafizada 8 byte yer kaplarlar. 4 hane ondalık kısmı olmak üzere toplam 19 haneden oluşur.(nokta hariç) Alabileceği maksimum değerler -922,337,203,685,477.5808 ile 922,337,203,685,477.5807 arasındadır. Date: Tarih türündeki bilgileri kullanmak için oluşturulmuş bir veri tipidir. Hafızada 8 byte yer kaplarlar. 1 Ocak ile 31 Aralık 9999 arasındaki tarihleri kullanabilirsiniz Örnek: Kod: Kodu kopyalamak için üzerine çift tıklayın!
Boolean: Mantıksal veri tipleri için kullanılır. İki seçenekten birisini(True, False) alabilir. Bellekte 2 byte yer işgal ederler. Byte: O ile 255 arasındaki tamsayıları ifade etmek için kullanılabilecek veri tipidir. Örnek: Kod: Kodu kopyalamak için üzerine çift tıklayın!
Const: Bunlar program içinde değeri değiştirilemeyen sabitlerdir. Public ve Private tipinde sabitler tanımlanabilir. Public sabitlere tüm modüller içinden ulaşılabilir. Private türündeki sabitler ise sadece tanımlandıkları modül içersinde geçerlidirler. Örnek: Kod: Kodu kopyalamak için üzerine çift tıklayın!
Private Sözcüğü: Private sözcüğü ile form düzeyinde değişkenler belirleyebilirsiniz. Formun General Declarations kısmında Dim yerine Private sözcüğünü kullanarak da değişkenleri form düzeyinde geçerli kılabilirsiniz. Gerçekte, Dim deyimi ile Private deyimi birbiri ile değiştirilebilir şekilde kullanılabilmektedir. Type - End Type Yapısı: Type yapısını kullanarak programcı farklı veri tiplerini kullanarak kendi veri yapısını oluşturabilir. Bu C deki Struct yapısına benzetilebilir. Bu yeni veri tipine record adı verilir. Herhangi bir modülün Declaration kısmında aşağıdaki gibi bir tanımlama yapabiliriz. Örnek: Kod: Kodu kopyalamak için üzerine çift tıklayın!
'ögrenci veri tipi toplam hafızada 25 byte yer kaplamaktadır. Bu veri tipini kullanmak için 'ögrenci tipinde değişkenler tanımlamak gerekmektedir. Private Sub Form_Load() Dim A As ögrenci Dim B As ögrenci 'Bu değişkenlere bilgi atamak aşağıdaki şekildeki gibidir. A.Ad="Seçkin" A.Soyad ="BUDAK" End Sub String türü değişkenlere sabit bir uzunlukta yer ayırmak istersek aşağıdaki şekilde bir tanımlama yapmalıyız. Dim Ad As String *12 Dim Adres As String *50 Tip Bildirimi İçin DIM Deyimi İyi bir program oluşturmak için, değişkenlerin tiplerini önceden bildirmek faydalı bir alışkanlıktır. Tip bildiriminde bulunulmazsa, değişkenlerin tipi variant olarak atanır. Bu da gereksiz yer kaplamaya neden olur. Değişkenlerin tipini bildirmede alternatif bir yol Dim deyimini kullanmaktır. Dim x as integer gibi. Dim a,b,c,d as double şeklindeki ifade, sadece d’yi double olarak atayacak, a,b,c değişkenleri ise variant olarak kalacaktır. Doğru kullanım ise: Dim A As Double, B As Double, C As Double, D As Double şeklinde olmalıdır. Zorunlu Tip Bildirimi VB’ de tip bildirimi zorunlu değildir. Fakat yazılımcı isterse bunu zorunlu hale getirebilir. Bunun için şu adımlar izlenmelidir. Kod penceresi açılır. General, declarations kısmı; seçilir. Bu bölüme option explicit yazılır. Bunu yaptıktan sonra programınızı yazarsanız ve eğer değişkenleri tanımlamadıysanız, programı da o halde çalıştırdıysanız hata verecektir. Değişkenlerin Geçerlilik Bölgesi Aksi belirtilmediği sürece vb'de tanımlanan değişkenler sadece tanımlandıkları; prosedür (command1_click,text1_change... Bir prosedürdür) içinde geçerlidir. Bazı değişkenleri prosedürler arası; kullanmanız gerekebilir, prosedürler arası değer alıp, verme ihtimaliniz olabilir. Böyle durumlarda modül düzeyinde değişkenlere ihtiyaç vardır, bu tip değişkenleri ancak general, declarations kısmında tanımlayarak elde edebiliriz. Değişkenlerin Static Ve Dinamik Durumları Aksi belirtilmediği sürece tanımladığımız değişkenler dinamiktir; yani olay, prosedürün her çalışmasında(mesela, her command1_click olduğunda)bir önceki işlem sonundaki hesaplanmış değeri saklamazlar. Fakat değişkeninizi tanımlarken Dim X As integer değil de Static X As integer olarak tanımlarsanız her prosedür çalıştığından da 1 önceki procedure sonundaki hesaplanmış değeri saklar onun üstünden işlem yapar. Global ile Değişken Tanımlama: Modül düzeyinde tanımlama. Projenin tamamında kullanılabilir. Global Sehir As String Global Ad 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 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 ) DİZİLER Aynı tür bilgileri bellekte tutmak için kullanabileceğimiz listelere dizi adı verilir. Dizi kullanmanın avantajı aynı tür bilgiler bir listede tutularak daha hızlı işlem yapılabilmesi sağlanmış olacaktır. Visual Basic'de dizi şu şekildedir Dizi_adı(İndis) Örnek: Kod: Kodu kopyalamak için üzerine çift tıklayın!
Bu örnek'te ad ve no olmak üzere iki adet dizi tanımlanmaktadır. ad dizisi string türünde bilgileri tutacak ve no dizisi ise integer türündeki bilgileri saklayacaktır. Görmüş olgunuz gibi dizilere bilgi atama şekli dizi_adı(indis_sırası)=atanacak_bilgi şeklindedir. Eğer diziyi sıfırdan değil de bir den itibaren başlatmak istersek diziyi tanımlamadan önce Option Base 1 satırını eklemeliyiz. Burada dizi indisleri sıfırdan başlayarak tanımlama yaparken bizim belirttiğimiz değere kadardır. Yani bizim bu dizilere atayabileceğim veri sayısı diziyi tanımlarken belirttiğimiz indis değerinden bir fazla olacaktır. Eğer değer atama yaparken belirttiğimiz sınırların dışına çıkarsak hata oluşur. Dizilere değer atarken dizi sınırlarını kontrol etmekle olası bir hatayı önlemiş oluruz. 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. Kod: Kodu kopyalamak için üzerine çift tıklayın!
STATIC DİZİLER Bu tip dizilerde kullanılacak yer sayısı sabittir. Bu tip diziler sadece tanımlandıkları modül içersinde kullanılabilirler. Static dizi şu şekilde tanımlanabilir Dim dizi_adı(sayi) As Veri_Tipi Tüm proje içinde kullanılacak bir dizi tanımlanmak isterse standart modülün General, Declarations bölümünde yukarıdaki şekildeki gibi tanımlanmalıdır Örnek: Kod: Kodu kopyalamak için üzerine çift tıklayın!
Bu örnekte görüldüğü gibi projenin general, declarations kısmında a() dizisi tanımlanıyor. Bu dizi tanımlanmadan önce dizi indislerinin 1 den itibaren başlayacağını belirten Option Base1 satırı koda dahil edilmiştir. Form1 yüklendiğinde bu dizinin ilk elemanına 10 sayısı ikinci elemanına 20 sayısı atanıyor. Eğer kullanıcı Command1 isimli butona tıklarsa dizinin ilk ve ikinci elemanları toplanarak Form üzerinde Text1 adlı nesnenin Text özelliğine atanıyor. Yani TextBox'ın bu sayıların toplamını göstermesi sağlanıyor. DİNAMİK DİZİLER Bu tip dizilerde kullanılacak yer sayısında bir sınırlama yoktur. Bu tip diziler ilk başta aşağıdaki şekilde görüldüğü gibi bir tanımlamaya ihtiyaç duyarlar. Dim dizi_adı( ) As Veri_Tipi Daha sonra bu dizi kullanılacak iken botunu belirtmek gerekir bunun içinde aşağıdaki gibi bir tanımlama yapılmalıdır. ReDim dizi_adı(boyut ) As Veri_Tipi Artık bu veri dizisini projemiz içinde kullanabiliriz. Örnek: Kod: Kodu kopyalamak için üzerine çift tıklayın!
Bu dizi tanımlanmadan önce dizi indislerinin 1 den itibaren başlayacağını belirten Option Base1 satırı koda dahil edilmiştir. Form1 yüklendiğinde s adlı bir dinamik dizi tanımlanmaktadır. Kullanıcı Command1 isimli butona tıkladığında s dizisinin boyutu belirtilerek yeniden tanımlanmıştır. Bu dizinin ilk elemanına "Merhaba" değeri ikinci elemanına "Seçkin" değeri atanıyor. Dizinin ilk ve ikinci elemanları toplanarak Form üzerinde Text1 adlı nesnenin Text özelliğine atanıyor. Yani TextBox'ın bu değerlerin toplamını göstermesi sağlanıyor. Örnek: Kod: Kodu kopyalamak için üzerine çift tıklayın!
Bu örnekte yukarıdaki örnekten tek farklı yan olarak bir Command butonun arkasına yazılmış kod bulunuyor. Eğer kullanıcı Command1 adlı butondan sonra bu butona tıklarsa ne olacak ona bakalım. Command2 butonuna tıklanıldığında s() dizisi tekrardan boyutu 5 olarak tanımlanıyor. s() dizisine daha önce atamış bütün değerler siliniyor. Yani s() dizisi bir nevi boşaltılıyor ve yeniden boyutlandırılıyor. Eğer s() dizisine daha önce atanmış değerler korunmak istenirse aşağıdaki şekildeki gibi bir tanımlama yapılmak zorundadır. ReDim Preserve s(boyut) As Veri_tipi TİP DÖNÜŞÜMLERİ Visual Basic'de kullandığımız sayısal değişkenleri diğer veri tiplerine dönüştürebiliriz. Bu işlemi yapan fonksiyonlara tip dönüşüm fonksiyonları adı verilir. Tip dönüşüm fonksiyonları aşağıda verilmiştir. Fonksiyon Geri Dönen Değer Yaptığı İşlem CBool(ifade) Boolean Matematiksel ifadeyi Boolean türüne dönüştürür. CByte(ifade) Byte Matematiksel ifadeyi Byte türüne dönüştürür. CCur(ifade) Currency Matematiksel ifade Currency türüne dönüştürür. CDate(ifade) Date Matematiksel ifade Date türüne dönüştürür. CDbl(ifade) Double Matematiksel ifade Double türüne dönüştürür. CDec(ifade) Decimal Matematiksel ifade Decimal sayıya dönüştürür. CInt(ifade) Integer Matematiksel ifade tam sayıya dönüştürür. CLng(ifade) Long Matematiksel ifade Long türüne dönüştürür. CSng(ifade) Single Matematiksel ifade Single türüne dönüştürür. CVar(ifade) Variant Matematiksel ifade Variant türüne dönüştürür. CStr(ifade) String Matematiksel ifade String türüne dönüştürür. Aşağıda çeşitli örneklerle tip dönüşümleri açıklanmaya çalışılmıştır. Örnek1: Kod: Kodu kopyalamak için üzerine çift tıklayın!
Örnek2: Kod: Kodu kopyalamak için üzerine çift tıklayın!
Örnek3: Kod: Kodu kopyalamak için üzerine çift tıklayın!
Örnek4: Kod: Kodu kopyalamak için üzerine çift tıklayın!
Değişkenlerin Faaliyet Alanı Visual Basic değişkenlerini anlayabilmek için gerekli 2 adet önemli özellik vardır: 1-)Faaliyet Alanı: Faaliyet alanı bir değişkenin görünebilirliğini belirler. Değişkenlerin faaliyet alanları evrenselden ( uygulamadaki her alt yordam ona ulaşabilir) yerele ( sadece tek bir alt yordam için kullanılabilir) kadar değişebilir. 2-)Yaşam Süresi: Yaşam süresi bir değişkenin ömrünü tanımlar. Değişkenler bütün bir program boyunca çalışabilecekleri gibi, tek bir alt yordam içinde yaratılıp yok edilebilirler. Değişkenlerin Faaliyet Alanları: Bir değişkenin faaliyet alanı, o değişkene kodun hangi bölümlerinden ulaşabileceğinizi belirler. Eğer bir değişken faaliyet alanının içindeyse onu okuyup, değerini değiştirebilirsiniz. Ama eğer değilse o değişkene ulaşamazsınız! Visual Basic'de değişkenler için 3 çeşit faaliyet alanı tanımlanabilir: Evrensel Faaliyet Alanı: Evrensel değişkenler uygulamanın her bölümünde faaliyet alanı içindedir. Modül Faaliyet Alanı: Modül değişkenleri tanımlandıkları modülün içindeki her yerde faaliyet alanı içindedir. Yerel Faaliyet Alanı: Yerel değişkenlerin faaliyet alanı sadece tanımlandıkları alt yordamdır. Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
__________________ Büyümeden yaşlandım ben.Hayat; ilk gördüğüm insanların,ilk gördüğüm gibi olmadıklarını öğretti. Kahraman Tazeoğlu | |
|
Etiketler |
değişken, faaliyetleri, tanımlama, vbde, ve |
Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir) | |
| |
Benzer Konular | ||||
Konu | Konuyu Başlatan | Forum | Cevaplar | Son Mesaj |
Php Değişken Tanımlama ve Ekrana Yazdırma | Deep | PHP | 0 | 28 Eylül 2014 00:24 |
Sosyal Pedagoji ve Sosyal Çalışmanın Faaliyet Alanları | xena | Felsefe | 0 | 28 Mayıs 2014 14:14 |
C# Değişken Tanımlama Şekilleri | Sunay | C# | 0 | 24 Nisan 2010 01:55 |
nick tanımlama yardım | ส н м є т | mIRC Scripting Sorunları | 3 | 04 Eylül 2009 03:25 |
Away tanımlama | Requiem | mIRC Scripting Sorunları | 9 | 22 Haziran 2006 18:39 |