BİLİŞİM - BİLGİSAYAR - EĞİTİM
  Hazır Fonksiyonlar
 

Sık Kullanacağımız Hazır Fonksiyonlar

VBScript’te kullanabileceğimiz bir iki hazır-fonksiyona yukarıda değindik. Tesadüfî sayı üreten Rnd() fonksiyonu bunlardan biriydi; ayrıca Int() fonksiyonu ile kesirli bir sayının tam bölümünü alabildiğimizi gördük. VBScript’in kullanılmaya hazır daha bir çok fonksiyonu vardır; ancak ASP uygulamalarında sık kullanacağımız ve özellikle metin düzenlemeye ait olan bir kaçını burada sıralayalım.

Tarih ve saat

Belki de Web’in zamana çok bağlı oluşu dolayısıyla, Visual Basic’in hemen hemen bütün zaman-tarih fonksiyonları VBScript’te de kullanılır.

Date: Bugün tarihini verir. (25.03.2000 gibi)

Time: O andaki saati verir. (22:24:40 gibi)

Now: O andaki tarih ve saati birlikte verir. (25.03.2000 22:24:40 gibi)

VBScript’in buna ek olarak Weekday (haftanın günü), WeekdayName (günün adı) ve Monthname (ayın adı) fonksiyonları da vardır. Bu fonksiyonlar değerlerini Date fonksiyonuna göre alırlar. Örneğin,

<%= WeekdayName(Weekday(Date))%>

komutu bize bugün Cumartesi ise “Cumartesi” değerini verir.

<%= MonthName(Month(Date))%>

komutu bize bu ay Mart ise “Mart” değerini verir. VBScript’in bunlara ek olarak Day (gün), Month (ay) ve Year (yıl) fonksiyonları da değerlerini Date fonksiyonundan alarak, size bir rakam verirler. Eğer tarih 25 Mart 2000 ise:

<%= Day(Date)%>... 25

<%= Month(Date)%>... 3

<%= Year(Date)%>... 2000

değerini verir. VBScript, bu değerleri doğruca işletim sisteminden alır. Dolayısıyla işletim sisteminin bölgesel ayarları Türkiye için yapılmışsa, gün adları Türkçe olarak dönecektir. Ayrıca, tarih ve saat biçimleri de bölgesel ayarlara bağlı olarak, ay önde, gün arkada veya tersi, saat de 12 saat veya 24 saat esasına göre döner. ASP programlarınızı kişisel Web Server’da denerken kendi bilgisayarınızın tarih ve saatini; gerçek Internet’te çalıştırırken Server’ın tarih ve saatini alırsınız. Sayfalarınızda ay ve gün adlarını Türkçe görüntülemek için, önce Server’ın bölgesel ayarlarını sınamanız ve eğer isimler Türkçe gelmiyorsa, bunları çeviren Sub’lar veya fonksiyonlar yazmanız gerekebilir.

Karakter-dizisi Düzenleme

Karakter-dizisi veya String, VBScript için herşey olabilir. “Sana Sevdanın Yolları Bana Kurşunlar” bir String’dir. “Bugün 7 Ağustos 2000” bir String’dir. “Doğum Günün Kutlu Olsun!” bir String’dir. Web sitemizi ziyaret eden kişinin formlarımıza yazacağı ve Gönder tuşunu tıklayarak Server’a göndereceği bilgiler String’dir. Fakat bunların hepsi olduğu şekliyle işimize yaramaz. Bunları yeniden düzenlemek, içinden seçmeler yapmak veya biçimlerini değiştirmek gerekebilir. VBScript bu amaçla kullanılmaya hazır bir dizi fonksiyon verir:

InStr           Uzun bir String’in içinde vereceğiniz daha kısa bir String’in bulunup bulunmadığını arar; bulursa bu kısa String’in başlama noktasının değerini verir. Diyelim ki, “Sana Sevdanın Yolları Bana Kurşunlar” String’ini Kayahan değişkenine, “Sevda” kelimesini de Ara değişkenine atadınız. InStr fonksiyonu ile Ara’nın değerinin yerini Kayahan’ın değerinin içinde bulabilirsiniz:

        Yer = InStr(Kayahan, Ara)

                   Yer’in değeri 6 olacaktır; çünkü “Sevda” kelimesi, uzun String’de 6’ncı karakterden başlamaktatır.

Len             Bir String’in uzunluğunu belirler. Yukarıdaki örnekte yer alan Kayahan değişkenin uzunluğunu şöyle belirleyebiliriz:

        Uzunluk = Len(Kayahan)

                   Uzunluk değişkeninin değeri 36 olacaktır.

