Asp'de değişken tanımlarken "Dim" ifadesini kullanıyoruz.. Fakat değişkenleri tanımlarken bunların sayı ile başlamamasına dikkat edelim.. Örneğin; 1sayi,2sayi yanlış.. Doğrusu sayi1,sayi2 şeklinde olmalıdır.. $ <== işareti ile başlayan bir değişken de tanımlayamıyoruz..Matematikte kullandığımız mod ve ingilizce kelime olan not (olumsuz)'ıda değişken olarak kullanamıyoruz.. Çünkü bunların asp'de farklı anlamları bulunmaktadır.. Değişkenleri tanımlamaya başlayalım
Örneğin ; Dim değişken1,değişken2,vs.... şeklinde
Bunu basit bir örnek ile anlatalım sayi1,sayi2,toplam,cikar ve sonuc diye 5 adet değişkenimiz olsun sayi1'e 25 değerini sayi2'ye 35 değerini toplam sayi1+sayi2=toplam-cikarc ile de sayi1 ve sayi2'nin toplamında elde edilen ve toplam değişkenine atanan değerden cikar değişkenini yani 40'ı çıkartıyoruz
Toparlamak gerekirse sayi1+sayi2=toplam-cikar=sonuc=??
Örnek1:
<% Dim sayi1,sayi2,toplam,cikar,sonuc 'değişkenleri tanımladık.. sayi1=25 'sayi1'e 25 değerini atadık.. sayi2=35 'sayi2'ye 35 değerini atadık.. cikar=40 'cikar'a 40 değerini atadik.. toplam=sayi1+sayi2 'sayi1 ile sayi2 değişkenimizi topladık.. sonuc=toplam-cikar 'toplamdan 40'ı çıkardık.. Response.Write(sonuc)'ve sonucu ekrana yazdırdık.. %>
Burada Response.Write(sonuc) yerine <%=sonuc%> diyebilirdik..
Dim olmadan da değişken tanımlayabiliriz Dim sayi1,sayi2,toplam,cikar,sonuc demeden direkt olarak değişken=değer şeklinde sayi1=25 gibi de değişken tanımlayabiliriz..
Örnek2:
<% sayi1=25 'sayi1'e 25 değerini atadık.. sayi2=35 'sayi2'ye 35 değerini atadık.. cikar=40 'cikar'a 40 değerini atadik.. toplam=sayi1+sayi2 'sayi1 ile sayi2 değişkenimizi topladık.. sonuc=toplam-cikar 'toplamdan 40'ı çıkardık.. Response.Write(sonuc)'ve sonucu ekrana yazdırdık.. %>
Fakat bu kullanım şekli kodlarımızın karışmasına veya gereksiz, geçersiz değişken tanımlamamıza neden olabilir. İşte bu karışıklığı engellememiz ve daha düzenli kod yazmamız için Option Explicit ifadesini kullanıyoruz. Option Explicit değişken tanımını zorunlu kılmak için kullanılan bir keyword'dür.. ve kullanımı ise HTML kodlarının en üstü <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> 'in ise bir alt satırına <%OPTION EXPLİCİT%> şeklinde yazılır.. Derlemek gerekirse ;
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> <%OPTION EXPLICIT%>
Option Explicit kodunu örnek2'de kullanırsak bize "Değişken Tanımsız "sayi1" " hatasını verir.. Neden peki sayi1??? sayi2, toplam veya cikar değil çünkü sayi1 ilk değişkenimiz olduğu içindir.. Her neyse Option Explicit'i örnek1'de kullanılacak olursanız herhangi bir hata mesajı ile karşılaşmazsınız.. Şimdi yukarıdaki örneğimizi biraz daha zorlaştıralım ve şu şekilde bir çıktı alalım..
1.sayı 25 ve 2.sayı 35'in toplamı = 60'dır. Çıkan sonuçtan 40'eksilir ise sonuç 20'dir. şeklinde ekrana yazdıralım. Fakat burada 25,35,60 ve 20 sayıLarını değişkenlerden atayacağız.. Response.Write("string" & integer & "string" & integer vs...)
Örnek3:
<% Dim sayi1,sayi2,toplam,cikar,sonuc 'değişkenleri tanımladık.. sayi1=25 'sayi1'e 25 değerini atadık.. sayi2=35 'sayi2'ye 35 değerini atadık.. cikar=40 'cikar'a 40 değerini atadik.. toplam=sayi1+sayi2 'sayi1 ile sayi2 değişkenimizi topladık.. sonuc=toplam-cikar 'toplamdan 40'ı çıkardık.. Response.Write("1.sayı " &sayi1& " ve 2.sayı " &sayi2& "'in toplamı = " &toplam& "'dır. Çıkan sonuçtan " &cikar& "'eksilir ise sonuç " &sonuc& "'dir.") %>
Response.Write("1.sayı " &sayi1& " ve 2.sayı " &sayi2& "'in toplamı = " &toplam& "'dır. Çıkan sonuçtan " &cikar& "'eksilir ise sonuç " &sonuc& "'dir.")
Bakın 1.sayı bir string alfasayısal yani karakterdir integer ise sayısal değerlere denir..
1.sayı = string
sayi1 = bir değişken fakat bu değişkene atanmış olan değer bir sayısal değerdir bu yüzden integer'dır
ve 2.sayı = string
sayi2 = integer
'in toplamı = string
toplam = integer
'dır. Çıkan sonucun = string
cikar = integer
'e bölümüde = string
sonuc = integer
'dir = string
& = ampersand (Asp'de string ile değişkeni birleştirmeye yarıyor )
Son olarak string yazdıracağımız zaman Response.Write("q00qle") veya Response.Write "q00qle" veyahut <%="google"%> gibi...
Değişken yazdıracağımız zaman ise Response.Write(degisken_adi) veya Response.Write degisken_adi veyahut <%=degisken_adi%>
String + Değişken yazdıracaksak (ampersand) ==> & ile birleştiriyoruz.. Response.Write("q00qle " °isken_adi) veya Response.Write "q00qle " °isken_adi
veyahut <%="q00qle " °isken_adi%>
Şunu unutmamak gerek string yazdırmak istiyorsak " " (çift tırnak aç string çift tırnağı kapat) içerisine stringimizi yazıyoruz ama yok değişkeni yazdıracak isek " " (çift tırnak) açıp kapamıyoruz.. Aksi takdirde ekrana yazdıracağınız değişken kendisine atanmış olan değeri deilde string şeklinde yani karakter olarak çıktı vericektir.. Ek olarak aklıma gelmişken belirtmemde fayda olucağını düşünüyorum matematikten de bilinir ki işlemlerin öncelik durumları vardır. Çarpma ve bölme toplama ve çıkarmaya göre öncelikli olduğu için ilk o işlemler yapılır. Bu nedenle toplu işlemlerde öncelik operatörlerinden faydalanmanız gerekir.
Örnek:
a = 4*5+2
şayet 4*5 = 20 ve 20+2 = 22 sonucunu elde ederiz.
fakat 5+2 = 7 ve 7*4'den ise 28 sonucu çıkar.
her ikiside doğru gibi gözüksede biz işlemimizde öncelikle 5 ile 2'yi toplatmak istiyorsak sonuç olarak 28 çıkacaktır. Bu nedenle böyle durumlarda önceliklerden yararlanıyoruz..
0 yorum:
Yorum Gönder