ASP-Array-Fonksiyonu_emresupcinSevgili okurlar hepinize merhaba,

Az önce yazmış olduğum makalemde IsNull fonksiyonunu anlatmıştım. Yazdığım o makalenin yanı sıra siz sevgili arkadaşlara Array Fonksiyonunu’da anlatmak istiyorum.

 

 

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 çokboyutlu 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 dizideğ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? Dizideğ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 dizideğ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 dizideğ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.

Yazar
Yazar
Bilgisayar Programcısı, Web Tasarımcı, Üniversite Öğrencisi...
Twitter Facebook Google Linkedin Flickr YouTube

Önceki Yazı:ASP’de Gelişmiş IsNull Fonksiyonu Nasıldır?

Sonraki Yazı:AdSense Hakkında Bilmeniz Gereken Çok Önemli 5 Şey Nedir?

BENZER YAZILAR
YORUMLAR
SİZ DE CEVAP YAZABİLİRSİNİZ
Bu yazı hakkında görüşünüzü belirtin.

ES Web Tasarım Web Tasarım Blog Teması Emre Supçin Bu tema ES Web Tasarım tarafından düzenlenmiştir. Hiçbir şekilde kopyalanamaz.