ASP'de Değişkenler [DIM]

cartman

Katılımcı Üye
28 Ara 2005
932
17
zBjk
Temel Bilgiler: Değişkenler (DIM)​
Bir programda değişken çok önemlidir.
Değişkenler, değişen değeri tutarlar. Mesela değişkenin adı Aylar ise, bu değişkenin değeri "Ocak, Şubar, Mart..." diye giden aylar olacaktır. Değişkenler, türlerine göre bir ya da daha fazla değer tutabilirler. Adı üstünde, değişken, her zaman değişir.. Bu değişikliği biz de yapabiliriz, program da yapabilir.
Değişkenlerin tanımlanması "DIM" komutu ile yapılır. DIM, dimension "boyutlandır" kelimesinin kısaltılmışıdır. Tanımlayacağımız değişken adının önüne Dim yazarız. Mesela:
<%
Dim Ay, Gun, Sayi, İsim

Ay = "Ocak"
Gun = "Pazartesi"
Sayi = 3
İsim = "Seren"
%>

Burada önce değişkenlerimizi tanımladık. Birden fazla da değişkenimiz olabilir. Bunun için değişkenlerin arasına virgül koyarak yaparız. Değişken isimlerimizde Türkçe karakter kullanmamaya özen göstermeliyiz. Değişken isimleri mutlaka harfle başlamalıdır, içinde noktalama işaretleri bulunamaz ve uzunluğu 255 karakteri geçemez. Zaten 255 karakterden uzun bir değişken de işimizi zorlaştırır diye düşünüyorum:)
Değişkenlerin isimlerini belirledikten sonra onlara bazı değerler atadık. Ay isimli değişkenimizin değeri "Ocak" oldu. Buna göre VBScript yorumlayıcısına, "VBScript yorumlayıcısı kardeş, Ay değişkeninin değeri nedir?" diye sorduğumuzda, "Bunu bilmeyecek ne var? Ocak'tır" diyecektir.

Şimdi şöyle bir değişken tanımladığımızı düşünelim, acaba ortaya nasıl bir değişken çıkar? :
<%
Dim Aylar(12), Gunler(31), İsimler(10)
%>

Bu yöntemle oluşturduğumuz kodlarla elde edilecek "kaplar," birden fazla değer tutabilir:
<%
Dim Aylar(12), Gunler(7), İsimler(10)

Aylar(5) = "Mayıs"
Gunler(2) = "Salı"
İsimler(8) = "Hasan"
%>

Bu durumda, içinde 12 ayrı değişken tutabilecek olan Aylar değişkeninin 5 numaralı değeri "Mayıs", 7 değer tutabilecek olan Gunler değişkeninin 2 numaralı değeri "Salı" ve 10 değer tutabilecek olan İsimler değişkeninin 8 numaralı değeri "Hasan" olacaktır. Böyle, birden fazla değer tutabilen değişkenlere Dizi Değişken veya Array denir.
Array Fonksiyonu

VBScript' in kullanıma hazır bir çok fonksiyounu vardır, bunlardan biri olan Array ile kolayca dizi değişken oluşturabiliriz.
Örneğin, Gunler(7) dizi-değişkenini isimler ile doldurmak istiyoruz:

<%
Dim İsimler = Array ("Pazartesi", "Salı", "Çarşamba", "Perşembe", "Cuma", "Cumartesi", "Pazar")
%>

Böylece hem dizi değişkeni oluşturabiliriz, hem de değerlerini atayabiliriz. Buna göre daha sonra dizi değişkenin üyelerini sıra numarası ile çağırabiliriz:
<%= Gunler(5) %>bize "Cumartesi" değerini verir. Neden mi? Çünkü dil tasarımcıları, sayı saymaya biz dünyalılar gibi 1' den değil de 0' dan başlarlar. Dolayısıyla Gunler dizi değişkeni Gunler(0)' dan başlayacaktır.
VBScript, bir değişkene alfanümerik (karakter, metin) olarak atadığımız değeri çift tırnak içine almanızı ister. Sayı olarak kullanacağımız değerleri ise tırnak içine almazsınız. Fakat işleri karıştıran nokta, VBScript açısından değişken türü diye bir şey olmamasıdır. Visual Basic, script dili haline getirilirken, değişken türü özelliği alınmayınca, ortaya işleri karıştıran ya da kolaylaştıran böyle bir durum çıkıyor. Bu sizin kafanızı karıştırmasın. Sadece işlemlerde dikkat etmemiz gereken bir kaç nokta var.
Bazı ASP programcıları, bu eksikliği gidermek için değişken adlarının önüne karakter dizileri için "str" harflerini koyarlar: strAy, strGunler, gibi.
Daha iyi anlamak için bir örnek yapalım. islem.asp adı ile kaydedelim:
<html>

<%
Dim Degisken(2), Toplam
Degisken(1) = "Seren"
Degisken(2) = "Sah"
Toplam = Degisken(1) + Degisken(2)
%>


<%= Toplam %>

</html>


Bu sayfayı çalıştırdığınızda sayfaya SerenSah yazıldı değil mi? (Arada boşluk olmayışına aldırmayın. Daha sonra göreceğiz.) Şimdi Değişken(1)' in değeri olarak "Seren" yerine tırnak içinde 3, Sah değeri yerine yine tırnak içinde 10 yazın. Şimdi sayfayı tekrar açalım. Sonuç? 310 değil mi? Şimdi tırnakları kaldırın 3 ve 10 ' un çevresinden. Sonuç? Doğru sonuç aldığınızdan eminim. Sayıların çevresinden tırnak işaretlerini kaldırınca VBScript bunların sayı olduğunu anladı ve işlemi ona göre yaptı.
Değişkenleri ve değişmeyenleri öğrendiysek şimdi İşlemcilere geçebiliriz :)
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.