UCase        Vereceğiniz bir String’in tüm karakterlerini büyük harfe çevirir.

        YeniString = UCase(Kayahan)

                   Yeni String’in değeri: “SANA SEVDANIN YOLLARI BANA KURŞUNLAR” olacaktır.

LCase         Vereceğiniz bir String’in tüm karakterlerini küçük harfe çevirir.

        YeniString = LCase(Kayahan)

                   Yeni String’in değeri: “sana sevdanın yolları bana kurşunlar” olacaktır.

LTrim, RTrim, Trim      Verdiğiniz String’in (sırasıyla) solunda yani baş tarafında; sağında yani sonunda ve hem başında ve hem de sonundaki boşlukları temizler.

Space          İçinde, vereceğiniz sayı kadar boşluk olan boş bir String oluşturur. Örneğin

        Bosluk = Space(20)

                   Bosluk değişkenin değeri “          “ (20 boşluk) olacaktır.

String         İstediğiniz sayıda ve istediğiniz bir karakterle bir String oluşturur.

        YeniString = String(3, “*”)

                   YeniString değişkeninin değeri “***” olacaktır.

Left, Right Bir String’in içinde soldan (baştan) veya sağdan (sondan) verdiğiniz sayıya kadar olan karakterleri verir. Örneğin, yine yukarıdaki Kayahan değişkenini kullanırsak:

        Solda = Left(Kayahan, 4)

                   Solda değişkeninin değeri “Sana” olacaktır; çünkü Kayahan değişkeninin soldan itibaren dört harfi “Sana“ kelimesine denk geliyor.

