Asp-de Değişkenler
Her programlama dilinde olduğu gibi ASP’de de değişkenlerle çalışmaktayız. Bu değişkenler alfasayısal (cümle, kelime, harf ve sayılar) ya da sayısal olabilir. Şimdi bunları birer örnekle görelim:
Mesela “Gün,” değişkenin adı ise bu değişkenin değeri Pazar, Pazartesi, Salı, vd., olabilir. Her değişken, türüne göre, ya bir ya da daha fazla değer tutar. Adından da anlaşılacağı gibi değişkenin değeri değişir! Bu değişikliği biz yapabiliriz; programın kendisi yapabilir.
VBScript’te, bir çok başka bilgisayar programlama dilinden farklı olarak değişkenlerin tanımlanması veya “beyan edilmesi,” “boyutlandırılması” gerekmez.
Belirtilmemiş, önceden tanımlanmamış bir değişkene değer atamaya kalkarsanız, VBScript bunu mükemmel şekilde kabul eder. Fakat bu kötü bir programcılıktır. İyi programcılık değişkenlerin önceden beyan edilmesini gerektirir. Bunu DIM komutuyla yaparız. DIM, Dimension (boyutlandır) kelimesinden kısaltılmıştır. Pek akıllıca görünmese de bu komut, bilgisayarın değişken yeri olarak bir bellek alanının boyutunu belirtmesini sağlar.
Örnekler:
<%
DIM Gun, Ay, Ogrenci, Not
Gun = “Pazartesi”
Ay = “Ocak”
Ogrenci = “Ahmet”
Not = 5
%>
Şimdi burada Gun, Ay, Ogrenci, Not adıyla dört değişken oluşturduğumuzu ve bunlara sırasıyla “Pazartesi,” “Ocak,” “Ahmet” ve “5” değerlerini atadığımızı görüyorsunuz. Bu noktada VBScript yorumlayıcısına sorsanız, “Peki, söyle bakalım, Gun değişkeninin değeri nedir?” diye, yorumlayıcı size “Bunu bilmeyecek ne var? Elbette Pazartesi’dir!” derdi.
Peki şöyle bir tanımlama acaba ortaya nasıl bir değişken çıkartır.?
<%
DIM Gunler(31), Aylar(12), Ogrenciler(210), Notlar(10)
%>
Bu yöntemle oluşturduğumuz kodlarla elde edilecek “kaplar,” birden fazla değer tutabilir. Yani:
<%
DIM Gunler(7), Aylar(12), Ogrenciler(21), Notlar(10)
Gunler(1) = “Pazartesi”
Aylar(3) = “Mart”
Ogrenciler(12) = “Ahmet”
Notlar(5) = 5
%>
Bu durumda içinde 7 ayrı değişken tutabilecek olan Günler değişkeninin 1 numaralı olanının değeri “Pazartesi,” 12 değer tutabilecek olan Aylar değişkeninin 3 numaralı olanının değeri “Mart,” 21 ayrı değer tutabilecek olan Ogrenciler değişkeninin 12 numaralı olanının değeri “Ahmet” ve nihayet 10 ayrı değer tutabilecek olan Notlar değişkeninin 5 numaralı olanının değeri ise 5 olacaktır. Böyle, birden fazla değer tutabilen değişkenlere Dizi Değişken veya Array denir.
Array Fonksiyonu:
VBScript’in kullanılmaya hazır bir çok fonksiyonu vardır; bunlardan biri olan Array ile, kolayca dizi değişken oluşturabiliriz.
Diyelim ki, Gunler(7) dizi-değişkenini gün adları ile doldurarak oluşturmak istiyoruz:
<%
DIM Gunler = Array (“Pazartesi” , “Salı” , “Çarşamba” , “Perşembe” , “Cuma” , “Cumartesi”, “Pazar”)
%>
ile hem dizi-değişkeni oluşturabiliriz; hem de değerlerini atayabiliriz.
Bu suretle oluşturduğumuz dizi değişkenin üyelerine daha sonra sıra numaraları ile atıfta bulunabilirsiniz. Örneğin:
<%= Gunler(6) %>
bize Pazar’ı verir. Neden? Çünkü, sayı saymaya 1’den değil 0’dan başlarlar; dolayısıyla Gunler dizi-değişkeni Gunler(0)’dan başlar!
VBScript’te değişkenin metin mi, sayı mı olduğunu ayırt etmiyor muyuz?
Evet, ediyoruz.Bir değişkenin değeri harf ve rakamlardan oluşuyorsa, yani matematik işlem yapmaya elverişli değilse bunlara String(Alfanümerik, karakter değerler) denir. Bir de matematik işlem yapmaya elverişli değişken türü vardır: Sayı(Number).
VBScript, bir değişkene alfanümerik (karakter, metin) olarak atadığınız değeri çift tırnak “ içine almanızı ister. Sözgelimi Ogrenci(12) değişkeni için Ahmet değerini atamak istiyorsunuz: “Ahmet” kelimesini çift tırnak içine almak zorundasınız. Sayı olarak kullanacağınız değerleri ise tırnak içine almazsınız. (Sayı olarak kullanacağınız değerlerin sadece rakam olabileceğini söylemek gerekmez!)
İsterseniz, VBScript’in karakter-dizisi ve sayı değişkenleri nasıl ayırt ettiğini veya etmediğini bir kaç örnekle görelim. Şu kodu yazarak, çalıştırın:
<HTML>
<%
Dim Degisken(2), Toplam
Degisken(1) = “Ahmet”
Degisken(2) = “Velioğlu”
Toplam = degisken(1) + Degisken(2)
%>
<% =Toplam %>
<HTML>
Sonuç: AhmetVelioğlu değil mi? (Arada boşluk olmamasına aldırmayın şimdilik!) Peki; şimdi Degisken(1) değeri olarak tırnak içine alarak 5, Degisken(2) değeri olarak yine tırnak içinde 10 yazın. Programı tekrar çalıştırın. Sonuç? 510!? Peki; tırnakları kaldırın 5 ve 10’un çevresinden. Sonuç? 15
VBScript’in kullandığı tek tür değişkene variant denir. Variant, karakter-dizini (String) de olabilir, sayı (Number) da. Fakat bir variant’ın içindeki değer, veri olarak nitelendiğinde şu türlerden birine girer:
Boolean Değişkenin değeri ya True (doğru) ya da False (yanlış) olur; True’nun değeri -1, False’un değeri ise 0’dır.
Byte 0 ile 255 arasında bir sayısal değer olabilir.
Double Yüzen noktalı değer denilen veri türüdür. Pozitif sayılar için 4.9E-324 ile 1.8E308 arasında, negatif sayılarda -4.9E-324 ile -1.8E308 arasında bir değer alabilir.
Date/Time Önceden belirlenmiş biçimlerde tarih ve zaman bilgisi içerir.
Empty Tanımlanmış ancak henüz değer atanmamış (boş) değişken türüdür.
Error Programın hata mesajlarını ve hata değerlerini tutar.
Integer Noktalık bölüm içermeyen tamsayı verilerdir; değeri -32.768 ile +32.767 arasında olabilir.
Long Noktalık bölüm içermeyen tamsayı verilerdir; değeri -2.147.483.648 ile 2.147.483.648 arasında olabilir.
Null İçinde veri bulunmamak üzere tanımlanmış değişkenlerdir.
Object Windows OLE Nesnelerini tutmak üzere tanımlanmış değişkenlerdir.
Single Yüzen noktalı değer denilen veri türüdür. Pozitif sayılar için 1.4E-45 ile 3.4E38 arasında, negatif sayılarda -1.4E-45 ile -3.4E38 arasında bir değer alabilir.
String Alfanumerik veri tutan değişkenlerin değeridir.
ASP Değişkenleri yanında Nesne tabanlı bir yazılım dili olan ASP programlama dilinin Nesne ve Unsurlarını anlatan konumuzu okuyabilirsiniz.
Safirmedya
Merhaba Murat, eğer sorunuzu doğru anladıysam, şöyle ki kodlar satır satır sırayla çalışacağından bu şekilde ileride tanımlayacağınız bir değişkeni daha önceden kullanamazsınız. Ancak, başka bir sayfada değişkeni tanımlayarak, o sayfayı başlangıçta include ederek kullanabilirsiniz.
4 yıl önce
Murat
Soracağımn soru biraz garip gelebilir ama bir yerde ihtiyacım oldu... Bir sayfanın sonunda oluşturulmuş bir değişkeni aynı sayfanın başında kullanmanın bir yolu var mı? Daha Detaylı Anlatayım SAYFAYI MESELA AŞAĞIDAKİ GİBİ DÜŞÜNÜRSEK ........... ........... <%response.write(Ay)%> ........... ........... ........... <%response.write(Dunya)%> ........... ........... ........... ........... <% Dim Dunya, Ay Dunya = "Dünya dönüyor!" AY = "Ay, Dünya'nın Çevresinde Dönüyor!" %> ........... ........... ...........
4 yıl önce