Ana Sayfa Eğitim Site Eğitim CD Eğitim Kitap Eğitim Haber iletişim
 

 

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).

 

© copyright 2007-2008 www.aspegitimi.com www.egitimogretim.com üyesidir.