ASP de Değişkenler
Değişkenler bilgi depolamak için bir depo gibi düşünün, isimlerini de depodaki bu bilginin numarası gibi sayfa kodlarımız başladıktan sonra istediğimiz yerde oluşturulabilirler ve sayfa kodlarımız son bulmadan istediğimiz anda o depoya başvurarak istediğimiz numarali bilgiyi çekebiliriz.
Bir değişken (kullaniciadi) gibi (x), ya da daha açıklayıcı bir isim gibi, kısa bir ad olabilir.
Değişkenler için aklımızda bulundurmamız gereken kurallar.
- Özel karakterler içermez.
- Mutlaka bir harfle başlamalıdır.
- 255 karakteri geçemez. (sanki 200 olsa yetmeyecek gibi) 55'i de var görüyonmu
- Türkçe karakterler özel karakter sayıldığından içermez.
- Dim kullaniciadi (kullaniciadi, adında tek bir değişken oluşturur)
- Dim kullaniciadi,soyadı,uyeid (kullaniciadi,soyadı ve uyeid adında 3 değişken oluşturur)
Örnekler
<%
Dim degiskenim
degiskenim = "Değişkene yazılan verimiz"
response.write(degiskenim)
%>
Kopyala
degiskenim adında bir değişken belirleyip ona bir veri girdik ve sayfaya yazdırdık!
<%
Dim dunya,ulke,sehir
dunya = "Dünya dönüyor! "
ulke = "Vatanım, Memleketim! "
sehir = "İstabnul, Ankara, izmir"
response.write(dunya & ulke & sehir)
%>
Kopyala
dunya,ulke ve sehir adlarında 3 değişken olusturduk veri girdik ve sayfaya yazdırdık.
Option Explicit
Değişken oluştururken Dim sözcüğünün kullanımı mecbur değildir kullanmasak bile ASP, degiskenim = "Değişkene yazılan verimiz" seklindeki bir tanımı değişken olarak algılayacaktır ancak Dim degisken dedikten sonra kodların daha alt satırlarında tekrar Dim degisken kullanırsak bu degişken zaten tanımlı olduğu için hata verecektir Option Explicit Dim sözcüğünün kullanımı mecbur kılar böylece Dim deyimi ile oluşturulmamış değişken olamaz hata verir.
Örnekler
<%
Dim dunya
dunya = "Dünya dönüyor!"
response.write(dunya)
Dim dunya
dunya = "Dünya dönüyor!"
response.write(dunya)
%>
Kopyala
Üstteki kod hata verecektir çünkü zaten sayfada Dim dunya adını taşıyan bir değişken önceden oluşturulmuştur bu yüzden bu değişkenin sadece değerini değiştirebilir veya değer ekleyebiliriz.
<%
degiskenim = "Dünya dönüyor! "
response.write(degiskenim)
%>
Kopyala
Bu değişken Dim sözcüğü olmadığı halde de çalışır ancak aşağıdaki gibi olunca çalışmaz.
<%
Option Explicit
Dim degiskenim
degiskenim = "Dünya dönüyor! "
response.write(degiskenim)
yenidegisken = "Dünya dönmüyor Artık! "
response.write(yenidegisken)
%>
Kopyala
Üstteki kod yenidegisken değişkenine geldiğinde hata verecek çünkü Option Explicit kullandık ve yenidegisken değişkeni için Dim sözcüğünü kullanmadık Option Explicit değişken isimlerini yazarken hata yapmamızı engeller misal Dim degiskenim seklinde bir değişkeni sayfanın alt satırlarında yazarken hatayla dagiskenim seklinde yazarsak hata alır ve bunu bulmamız için kodları araştırırız, Option Explicit belirtmemiş olsaydık Dim deyimi belirtmediğimiz halde dagiskenim = "değeri" seklinde yeni bir değişken oluşurdu.
Değişkenlerdeki veri türleri
Veri türleri herhangi bir veri olabilir buradaki ayırım sayısal veya sayısal olmayan şeklinde değişiklik gösterir sayısal olmayan her veri için degişken degeri " (çift tırnaklar) içine yazılır sayısal değerlerde çift tırnak kullanılmaz kullanılırsa sadece sayısal olmayan olarak algılanır ve matematiksel işlemlerde bu veri kullanılamaz.
<%
Dim sayi
sayi = "50" 'sayısal olmayan veridir matematiksel işlem yapılamaz
response.write(sayi)
%>
Kopyala
<%
Dim sayim
sayim = 50
yenisayim = 20
response.write(sayim - yenisayim)
%>
Kopyala
Üstte sayısal olmayan verisi olan bir değişken örneği ve sayısal olan ayrıca matematiksel işlem yapan kodları görüyorsunuz.
Sayısal olmayan bir değişken verisi (çift tırnaklar) içine yazılırsa ve bu veri içinde bir veya birden fazla çift tırnak varsa ilk gelen tırnak dahi değişkenin sonu sayılacağı için veri içindeki tırnakları "" şekinde çift yazarız böylece hem dğişkenin formatı bozulmaz hem asp bunu sayfaya tek tırnak olarak yazar.
Array (Dizi Değişkenler)
Bir dizi değişkeni tek bir değişkeni birden fazla değer depolamak için kullanılır.
Dim degisken(2)
üstte , 3 değer içeren bir dizi örneğini yazdık parantez içinde 2 yazdığına aldanmayın dizilerin ilk sayısı 0 ile başlar, Dizi değişkenin her bir elemanı farklı değerler alablir.
<%
Dim degisken(2)
degisken(0) = "Dünya dönüyor! "
degisken(1) = "Vatanım, Memleketim! "
degisken(2) = "İstabnul, Ankara, izmir"
response.write(degisken(2))
%>
Kopyala
Üstteki kodlarla dizi değişkenin her elemanına birer veri ekledik 3. diziyi response.write ile sayfaya yazdırdık.
Bir dizi değişkenin herhangi bir elemanını farkli bir değişkene çekebiliriz.
<%
Dim degisken(2)
degisken(0) = "Dünya dönüyor! "
degisken(1) = "Vatanım, Memleketim! "
degisken(2) = "İstabnul, Ankara, izmir"
Dim sehir 'Yeni değişken
sehir = degisken(2) 'Yeni değişkenimize dizinin 3. elemanındaki veriyi ekledik
response.write(sehir)
%>
Kopyala
Bir dizi birden fazla 60 taneye kadar farklı eleman alabilir, parantez içindeki rakamları virgülle ayırarak birden fazla eleman oluşturabiliriz.
Dim degisken(2,4) Bu 3 satır 5 sütundan oluşan iki elemanlı bir dizidir.
<%
Dim dizi(2,2)
dizi(0,0)="ilk elemanın 1. verisi"
dizi(0,1)="ilk elemanın 2. verisi"
dizi(0,2)="ilk elemanın 3. verisi"
dizi(1,0)="ikinci elemanın 1. verisi"
dizi(1,1)="ikinci elemanın 2. verisi"
dizi(1,2)="ikinci elemanın 3. verisi"
dizi(2,0)="üçüncü elemanın 1. verisi"
dizi(2,1)="üçüncü elemanın 2. verisi"
dizi(2,2)="üçüncü elemanın 3. verisi"
for i=0 to 2
response.write("<div>")
for x=0 to 2
response.write(dizi(i,x) & "<br>")
next
response.write("</div><br>")
next
%>
Kopyala
Üstte 3 satır 3 sütünlü bir dizinin örneği verilmiştir for döngüsü ile tek tek ayıklanarak ekrana yazdırdık tek birini yazdırmak için
response.write(dizi(0,0)) bu sekilde yapabilirdik bu ekrana sadece (ilk elemanın 1. verisi) yazacaktı.
ASP'de değişken kullanımını anladık sanırım onun için bol bol kullanın zira onlar olmasa zaten ne olurdu sonumuz bilemiyorum hatta düşünmek te istemiyorum.
Başka bir yazıda tekrar birlikte olacağız şimdilik bir değişkene giriyorum ve yazılmayı beklemekteyim :)
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
Dim Ay
Dunya = "Dünya dönüyor!"
AY = "Ay, Dünya'nın Çevresinde Dönüyor!"
%>
...........
...........
...........
Kullanacağınız mantığa uyar mi b'lm'yorum ancak bunu javascript ile yapabilirsiniz mesela değişkenlerden alınan veriyi sayfa yüklendikten sonra üstteki div'lere javascript ile yazdırabilirsiniz.