Mid            Bir String’in içinde başlangıç noktasını ve karakter olarak boyunu verdiğiniz alanda yer alan String’i verir.

        Ortada = Mid(Kayahan, 5,

                   Ortada değişkeninin değeri “Sevdanı” olacaktır; çünkü Kayahan değişkeninin soldan 5’nci değişkeninden itibaren 8 karakterlik alanda “Sevdanı” karakterleri yer alıyor.

Dizi-Değişken (Array) Fonksiyonu

VBScript’in dizi-değişken oluşturmada Array() fonksiyonu ile sağladığı kolaylıklara kısaca değindik. Fakat Array ile daha bir çok iş yapabiliriz; ve dizi değişken oluşturmakta VBScript’in diğer bazı kolaylıklarından yararlanabiliriz. Dizi-değişkenler, özellikle Web ziyaretçilerimizden gelecek bilgilerin kaydedilmesinde; veritabanından çekeceğimiz verilerin kullanılır hale getirilmesinde yararlı bir araçtır. Dolayısıyla ASP sayfalarınızda sık sık çok-boyutlu dizi değişkenlerden yararlanacaksınız. Bunun için gerekli araçları kısaca ve topluca ele almamız yerinde olur.

Bir dizi değişken oluştururken, değişkenin eleman sayısını belirtmezsek, VBScript, kendi kendine “Anlaşılan bu diziyi dinamik yapmamı istiyorlar!” der; ve daha sonra elemanlarının değerleri sonradan belirtilebilecek ve eleman sayısı sonradan arttırılabilecek bir dinamik dizi-değişken oluşturur. (“VBScript iyi huyludur,” demiş miydim?) Örnek:

Dim Ogrenciler()

Bu komutla, Ogrenciler dizi-değişkeni oluşturulur; ancak eleman sayısı belirtilmediği için dizi dinamiktir; yani daha sonra bu dizinin eleman sayını belirleyebilirsiniz. Bunu:

ReDim Ogrenciler(15)

gibi bir komutla yapabiliriz. Şimdi aklınıza şu soru gelebilir: Peki neden Ogrenciler dizisini baştan eleman sayısını belirterek tanımlamıyoruz? Güzel soru! Cevabı şu olabilir mi? Dizi-değişkenimizin eleman sayısını henüz bilmiyoruz; ve programın akışı içinde bu sayı, başka bir fonksiyonun, Sub’ın veya kullanıcı girdisinin sonucu olarak belirlenebilir. Fakat hemen belirtmek gereken bir nokta var: ReDim komutu, mevcut bir dizi-değişkenin içindeki herşeyi siler! Mevcut dizinin elemanlarını ve onların değerlerini korumak istiyorsak:

ReDim Preserve Ogrenciler(20)

yazmamız gerekir. Buradaki Preserve (koru) komutu, VBScript’e mevcut dizi içindeki elemanları korumasını, ve eleman sayısını 20’ye çıkartmasını bildirir. Buna neden gerek olabilir? Ziyaretçinin tercihleri değişebilir; örneğin bir elektronik alışveriş sitesinde ziyaretçiniz yeni şeyler alabilir; daha önceki alışverişlerine ilişkin verileri tuttuğunuz dizi-değişkenin eleman sayısını, daha önceki bilgileri silmeden arttırmanız gerekir.

VBScript’in dizi-değişkenlerini tümü aynı adı taşıyan bir liste olarak düşünebilirsiniz; sadece değişken adının yanında dizinin kaçıncı elemanı olduğunu belirten sayı bulunur:

Ogrenciler(1): Necip

Ogrenciler(2): Serap

Ogrenciler(3): Neslihan

Fakat VBScript çok boyutlu dizi değişken de oluşturabilir. İki boyutlu dizi-değişkeni tablo gibi düşünün; dizinin elemanları aynı adı taşıyan değişkenler fakat bu kez sadece tek sayı değil sıra ve sütun numaraları ile belirleniyorlar:

Ogrenciler(1,1): Necip

Ogrenciler(1,2): Serap

Ogrenciler(1,3): Neslihan

Ogrenciler(2,1): Selim

Ogrenciler(2,2): Murat

Ogrenciler(2,3): Merve

Ogrenciler(3,1): Elif

Ogrenciler(3,2); Hande

Ogrenciler(3,3): Leyla

Şimdi, burada üç sıralı, üç sütunlu bir tablo getirebilirsiniz gözünüzün önüne. Bu dizi-değişkeni şu komutla oluşturabiliriz:

Dim Ogrenciler(3,3)

Böyle bir değişkende sözgelimi birinci sıra (numarası 1,x olanlar) çalışkanları, ikinci sıradakiler (2,x’ler) daha az çalışkanları vs., belirtebilir. VBScript, üç, dört ve hatta beş boyutlu dizi-değişken oluşturur. Ama bunu nerede kullanacağınızı siz kararlaştırabilirsiniz.

Bir dizi-değişkenin herhangi bir elemanın değerini, programın herhangi bir aşamasında değiştirebilirsiniz:

Ogrenciler(3,2) = “Caner”

komutu, Hande’nin adını siler ve yerine Caner’in adını yazar.

Dizi-değişkenlerimizin eleman sayısını bilmek isteyebiliriz. Kimi zaman dizi-değişkenlerimizin eleman sayısı biz belirlemeyiz; bu bilgi bir formdan gelebilir; bir veritabanından alınabilir; fakat mesela bir döngü için bu değişkenin kaç elemanı olduğunu bilmek gerekir. Örneğin elimizde 35 elemanı olan Ogrenciler dizi-değişkeni varsa, bu sayıyı

ElemanSayisi = UBound(Ogrenciler)

komutu ile ElemanSayisi değişkenine yazdırırız. ElemanSayisi’nin değeri bu durumda 35 olacaktır.

Test Fonksiyonları

VBScript’te kullandığımız bazı değişkenlerin o andaki durumu, programımızın akışını kontrolde kullanacağımız bilgiyi sağlayabilir. Sözgelimi bir değişkenin değeri boş ise, ziyaretçimizin formu tam olarak doldurmadığını düşünebiliriz. VBScript, bize değişkenlerin durumunu sınamamız için bazı özel fonksiyonlar sağlar. Bu özel fonksiyonlardan dönen değer True (doğru) veya False (yanlış) olur; doğru sonucun değeri –1, yanlış sonucun değeri ise 0’dır:

IsArray       Bir değişkenin dizi-değişken (Array) olup olmadığını sınar.

IsDate        Bir değişkenin değerinin tarihe (Date) çevrilip çevrilemeyeceğini sınar.

IsEmpty     Bir değişkenin tanımlanıp değer atanmış olup olmadığını sınar.

IsNull         Bir değişkenin geçerli bir değer tutup tutmadığını sınar.

IsNumeric  Bir değişkenin sayı olarak işleme tabi tutup tutulamayacağını sınar

IsObject     Bir ifadenin geçerli bir ActiveX veya OLE nesnesine referansta bulunup bulunmadığını sınar.

TypeName  Bir değişkenin türünü belirtir.

VarType     Bir değişkenin türünü belirten sayıyı verir.

                   ***

Şimdi ASP için gerekli VBScript bilgisi bu kadar değil tabiî. Ama bu, işe başlamamız için yeter. İlerde yeni VBScript komutları, veya fonksiyonları ile karşılaşırsak (ki size garanti ederim, karşılaşacağınızı!) onları orada kısaca ele alırız. Ama yukarıdaki VBScript bilgisi, her zaman lazım!

 
 
  Bugün 99 ziyaretçi (143 klik) www.bilisim-egitim.tr.gg  
 
Bu web sitesi ücretsiz olarak Bedava-Sitem.com ile oluşturulmuştur. Siz de kendi web sitenizi kurmak ister misiniz?
Ücretsiz kaydol