RSS Feed Twitter Facebook

Abone Ol!

26 Mart 2010 Cuma

ASP'de Değişken Tanımlama


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 " &degisken_adi) veya Response.Write  "q00qle " &degisken_adi
veyahut <%="q00qle "  &degisken_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