değişkenler beni çok uğraştırıyor o yüzden belki benim gibi uğraşanlar için...
DEĞİŞKEN TANIMLAMALARI (DIM) Değişken tanımlamaları genel olarak üç farklı biçimde yapılabilir: Global, Yarı-global ve Lokal. Lokal tanımlamalar bir nesneye ait altprogramlar içersinde gerçekleştirilen tanımlamalardır. Yarı-global tanımlamalar ise söz konusu nesnenin declarations kesiminde gerçekleştirilen ve nesneye ait tüm kodlarda geçerlilik sağlayan tanımlamalardır. Global tanımlamalar, projenin module bileşeninde gerçekleştirilirler ve tüm proje kapsamında geçerlilik sağlarlar. Değişken tanımlamalarında kullanılan Dim deyiminin genel sözdizimi aşağıdaki gibidir: Dim <Değişken adı>[([indisler])] [As [New] tür] Açıklamalar: <Değişken adı> Standart değişken isimlendirme kurallarına bağlı kalarak (Türkçe harfler, aritmetik işlem ya da mantıksal bağlaç operatörleri kullanılmayacak) verilecek herhangi bir isim. indisler Dizi türü değişken tanımlamalarında kullanılan indis alt ve üst sınırı. Genel olarak şu şekilde tanımlanırlar: AltSınır To ÜstSınır New Belirtildiği takdirde daha önceden tanımlanmış olan değişken, reset yapılarak yeniden tanımlanır. tür Belirtme zorunluluğu yoktur. (Belirtilmediği takdirde Variant olarak algılanır) Genel olarak kullanılabilecek değişken türleri: Byte (Küçük tamsayı), Boolean (Doğru/Yanlış), Integer (Tamsayı), Long (Büyük tamsayı), Currency (Para birimi), Single (Küçük gerçel sayı), Double (Büyük gerçel sayı), Decimal (10’un kuvvetleri), Date (tarih), String (metin), String*uzunluk (sabit-uzunluklu metinler için), Object (Nesne), Variant (Nümerik, string ya da tarih türlerinin hepsini kapsayan bir tür.) ya da kullanıcı-tanımlı bir tür. Örnek: Dim Deger1, Deger2 ‘Her ikisi de Variant Dim Sayi As Integer Dim Bulundu, Secim As Boolean, DogumTrh As Date Dim Dizi(50) ’51 elemanlı Variant dizisi Dim Matris(3, 4) As Integer ’12 elemanlı tamsayı matrisi Dim Matris3d(1 To 5, 4 To 9, 3 To 5) As Double ’90 elemanlı gerçel sayı matrisi Dim Trh(1 To 10) As Date ‘1 den 10 a kadar indekslenmiş tarih dizisi Dim MyArray() ‘Dinamik bir Variant dizisi (Belirli bir indeksleme yok)