|
ARRAY FONKSİYONU
Soru gelebilir: VBScript’te değişkenin
metin mi, sayı mı olduğunu ayırt etmiyor muyuz? Başka programlama
dillerinde 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. Programlama dillerinde 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
Necip değerini atamak istiyorsunuz: Necip 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!) Fakat, işleri karıştıran nokta,
VBScript açısından değişken türü diye bir şey olmamasıdır. Visual Basic,
küçültülüp Script dili haline getirilirken, değişken türü özelliği
alınmayınca, ortaya işleri karıştıran (veya kolaylaştıran) böyle bir
durum çıkmış bulunuyor. Karışıklık, çift tırnak içinde verdiğiniz bir
değeri matematik işlemde kullanmaya kalktığınızda karşınıza çıkabilir.
Rakam olmayan bir karakter-dizisini bir değişkene tırnaksız olarak
atadığınızda VBScript “tanımsız değişken” vermeye kalktığınızı
söyleyerek, duracaktır.
VBScript’In bu eksikliğini gidermek içIn bazı ASP
programcıları değişken adlarının önüne karakter-dizileri içIn
“str” harflerini koyarlar: strAy, strOgrenciler, gibi.
İ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:
<% Option Explicit %>
<HTML>
<%
Dim Degisken(2), Toplam
Degisken(1) = "Necip"
Degisken(2) = "Dayanır"
Toplam = degisken(1) + Degisken(2)
%>
<% =Toplam %>
</HTML>
Sonuç: “NecipDayanır” 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. Oh, neyse! Bir an içIn VBScript matematik
bilmiyor sandık! Bu durum VBScript’In matematik bilgisinin
kıtlığından değil, tırnak içindeki değerlerin, VBScript ayrım yapmıyor
bile olsa, karakter-dizisi (String) iken toplama işleminde ard
arda eklenmesinden (concatenate) kaynaklanıyor. Tırnakları
kaldırdığınızda, VBScript bu değerlerin sayı olduğunu anladı ve Doğru
işlemi, yani toplama işlemini yaptı. Şimdi VBScript’In
değişkenleri ele alış tarzını daha iyi kavramak içIn Degisken(1)
değeri olarak tırnak işareti koymadan kendi adınızı, Degisken(2) değeri
olarak da soyadınızı yazın ve programı çalıştırın. Ne sonuç aldınız?
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 Belgenin
Başı
Sabit Değerler
VBScript’te bir kere verdiğiniz değeri hiç değişmeyen unsurlar (değişken
diyemezdik, değil mi?) vardır. Sabit değer, bütün ASP sayfası boyunca
(hatta isterseniz, bütün site, yani Uygulama boyunca) değişmeden kalır.
Bu değerleri Const (constant, sabit kelimesinden türetilme)
komutuyla belirtiriz:
Const DolarDeger = 560780
Const SirketinAdi = “Web Tasarım ve Site Onarım A.Ş.”
Const Slogan = “Siteler ve Kırık Kalpler Onarılır”
VBScript’te İşlemciler (Operatörler)
Bilgisayar Operatörü ile program Operatörü arasında fazla bir fark
yoktur. Her ikisi de verdiğiniz değerleri ya karşılaştırır bir sonuç
bulurlar; ya da bu değerlerle aritmetik işler yapar ve bir sonuç ortaya
çıkartırlar. Bilgisayar Operatörü daha sonra bu iş içIn sizden
para ister; program operatörü istemez! VBScript’In operatörleri
ve yaptıkları işler şöyle sıralanır:
Operatör İşlev Sınıfı
+ Toplama Aritmetik
- Çıkartma
* Çarpma
/ Bölme
^ Üssünü alma
\ Tamsayı bölme
Mod Modüler aritmetik
= Bir değişkenin diğerine eşit olduğunu sınar Karşılaştırma
<> Bir değişkenin diğerine eşit olmadığını sınar
>And< Bir değişkenin diğerinden büyük veya küçük olduğunu sınar (And
kelimesi var)
>= And <= Bir değişkenin diğerinden büyük veya eşit, veya küçük
veya eşit olduğunu sınar (And kelimesi var)
Is Bir ifadedeki iki referansın aynı Nesne’ye yapılıp
yapılmadığını sınar
And Bir veya daha fazla değişkeni test olarak karşılaştırır
Mantıksal
Or Bir işlemin devamı içIn hangi koşulun oluşması
gerektiğini sınar
Not Bir ifadeyi negatif hale getirir
XoR Sadece bir koşulun Doğru olup olmadığını sınar
Eqv İki değişkenin eşitliğini sınar
Imp İki ifadede mantıksal implikasyon işlemi yapar.
VBScript ile yazacağımız ASP sayfalarında bu işlemcileri beklediğimiz
sonucu verebilmesi içIn kullanım sıraları önemlidir. Bunu bir
örnekle açıklayalım. 100’den 6’yı çıkarmak ve sonucu 2’ye bölmek
istiyorsunuz; sonuç 47 olacaktır. Yani: 100-6/2. Değil mi? Bu işlemin
VBScript’teki sonucu 97 olacaktır. Çünkü, VBScript önce 6’yı 2’ye
bölecek ve elde ettiği sonucu 100’den çıkartacaktır. VBScript’te,
aritmetik işlemlerin yapılma sırası şöyledir:
Operatör İşlev Öncelik
+ Toplama 3
- Çıkartma 3
* Çarpma 2
/ Bölme 2
^ Üssünü alma 1
VBScript ile hesap işlemi yaparken, aritmetik işlem sırasını
karıştırarak hatalı sonuç almamak içIn sık sık parantez kullanmak
yerinde olur. Yukarıdaki örnek şöyle yazılabilirdi: (100-6)/2. Tabii
amacınız 100’ü 6/2’ye bölmek ise bu işlemi şöyle yazmalısınız:
100-(6/2).
|