Asp’nin Temelleri

1.      ASP’nin Temelleri

1.1.   Değişkenler

Bütün programlama dillerinde olduğu gibi vbscriptte de değişkenler terimi vardır. Bu terim sayesinde program içerisinde işleyeceğimiz sayısal veya metinsel değerleri kullanmaktansa bu değerlerin yerini tutan bir değişkeni kullanırız. Bu sayede program içerisinde daha esnek bir yapı kurabiliriz. Değişkenleri temsil eden adlar vardır, örneğin “isim” değişkeni (tarih, toplam… gibi) isim değerleri alır. Anlaşıldığı üzere değişkenin adı değişmiyor fakat değişken içerisinde tutulan değer değişebiliyor. (bu değişiklik programcının kontrolünde meydana geliyor). Verilen değer program akışına göre farklılaşabildiği için bu terime değişken diyoruz.

 

Piyasada kullanılan bütün programlama dillerinde değişkenler kullanılmadan önce tanımlanmalı ve boyutlandırılmalıdır. Fakat vbscript de bu dillerin aksine değişkenlerin tanımlanması ve boyutlandırılması zorunlu değildir.  Vbscript tanımlanmamış değişkenleri hiç bir hata vermeden kabul eder. Fakat karmaşık programlarda sayfalar arası değişken problemleri yaşanabilir (daha önceden kullandığımız bir değişkene bir değer atamadan tekrar başka bir yerde kullanırsak eski değeri kalacağı için programda hatalar oluşacaktır). Bunu değişkenlerimizi kullanılmadan önce tanımlayarak engelleyebiliriz. (profesyonel bir programcı değişkenlerini kullanmadan önce mutlaka tanımlar böylece programın ilerleyen safhalarında değişken hatası yapmamış olacaktır) Bu alışkanlığı zorunluluk haline getirmek için vbscipt de “Option Explicit” komutu kullanılır. Komutu kullanmamız durumunda ASP yordamcısı her kullandığımız değişkeni kullanmadan önce tanımlanmasını zorunlu kılar, bu sayede sayfalar arası değişken karmaşası oluşmaz. Ve değişken adlarının yanlış yazılması bir nevi engellenmiş olur. Bu komutu mutlaka ASP programlarınızın ilk satırında kullanmalısınız, diğer hallerde program hata verecektir.

 

Asp de değişken tanıtma işlemi için “Dimension” (boyut) kelimesinin kısaltılmışı olan “DIM” komutu kullanılır. Bu komut yardımı ile, kullanılan değişkenler kod başlangıcında belirtilerek tanımlanır (iyi bir programlama için kod başında değişken tanımlaması yapmak daha iyidir. Ama sayfa içerisinde herhangi bir yerde değişken tanımlaması yapmak, bir hata meydana getirmeyecektir.).

 

<%

   Option Explicit

   Dim Ad

%>

Örnek 12 : Değişken Tanımlama.

 

Örnekte görüldüğü gibi “DIM” komutu ile “Ad” değişkenini tanımlamış olduk bu tanımlamayı yapmadan önce “option explicit” komutunu kullandık. Bu komutu kullanma amacımız Ad değişkenini programın ilerleyen aşamalarında bir daha kullandırtmamak (değişken adı olarak) ve karışıklık olmasını engellemektir (değişken değeri değiştirilebilir fakat bu isimde başka bir değişken kullanılamaz). Bu tanımlama işlemini:

 

<%

   Ad = “Günce Akkoyun”

%>

Örnek 13 : Değişkene Değer Atama.

 

Şeklinde kullansak dahi program hatasız çalışacaktır. Fakat kullanım pratikliği ve kodlama sağlamlığı bakımından “Option Explicit” kullanımı daha iyi olacaktır. “Option Explicit” komutu ile,

 

<%

   Option Explicit

   Ad = “Günce Akkoyun”

%>

Örnek 14 : Hatalı Değer Atama.

 

Şeklinde bir kullanım mutlaka hata verecektir.

 

Microsoft VBScript runtime (0x800A01F4)

Variable is undefined: ‘Ad’

/asp/test.asp, line 3

Çıktı 1 : Tanımlanmamış Değişkene Değer Atama.

 

Bu hata bize değişkenimizin tanımlanmadan kullanıldığını belirtecektir. Doğru kullanımında mutlaka değişken tanımlanmalıdır.

 

<%

   Option Explicit

   Dim Ad

   Ad = “Günce Akkoyun”

%>

Örnek 15 : Geçerli Değişken Tanımlama ve Değer Atama.

 

Şeklinde olacaktır. Bu şekilde yapılan değişken tanımlamalarında programın ilerleyen aşamalarında tekrar “Ad” isimli bir değişken kullanamayacağımız için bir karışıklık olmayacaktır. Bu size şu anda anlamsız gelebilir ama büyük kodlar (10000-20000 satır) olduğu zaman bu size anlamlı gelecektir.

 

Temelde kullanılandığımız değişken türleri sayısal, alfa-sayısal ve mantıksal olmak üzere üçe ayrılmaktadır. Ancak VbScript, her programlama dilinde karşımıza çıkan integer, real, string, boolean vs.. gibi temel veri tipi tanımlarından yoksun bir dildir. Peki VbScript bir değişkenin hangi türde olduğunu nasıl anlar? Bunu o değişkene değer atandığı zaman anlar. Aşağıdaki atamaları inceleyelim,

 

<%

   Option Explicit

   Dim x, y, z, t, u

 

     x = 15

     y = “15”

     z = “Zeytinyağlı yiyemem aman”

     t = True

     u = ASPgüncesi

%>

Örnek 16 : Değişkene Değişik Veri Tipleri Atama.

 

Yukarıdaki örneğimizde “x” değişkenine sayısal bir değer atadığımız için o andan itibaren “x” değişkeni sayısal bir veri tipinde olacaktır (bu tip belirleme VbScript tarafından otomatik olarak yapılmaktadır). Bu nedenle tüm sayısal işlemlerde kullanılabilir. Durum “y” değişkeni için ise biraz farklıdır. “y” değişkeni tırnak içerisinde olduğundan dolayı alfa-sayısal bir veri tipinde olacaktır. Bu nedenle sayısal işlemlere girmeyecek ve sadece metinsel işlemlerde kullanılacaktır. “z” değişkeninde ise sayısal içeriğe sahip olmayan, metinsel bir değere sahip olan bir değişkeni temsil etmektedir. “t” değişkeninde ise sadece “doğru” (true – 1) veya “yanlış” (false – 0) değerini alabilen bir boolean veri tipi gösterilmektedir. “u” değişkeni de ne oluyor diye düşünüyor olmalısınız. Düşünmekte haklısınız çünkü metin değişkenleri sadece tırnak işareti içerisinde tanımlanabilir diğer hallerde hata verecektir.

1.1.1.      Seri Değişkenler

Vbscript programları içerisinde bir değişkene birden çok değer verilebilmektedir. Bu olaya “Seri Değişken” denilmektedir. Örnek vermek gerekirse 7 kişilik bir sınıf içersindeki öğrencilerin isimlerini tek bir değişkende tutabiliriz.

 

<%

   Option Explicit

   Dim Ad(7)

 

     Ad(1) = “Günce”

     Ad(2) = “Refiye”

     Ad(3) = “Haldun”

     Ad(4) = “Meral”

     Ad(5) = “Alp”

     Ad(6) = “Seda”

     Ad(7) = “Gökçe”

%>

Örnek 17 : Diziye Değer Atama.

 

Şeklinde bir tanımlama yaptığımız zaman “Ad” değişkenine 7 farklı değer vermiş olduk. Kaç farklı değer alabileceğini “DIM” komutu ile değişken tanımlarken parantez içerisinde boyutlandırmış olduk. Bu örnekte neden her isim için farklı değişken kullanmadık ta bir seri kullandık diyecek olursanız. Yani

 

<%

   Option Explicit

   Dim Ad1, Ad2, Ad3, Ad4, Ad5, Ad6, Ad7

 

     Ad1 = “Günce”

     Ad2 = “Refiye”

     Ad3 = “Haldun”

     Ad4 = “Meral”

     Ad5 = “Alp”

     Ad6 = “Seda”

     Ad7 = “Gökçe”

%>

Örnek 18 : Kullanışsız Değişken Dizisi.

 

Hemen cevabını verelim; dizi değişkenlerde bir değişkeni numarasıyla kullanabilirsiniz ve numara yerine başka bir değişken kullanabilirsiniz.

 

Bilgi : String özelliği taşıyan değişkenler (yani tırnak içerisinde tanımlanmış metinsel değere sahip değişkenler) hiçbir şekilde dönüştürme işlemi yapılmadan matematiksel işlem içerisinde kullanılamaz.

 

<%

   …

   numara = 6

   response.write

   Ad(numara)

   …

%>

Örnek 19 : Dizi İçindeki Bir Öğenin Kullanımı.

 

Şeklinde bir kullanım ile 6 numaralı “Ad” değişkenini ekrana yazdırmak gibi bir işlem gerçekleşecektir. (bu programcıkta ilk olarak “numara” değişkenine 6 değerini atadık ve bu “numara” değişkenini “Ad(numara)” şeklinde seri içerisinde kullandık.)

 

Bir dizi değişkeni boyutu isteklerimizin altındaysa yani elimizdeki toplam dizi öğesi adedi, dizinin tanım aralığı dışında kalmış ise, dizimizin tanım aralığını yani boyutunu genişletebiliriz. Bunun için “redim” komutu kullanılır (yeniden boyutlandır). Fakat bu komutun şöyle bir özelliği vardır: yeniden tanımlanan bir dizi yeniden tanımlama öncesi kendisine verilen hiçbir değeri yeniden boyutlandırma sonrası vermez. Bir diğer değişke içeriği sıfırlanır.

 

<%

   Option Explicit

   Dim Ad(5)

 

     Ad(0) = “Günce”

     Ad(1) = “Refiye”

     Ad(2) = “Haldun”

     Ad(3) = “Meral”

     Ad(4) = “Alp”

 

   ReDim Ad(7)

 

     Ad(5) = “Seda”

     Ad(6) = “Gökçe”

%>

Örnek 20 : Redim Komutu ile Diziyi Yeniden Boyutlandırma.

 

Verilen örnekte yeniden tanımlama sonrası “Ad(0) – Ad(4)” değişkenleri sıfırlanacak yani null içeriğe sahip olacaktır. Yeniden tanımlama sırasında eski dizi değerlerinin korunmasını istersek “Redim” komutunu “Preserve” komutuyla beraber kullanmalıyız. Bu şekilde eskiye dönük verinin korunacağını yeniden tanımlama sırasında belirtmiş oluruz.

 

<%

   Option Explicit

   Dim Ad(5)

 

     Ad(0) = “Günce”

     Ad(1) = “Refiye”

     Ad(2) = “Haldun”

     Ad(3) = “Meral”

     Ad(4) = “Alp”

 

   ReDim Preserve Ad(7)

 

     Ad(5) = “Seda”

     Ad(6) = “Gökçe”

%>

Örnek 21 : Redim Preserve Komutu ile Diziyi Yeniden Tanımlama.

 

Bu şekilde yeniden tanımlanan dizi eski değerlerinden hiçbir veriyi kaybetmez. Böylece eski verilerde kullanılabilmektedir.

 

Dizi değişkenleri yukarıdaki örneklerdeki gibi tek boyutlu olabilmesinin yanında birden çok boyuta da sahip olabilirler. Örnek vermek gerekirse matematikte kullanılan matriks sistemini düşünün bu size iki boyutlu dizi hakkında fikir verecektir. Matriks üzerinde birinci satır birinci sütunda ki değer x(1,1) şeklinde ifade edilmektedir. Örneğin aşağıdaki 4×4 matriksi ASP içerisinde tanımlamamız için,

 

 

<%

   Option Explicit

   Dim x(7,5)

     x(1,1) = 25

     x(1,2) = 7

     x(2,1) = 19

     x(2,2) = 97

%>

 

Örnek 22 : Çok Boyutlu Dizi Kullanımı.

 

Şeklinde bir değişken ataması yapabiliriz. Bu atamada iki boyutlu bir matriksi VbScript’imize tanımlamış olduk aynı yöntemle üç ve dört boyutlu seriler tanımlayabilmekteyiz.

1.2.   Sabitler

Program içerisinde her zaman değişken değerleri değişebilir değil bazen de sabit olmaları istenebilir. Bu tip değişkenlere (değişken demek biraz yanlış ama..) bir kere değer atandıktan sonra bir daha değiştirilemez (sabit değer bütün program boyunca (hatta isterseniz bütün site boyunca) değişmeden kalır). Bu işlemi vbscript içerisinde “Constant” (Sabit) kelimesinin kısaltılmışı olan “Const” komutu yardımı ile yapılır.  Const terimi ile değer verilmiş bir değişkenin tanımlanmasına gerek yoktur.

 

Sabit olduğu “Const” komutu ile belirtilmiş bir değişkene..

 

<%

   Option Explicit

   Const Url = “www.akkoyun.net”

%>

Örnek 23 : Sabit Kullanımı.

 

Şeklinde kullanılan bir sabit değişkene başka bir veri atanmaya çalışıldığı zaman hata verecektir.

 

<%

   Option Explicit

   Const Url = “akkoyun.net”

   ….

   Url = “pcworld.com.tr”

%>

Örnek 24 : Bir Sabite Değer Atamak.

 

Yani “Url” sabitine kendi değeri dışında bir değer verilmek istenmiştir fakat hata mesajı verecektir. (Illegal  assignment: ‘Url’ ).

 

Vbscript programlama dilinde kullanılan değişkenlere genel olarak variant denir. Variant genel olarak bir grubu temsil eder ve alt grupları mevcuttur.  Bunlar değişkenin cinsine göre otomatik olarak tanınır. (diğer programlama dillerinde bu özellik yoktur ve değişken tanımlanırken veri tipi yani variant grubu tanımlanır fakat asp de bu olay yordamcı tarafından otomatik gerçekleşir).

 

VbScript içerisinde kullanıcıya kolaylık sağlamak için bazı hazır tanımlanmış sabitler mevcuttur. Bu sabitler kodlama sırasında istenildiği şekilde kullanılabilmektedir. Bu sabitler ve değerleri aşağıda verilmiştir.

1.2.1.      Renk Sabitleri

Sabit

Değer

Açıklama

vbBlack

&h00

Siyah

vbRed

&hFF

Kırmızı

vbGreen

&hFF00

Yeşil

vbYellow

&hFFFF

Sarı

vbBlue

&hFF0000

Mavi

vbMagenta

&hFF00FF

Gül Kurusu

vbCyan

&hFFFF00

Turkuaz

vbWhite

&hFFFFFF

Beyaz

Tablo 2 : Renk Sabitleri.

1.2.2.      Tarih ve Zaman Sabitleri

Sabit

Değer

Açıklama

vbSunday

1

Pazar

vbMonday

2

Pazartesi

vbTuesday

3

Salı

vbWednesday

4

Çarşamba

vbThursday

5

Perşembe

vbFriday

6

Cuma

vbSaturday

7

Cumartesi

vbUseSystem

0

Sunucunun bölgesel ayarlarında yer alan tarih veya zaman biçimini kullan

vbUseSystemDayOfWeek

0

 

vbFirstJan1

1

1 Ocak gününün içerisinde yer aldığı haftayı kullan

vbFirstFourDays

2

En az 4 günü yeni yılda olan ilk haftayı kullan

vbFirstFullWeek

3

7 günüde yeni yıl içersinde yer alan ilk haftayı kullan

Tablo 3 : Tarih ve Zaman Sabitleri.

1.2.3.      Tarih Biçim Sabitleri

Sabit

Değer

Açıklama

vbGeneralDate

0

Sistem ayarlarındaki gösterim biçimi

vbLongDate

1

Uzun tarih gösterimi (June 26, 1943)

vbShortDate

2

Kısa tarih gösterimi (6/26/43)

vbLongTime

3

Uzun zaman gösterimi (3:48:01 Pm)

vbShortTime

4

Kısa zaman gösterimi (15:48)

Tablo 4 : Tarih Biçim Sabitleri.

1.2.4.      Çeşitli Sabitler

Sabit

Değer

Açıklama

vbObjectError

-2147221504

Kullanıcı tarafından tanımlanan hata tipi numaraları

Tablo 5 : Çeşitli Sabitler.

1.2.5.      Mesaj Kutusu Sabitleri

Sabit

Değer

Açıklama

vbOkOnly

0

Sadece OK butonu göster

vbOkCancel

1

Ok ve İptal butonu göster

vbAbortRetryIgnore

2

Abort, Retry ve Ignore butonu göster

vbYesNoCancel

3

Yes, No ve Cancel butonu göster

vbYesNo

4

Yes ve No butonu göster

vbRetryCancel

5

Retry ve Cancel butonu göster

vbCritical

16

Kritik mesaj iconu göster

vbQuestion

32

Uyarı soru mesajı iconu göster

vbExclamation

48

Uyarı mesajı iconu göster

vbInformation

64

Bilgi mesajı iconu göster

vbDefaultButton1

0

Ilk buton varsayılan

vbDefaultButton2

256

Ikinci buton varsayılan

vbDefaultButton3

512

Üçüncü buton varsayılan

vbDefaultButton4

768

Dördüncü buton varsayılan

Tablo 6 : Mesaj Kutusu Sabitleri.

1.2.6.      Mesaj Kutusu Cevap Sabitleri

Sabit

Değer

Açıklama

vbOk

1

Ok butonu tıklandı

vbCancel

2

Cancel butonu tıklandı

vbAbort

3

Abort butonu tıklandı

vbRetry

4

Retry butonu tıklandı

vbIgnore

5

Ignore butonu tıklandı

vbYes

6

Yes butonu tıklandı

vbNo

7

No butonu tıklandı

Tablo 7 : Mesaj Kutusu Cevap Sabitleri.

1.2.7.      String Cevap Sabitleri

Sabit

Değer

Açıklama

vbCr

Chr(13)

vbCrLf

Chr(13) & Chr(10)

vbFormFeed

Chr(12)

Form Besleme

vbLf

Chr(10)

Satır Besleme

vbNewLine

Chr(13) & Chr(10) veya Chr(10)

Yeni Satır

vbNullChar

Chr(0)

0 değerine sahip karakter

vbNullString

“”

vbTab

Chr(9)

Horizantal Tab

vbVerticalTab

Chr(11)

Vertical Tab

Tablo 8 : String Cevap Sabitleri.

1.2.8.      Durum Sabitleri

Sabit

Değer

Açıklama

vbTrue

-1

Doğru

vbFalse

0

Yanlış

Tablo 9 : Durum Sabitleri.

1.2.9.      Karşılaştırma Sabitleri

Sabit

Değer

Açıklama

VbBinaryCompare

0

Binary Karşılaştırma

VBTextCompare

1

Metin Karşılaştırma

VBDataBaseCompare

2

Veri Tabanı Karşılaştırması

Tablo 10 : Karşılaştırma Sabitleri.

1.2.10.  Değişken Tipi Sabitleri

Sabit

Değer

Açıklama

vbEmpty

0

Tanımsız data

vbNull

1

Geçerli data içermeyen

vbInteger

2

Integer

vbLong

3

Long

vbSingle

4

Single

vbCurrency

6

Currency

vbDate

7

Date

vbString

8

String

vbObject

9

Object

vbError

10

Error

vbBoolean

11

Boolean

vbVariant

12

Variant

vbDataObject

13

Data object

vbDecimal

14

Decimal

vbByte

15

Byte

vbArray

16

Array

Tablo 11 : Değişken Tipi Sabitleri.

1.2.11.  Sürücü Tipi Sabitleri

Sabit

Değer

Açıklama

Unknown

0

Tanımlanmamış sürücü

Removable

1

Tüm taşınabilir medya aygıtları. Içerisinde disket sürücüleri de vardır

Fixed

2

Sabit diskler

Remote

3

Network sürücüleri

CDROM

4

CdRom sürücüsü

RamDisk

5

RAM üzerinde yer alan sanal disk alanı

Tablo 12 : Sürücü Tipi Sabitleri.

1.2.12.  Dosya Özelliği Sabitleri

Sabit

Değer

Açıklama

Normal

0

Normal dosya

ReadOnly

1

Salt okunur

Hidden

2

Gizli

System

4

Sistem dosyası

Directory

16

Dizin

Archive

32

Arşiv

Alias

1024

Link veya kısayol

Compressed

2048

Sıkıştırılmış dosya

Tablo 13 : Dosya Özelliği Sabitleri.

1.2.13.  Dosya Girdi Çıktı Sabitleri

Sabit

Değer

Açıklama

ForReading

0

Dosyayı sadece okuma için aç. Bu tip açılan dosyaya yazılamaz.

ForWriting

1

Dosyayı yazma için aç. Eğer bu dosya daha önceden varsa üzerine yazar.

ForAppending

8

Dosyayı yazmak için açar ve sonuna yazar

Tablo 14 : Dosya Girdi Çıktı Sabitleri.

1.2.14.  Özel Dizin Sabitleri

Sabit

Değer

Açıklama

WindowsFolder

0

Windowsun kurulu olduğu dizin

SystemFolder

1

Fontların ve sürücülerin bulunduğu sistem dizini

TemporaryFolder

2

Temprorary dizini

Tablo 15 : Özel Dizin Sabitleri.

1.3.   Operatörler

Değişkenlerimiz arasında işlemler yaptırabiliriz. Bu işlemler için operatör dediğimiz işaretleri kullanırız. Bu operatörler bildiğiniz matematiksel operatörlerdir.

 

Aritmetik

Karşılaştırma

Lojik

Açıklama

Sembol

Açıklama

Sembol

Açıklama

Sembol

Üst Alma

^

Eşitlik

=

Lojik Zıtlık

Not

Çıkarma

Eşitsizlik

<> 

Lojik ve

And

Çarpma

*

Küçüktür

Lojik veya

Or

Bölme

/

Büyüktür

Lojik özel veya

Xor

Integer Bölme

\

Küçük Eşittir

<=

Lojik eşdeğer

Eqv

Modüler

Mod

Büyük Eşittir

>=

Lojik içerme

Imp

Toplama

+

Obje Eşdeğeri

Is

 

 

Metinsel Birleştirme

&

 

 

 

 

Tablo 16 : Operatörler.

Kullanımları ise şu şekildedir.

1.3.1.      Aritmetik Operatörler

1.3.1.1.              Üst Alma

İstenilen sayısal değerin (integer) istenilen sayısal kuvvetini almaya yarayan operatördür. Üstü alınan sayı veya üst değeri “Null” ise sonuçta “Null” olacaktır. Üst alma operatörü SHIFT+3 tuşlarına basarak elde edilebilir.  

 

 

<%

   Option Explicit

   Dim x, y, Sonuc

   x = 25

   y = 7

   Sonuc = x ^ y

   respose.write Sonuc

%>

Örnek 25 : Üst Alma.

 

Sonuç “6103515625” olacaktır.

1.3.1.2.              Matematiksel İşlemler (+,-,*,\,/)

 

Matematikte kullanıldığı gibi istenilen şekilde işlemlerde kullanılabilir fakat unutulmaması gereken bir kaç nokta vardır. Bunlardan birincisi işlem yapılacak değişkenin veya sabitin numerik sayı değerine sahip olduğundan yani değişken alt tipinin uygun olduğundan emin olunuz. Eğer emin olamıyorsanız dönüştürme işlemi ile bu veri tipine çeviriniz. İkinci dikkat etmeniz gereken nokta ise işlemlerin sırasıdır. Bu sıra çarpma, bölme, toplama ve çıkartma sırasına göre yapılamaktadır.

 

 

<%

   Option Explicit

   Dim a, b, c, d,Sonuc

   a = 1

   b = 31

   c = 11

   d = 4

   Sonuc = [(a+b)/( b*c)]*d

   respose.write Sonuc

%>

Örnek 26 : Matematiksel Eşitlikler.

 

Sonuç olarak “0,3753” dönecektir.

1.3.1.3.              Modüler Aritmetik

İstenilen bir sayının modüler aritmetiğe uygun olarak hangi sistemde hangi değeri alacağını veriri. Matematikte kullanılan “Mod” fonksiyonu ile aynıdır hiçbir farkı yoktur.

 

 

 

<%

   Option Explicit

   Dim a, b, Sonuc

   a = 25

   b = 7

   Sonuc = a Mod d

   respose.write Sonuc

%>

Örnek 27 : Modüler Aritmetik.

 

Yukarıdaki örnekte 7’lik tabanda 25 değerini verecektir. Yani “4” değeri dönecektir.

1.3.1.4.              Metin Birleştirme

Metin birleştirme işlemi temel olarak iki veya daha çok karakter tabanlı değişkenin tek bir değişken gibi birleştirilmesine dayanır. Bu işlemi yaparken operatör seçimimize dikkat etmemiz gerekecektir.

 

<%

   Option Explicit

   Dim Ad,Soyad,isim

 

     Ad = “Günce ”

     Soyad = “Akkoyun”

     isim = Ad & Soyad

 

   respose.write isim

%>

Örnek 28 : Metin Birleştirme.

 

Sonuç “GünceAkkoyun” şeklinde olacaktır.  Unutmamak gerekir ki her operatör her veri tipinde kullanılamaz. Sayısal veya metinsel özellikteki verilere göre kullanım alanları değişir. Son olarak operatörlerin kullanımı sırasında veri tipine uygun operatör kullanmak gereklidir. Örneğin iki karakter değişkenini toplarken (birleştirirken) “+” yerine metinsel işlemlerde birleştirme anlamına gelen “&” sembolü kullanılmalıdır.

 

Not : İki veya daha fazla metin birleştirilirken, örneğin bir “Ad” ve “Soyad”, bu ikisi arasında boşluk bırakılmadan birleştirilecektir. Oysaki çoğu durumlarda arada boşluk bırakılması istenebilir. Böyle durumlarda manuel olarak araya boşluk bırakılmalıdır.

1.3.2.      Karşılaştırma Operatörleri

Programlarımız içerisinde kimi zaman iki farklı değişkeni birbirine göre kıyaslamamız (karşılaştırmamız) gerekebilmektedir. Bu gibi durumlarda karşılaştırma operatörleri kullanılmaktadır. Karşılaştırma operatörleri sayesinde iki değişken birbirine eşit mi?, eşit değil mi?, büyük mü?, küçük mü? veya bunların kombinasyonları şeklinde sınarız.

1.3.3.      Lojik Operatörler

Lojik operatörler karşılaştırma gibi kullanılabildikleri gibi birden çok operatörü birleştirmek içinde kullanılabilir (and veya or ile). Bu kullanımın dışında pek fazla kullanımı yoktur daha çok mantıksal sorgularda birkaç şartı birleştirmek için kullanılır. Özellikle “and”, “or” veya “not” operatörleri çok fazla kullanılmaktadır.

1.4.   Hazır Fonksiyonlar

Vbscript içerisinde değişkenlerimizi kontrol altında tutabilmemiz için bir dizi hazır fonksiyon bulunmaktadır. Bu fonksiyonları gruplar halinde inceleyeceğiz. Tüm bu fonksiyonları beş ana grupta toplayabiliriz.

 

  1. Metin işlemleri
  2. Sayısal işlemler
  3. Tarih işlemleri
  4. Test işlemleri
  5. Dönüştürme işlemleri
  6. Biçimlendirme işlemleri

1.4.1.      Metin işlemleri

Metin işlemleri isminden anlaşılacağı metinler üzerinde işlemler yapmamıza olanak tanıyan fonksiyonlardır. Bu fonksiyonlar diğer programlama dillerinde de aynen vardır. Kullanımları sadece metinsel tabanlı değişkenler (string,char,byte..) üzerinde mümkündür. 

1.4.1.1.              Asc

Açıklama

 

İçerisine gönderilen metinin (veya karakterin) ilk harfine ait ANSI karakter kodunu gönderir. ANSI karşılık tablosu bu kitap içerisinde yer alan tabloda sunulmuştur.

 

Yazım

 

Deger = Asc(String)

 

Fonksiyon içerisine gönderilen değer mutlaka bir karakter tabanlı değer içermek zorundadır. Fonksiyona gönderilen string eğer boş olursa çalışma zamanı hatası oluşacaktır.

 

Örnek

 

<%

   Option Explicit

   Dim Deger

 

     Deger = ASC(“A”)            ‘ 65 değeri döner.

     Deger = ASC(“a”)            ‘ 97 değeri döner.

     Deger = ASC(“Armut”)     ‘ 65 değeri döner.

%>

Örnek 29 : ASC Fonksiyonu.

1.4.1.2.              Chr

Açıklama

 

Asc fonksiyonunun tam tersini yapar ve verilen numerik değerleri ANSI karşılığı olan karaktere çevirir.

 

Yazım

 

Deger = Chr(numeric)

 

Fonksiyon içerisine gönderilen değer mutlaka bir sayısal değer içermek zorundadır. Fonksiyona gönderilen numerik değer 0-31 aralığında olduğu zaman bir karakter görüntülenmez, bunun sebebi ise bu aralıktaki karakterlerin özel karakterler olmasıdır. Örneğin Chr(10) satır atlatma kodudur ve görüntülenmesi mümkün değildir (kullanıldığı satırın bir altındaki satıra geçiş sağlar).

 

Örnekler

 

<%

   Option Explicit

   Dim Karakter

 

     Karakter = Chr(65)            ‘ A değeri döner.

     Karakter = Chr(97)            ‘ a değeri döner.

     Karakter = Chr(62)            ‘ > değeri döner.

     Karakter = Chr(37)            ‘ % değeri döner.

%>

Örnek 30 : Chr Fonksiyonu.

1.4.1.3.              Lcase

Açıklama

 

Lcase fonksiyonu içerisine gönderilen karakterleri veya karakter setlerini tamamen küçük harfe dönüştürülmüş olarak geri verir.

 

Yazım

 

Deger = Lcase(string)

 

Fonksiyon içerisine gönderilen değer mutlaka bir metinsel değer içermek zorundadır. Fonksiyona gönderilen değer “Null” olursa geriye dönen değerde “Null” olacaktır. Dikkat edilecek nokta şudur fonksiyona gönderilen metindeki sadece büyük harfler küçük harfe dönüştürülecektir. Metin içerisindeki küçük harfler veya metin tabanlı olmayan harfler bir dönüşüme uğramayacaktır.

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken, KucukMetin

 

     Degisken = “VBScript”

     KucukMetin = LCase(Degisken)         ‘   “vbscript” değeri döner.

%>

Örnek 31 : LCase Fonksiyonu.

1.4.1.4.              Ucase

Açıklama

 

Ucase fonksiyonu çalışma olarak Lcase fonksiyonunun tamamen zıttıdır. Ucase fonksiyonu içerisine gönderilen karakterleri veya karakter setlerini tamamen büyük harfe dönüştürülmüş olarak geri verir.

 

Yazım

 

Deger = Ucase(string)

 

Fonksiyon içerisine gönderilen değer mutlaka bir metinsel değer içermek zorundadır. Fonksiyona gönderilen değer “Null” olursa geriye dönen değerde “Null” olacaktır. Dikkat edilecek nokta şudur fonksiyona gönderilen metindeki sadece küçük harfler büyük harfe dönüştürülecektir. Metin içerisindeki büyük harfler veya metin tabanlı olmayan harfler bir dönüşüme uğramayacaktır.

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken, BuyukMetin

 

     Degisken = “VBScript”

     BuyukMetin = UCase(Degisken)         ‘   “VBSCRIPT” değeri döner.

%>

Örnek 32 : UCase Fonksiyonu.

1.4.1.5.              Left

Açıklama

 

Left fonksiyonu verilen bir metinsel değişkenin solundan belirtilen kadar karakteri alması için kullanılır. Soldaki birinci harf her zaman 1. harf olacaktır.

 

Yazım

 

Deger = Left(string, sayı)

 

Fonksiyon içerisine gönderilen stringin solundan itibaren yine fonksiyona gönderilen sayı kadar karakterini alacaktır. Fonksiyona gönderilen değer “Null” olursa geriye dönen değerde “Null” olacaktır.

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken, SolMetin

 

     Degisken = “VBScript”

     SolMetin = Left(Degisken, 3)         ‘   “VBS” değeri döner.

%>

Örnek 33 : Left Fonksiyonu.

1.4.1.6.              Right

Açıklama

 

Right fonksiyonu verilen bir metinsel değişkenin sağından belirtilen kadar karakteri alması için kullanılır. Sağdaki ilk harf her zaman 1. harf olacaktır.

 

Yazım

 

Deger = Right(string, sayı)

 

Fonksiyon içerisine gönderilen stringin solundan itibaren yine fonksiyona gönderilen sayı kadar karakterini alacaktır. Fonksiyona gönderilen değer “Null” olursa geriye dönen değerde “Null” olacaktır.

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken, SagMetin

 

     Degisken = “VBScript”

     SagMetin = Right(Degisken, 6)         ‘   “Script” değeri döner.

%>

Örnek 34 : Right Fonksiyonu.

1.4.1.7.              Mid

Açıklama

 

Bir string içerisinde başlangıç noktasını ve karakter olarak boyutunu verdiğimiz alanda yer alan stringi verecektir. Soldaki ilk harf 1. harf olarak kabul edilmektedir.

 

Yazım

 

Deger = Mid(string, başlangıç[, uzunluk])

 

Fonksiyon içerisine gönderilen stringin solundan itibaren yine fonksiyona gönderilen başlangıç değeri kadara içeriden, fonksiyona gönderilen uzunluk değeri kadar bir kısmı keser alır. Fonksiyona gönderilen değer “Null” olursa geriye dönen değerde “Null” olacaktır. Uzunluk opsiyonu zorunlu değildir gönderilmediği zaman başlangıçtan son harfe kadar olan kısmı alır.

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken, Metin

 

     Degisken = “Erhan Arı”

     Metin = Mid(Degisken, 7, 3)         ‘   “Arı” değeri döner.

%>

Örnek 35 : Mid Fonksiyonu.

1.4.1.8.              Len

Açıklama

 

Fonksiyon içerisine gönderilen metinsel değişkenin karaktersel olarak uzunluğunu bize verir.

 

Yazım

 

Deger = Len(string)

 

Fonksiyon içerisine gönderilen stringin solundan itibaren boyu sayılacak ve fonksiyon çıktısı olarak verilecektir. Fonksiyona gönderilen değer “Null” olursa geriye dönen değerde “Null” olacaktır.

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken, Uzunluk

 

     Degisken = “Arif Haldun Özer”

     Uzunluk = Len(Degisken)         ‘   16 değeri döner.

%>

Örnek 36 : Len Fonksiyonu.

1.4.1.9.              Ltrim

Açıklama

 

Fonksiyon içerisine gönderilen metinsel değişkenin solunda yer alan boşlukları atar ve değişkenin solunda yer alan boşluklar hariç diğer kısımları alır.

 

Yazım

 

Deger = LTrim(string)

 

Fonksiyon içerisine gönderilen stringin solundan itibaren kontrol ederek solda yer alan boşlukları yok eder. Fonksiyona gönderilen değer “Null” olursa geriye dönen değerde “Null” olacaktır.

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken

 

     Degisken = LTrim(“   Alp İlhan “)         ‘   “Alp İlhan “ değeri döner.

%>

Örnek 37 : LTrim Fonksiyonu.

1.4.1.10.           Rtrim

Açıklama

 

Fonksiyon içerisine gönderilen metinsel değişkenin sağında yer alan boşlukları atar ve değişkenin sağında yer alan boşluklar hariç diğer kısımları alır.

 

Yazım

 

Deger = RTrim(string)

 

Fonksiyon içerisine gönderilen stringin sağından itibaren kontrol ederek sağda yer alan boşlukları yok eder. Fonksiyona gönderilen değer “Null” olursa geriye dönen değerde “Null” olacaktır.

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken

 

     Degisken = RTrim(“   Alp İlhan “)         ‘   “   Alp İlhan“ değeri döner.

%>

Örnek 38 : RTrim Fonksiyonu.

1.4.1.11.           Trim

Açıklama

 

Fonksiyon içerisine gönderilen metinsel değişkenin sağında ve solunda yer alan boşlukları atar ve değişkenin sağ ve sol boşlukları hariç diğer kısımları alır.

 

Yazım

 

Deger = Trim(string)

 

Fonksiyon içerisine gönderilen stringin sağında ve solunda yer alan boşlukları yok eder. Fonksiyona gönderilen değer “Null” olursa geriye dönen değerde “Null” olacaktır.

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken

 

     Degisken = Trim(“   Alp İlhan “)         ‘   “Alp İlhan” değeri döner.

%>

Örnek 39 : Trim Fonksiyonu.

1.4.1.12.           Space

Açıklama

 

Fonksiyon içerisine gönderilen sayı değeri kadar boşluktan oluşan bir metinsel değişken oluşturur.

 

Yazım

 

Deger = Space(Sayı)

 

Fonksiyon içerisine gönderilen sayı değeri kadar boşluk olur. Fonksiyona gönderilen değer “Null” olursa geriye dönen değerde “Null” olacaktır.

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken

 

     Degisken = Space(10)                                    ‘ 10 adet boşluk değeri döner.

     Degisken = “Merhaba” & Space(1) & “Dünya”   ‘ “Merhaba Dünya” değeri döner.

%>

Örnek 40 : Space Fonksiyonu.

1.4.1.13.           String

Açıklama

 

Fonksiyon içerisine gönderilen sayı değeri kadar yine fonksiyon içerisine gönderilen karakteri yan yana koyar. Mantık olarak “space” fonksiyonuna çok benzer.

 

Yazım

 

Deger = String(Sayı, Karakter)

 

Fonksiyon içerisine gönderilen sayı değeri kadar karakteri yan yana koyar fakat fonksiyon içerisine gönderilen karakterin sadece ilk harfini alır yani karakter yerine bir metin girilirse sadece metnin ilk harfini alır. Bunun dışında karakter yerine karakterin ANSI kodunu da yazabilirsiniz.

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken

 

     Degisken = String(5, “*”)         ‘ “*****” değeri döner.

     Degisken = String(5, 42)          ‘ “*****” değeri döner.

     Degisken = String(10, “ABC”)   ‘ “AAAAAAAAAA” değeri döner.

%>

1.4.1.14.           Replace

Açıklama

 

Verilen string içerisinde istenilen bölümleri bulup başka bir string ile değiştirmeye yarar.

 

Yazım

 

Deger = Replace(Metin, bulunacakmetin, değiştirilecekmetin)

 

Fonksiyon içerisine gönderilen metin içerisinde bulunacakmetini arayarak yerine değiştirilecekmetin i değiştirir.

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken

 

     Degisken = Replace(“XXpXXPXXp”, “p”, “Y”)         ‘ “XXYXXPXXY” değeri döner.

%>

Örnek 41 : Replace Fonksiyonu.

1.4.1.15.           InStr

Açıklama

 

Uzun bir değişken içerisinde (string) daha kısa bir değişkenin (string) bulunup bulunmadığını arar; bulursa kısa değişkenin uzun değişken içerisinde kaçıncı karakterden itibaren başladığını belirtir.

 

Yazım

 

Deger = InStr(Metin, aranacakmetin)

 

Fonksiyon içerisine gönderilen metin içerisinde aranacakmetin’i bulup soldan itibaren kaçıncı karakterden başladığını verir.

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken, Bul, Sonuc

 

     Degisken = “XXpXXpXXPXXP”

     Bul = “P”

     Sonuc = Instr(Degisken, Bul)         ‘ 9 değeri döner.

%>

Örnek 42 : Instr Fonksiyonu.

1.4.1.16.           InStrRev

Açıklama

 

Uzun bir değişken içerisinde (string) daha kısa bir değişkenin (string) bulunup bulunmadığını metinin sonundan itibaren arar; bulursa kısa değişkenin uzun değişken içerisinde sondan kaçıncı karakterden itibaren başladığını belirtir.

 

Yazım

 

Deger = InStrRev(Metin, aranacakmetin)

 

Fonksiyon içerisine gönderilen metin içerisinde aranacakmetin’i bulup sağdan itibaren kaçıncı karakterden başladığını verir.

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken, Bul, Sonuc

 

     Degisken = “XXpXXpXXPXXP”

     Bul = “P”

     Sonuc = Instrrev(Degisken, Bul)         ‘ 1 değeri döner.

%>

Örnek 43 : Instrrev fonksiyonu.

1.4.1.17.           StrReverse

Açıklama

 

Fonksiyon içerisine gönderilen metinin tersten okunuşu olarak bize verir.

 

Yazım

 

Deger = StrReverse(Metin)

 

Fonksiyon içerisine gönderilen metinin tersten okunuşunu verir.

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken, Sonuc

 

     Degisken = “VbScript”

     Sonuc = StrReverse(Degisken)         ‘ “tpircSbV” değeri döner.

%>

Örnek 44 : StrReverse Fonksiyonu.

1.4.2.      Sayısal işlemleri

Kullanılan tüm sayısal fonksiyonların kullanım biçimi aynıdır. Fonksiyon sonucu bir değişkene atılır ve işlemlerimize devam edilir. Matematikte kullanılan tüm fonksiyonlar aynen geçerlidir bunların bazıları Cos, Sin, Tan, Exp, vb.. şeklindedir. Kısa kısa bu fonksiyonlara değinelim.

1.4.2.1.              Abs

Açıklama

 

Fonksiyon içerisine gönderilen sayının tam değerini verir. Negatif sayıları tam değer fonksiyonu ile kullandığımız zaman pozitif değer dönecektir.

 

Yazım

 

Deger = Abs(Sayı)

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken

 

     Degisken = Abs(50.3)                ‘ 50.3 değeri döner.

     Degisken = Abs(-50.3)               ‘ 50.3 değeri döner.

%>

Örnek 45 : Abs Fonksiyonu.

1.4.2.2.              Atn

Açıklama

 

Fonksiyon içerisine gönderilen sayının arctanjantını verir. Fakat bu işlemi radyan üzerinde yapar.

 

Yazım

 

Deger = Atn(Sayı)

 

Örnekler

 

<%

   Option Explicit

   Dim Pi

     Pi = Atn(1) * 4                ‘ pi değeri (3.14159276) döner.

%>

Örnek 46 : Atn Fonksiyonu.

1.4.2.3.              Log

Açıklama

 

Fonksiyon içerisine gönderilen sayının doğal logaritmasını verir.

 

Yazım

 

Deger = Log(Sayı)

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken

 

     Degisken = Log(10)                ‘ e tabanında logaritma 10 u hesaplar.

%>

Örnek 47 : Log Fonksiyonu.

1.4.2.4.              Exp

Açıklama

 

Doğal logaritma tabanı olan “e” değerinin üstel fonksiyonu yapar. Yani logaritma işleminin tam tersi söz konusudur.

 

Yazım

 

Deger = Exp(Sayı)

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken

 

     Degisken = Exp(10)                ‘ e üstü 10 u hesaplar.

%>

Örnek 48 : Exp Fonksiyonu.

1.4.2.5.              Cos, Sin, Tan

Açıklama

 

Sayının radyan degeri olarak trigonometrik fonksiyonunu hesaplar. Tüm trigonometrik fonksiyonların kullanımları aynıdır. Eğer derece olarak çalışılacaksa mutlaka dönüşüm işlemi yapılmalıdır.

 

Yazım

 

Deger = Cos(Sayı)

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken

 

     Degisken = Cos(10)                ‘ radyan olarak 10 un kosinisinü verir.

%>

Örnek 49 : Cos Fonksiyonu.

1.4.2.6.              Sqr

Açıklama

 

Sayının karekökünü verir.

 

Yazım

 

Deger = Sqr(Sayı)

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken

 

     Degisken = Sqr(25)                ‘ 5 değerini verir.

%>

Örnek 50 : Sqr Fonksiyonu.

1.4.2.7.              Rnd

Açıklama

 

Rastgele bir sayı geri döndürür.

 

Yazım

 

Deger = Rnd(Sayı)

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken

 

     Degisken = Rnd(25)                ‘ rastgele bir değer verir.

%>

Örnek 51 : Rnd Fonksiyonu.

1.4.2.8.              Round

Açıklama

 

Fonksiyona gönderilen sayıyı istenilen basamak kadar yuvarlar.

 

Yazım

 

Deger = Round(Sayı, basamak)

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken

 

     Degisken = Round(3.14159276, 2)                ‘ 3.14 değerini verir.

%>

Örnek 52 : Round Fonksiyonu.

1.4.2.9.              Int, Fix

Açıklama

 

Fonksiyona gönderilen sayının tam sayısını verir.

 

Yazım

 

Deger = Int(Sayı)

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken

 

     Degisken = Int(99.8)                 ‘ 99 değerini verir.

     Degisken = Fix(99.8)                 ‘ 99 değerini verir.

     Degisken = Int(-99.8)                ‘ -100 değerini verir.

     Degisken = Fix(-99.8)                ‘ -99 değerini verir.

     Degisken = Int(-99.2)                ‘ -100 değerini verir.

     Degisken = Fix(-99.2)                ‘ -99 değerini verir.

%>

Örnek 53 : Int ve Fix Fonksiyonu.

1.4.2.10.           Sgn

Açıklama

 

Fonksiyona gönderilen sayının işaret fonksiyonu değerini verir.

 

Yazım

 

Deger = Sgn(Sayı)

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken

 

     Degisken = Sgn(12)                 ‘ 1 değerini verir.

     Degisken = Sgn(-2.4)               ‘ -1 değerini verir.

     Degisken = Sgn(0)                   ‘ 0 değerini verir.

%>

Örnek 54 : Sgn Fonksiyonu.

1.4.3.      Tarih işlemleri

Visual basic programlama dilinin hemen hemen tüm zaman fonksiyonları vbscript’te de aynen kullanılır.  Bunlara ek olarak ekstra birkaç fonksiyon eklenmiştir. Tüm tarih fonksiyonlarını sırasıyla inceleyelim;

1.4.3.1.              Date

Açıklama

 

Bu fonksiyon sunucuda ayarlı olan tarih formatına uygun olarak o güne ait tarihi verir.

 

Yazım

 

Deger = Date

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken

 

     Degisken = Date()                 ‘ o günkü tarih değerini verir.

%>

Örnek 55 : Date Fonksiyonu.

1.4.3.2.              Time

Açıklama

 

Bu fonksiyon sunucuda ayarlı olan zaman formatına uygun olarak o ana ait zamanı verir.

 

Yazım

 

Deger = Time

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken

 

     Degisken = Time()                 ‘ o an ki zaman değerini verir.

%>

Örnek 56 : Time Fonksiyonu.

1.4.3.3.              Now

Açıklama

 

Bu fonksiyon sunucuda ayarlı olan tarih ve zaman formatına uygun olarak o an ki tarih ve zamanı birlikte verir.

 

Yazım

 

Deger = Now

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken

 

     Degisken = Now()                 ‘ o an ki tarih ve zaman değerini verir.

%>

Örnek 57 : Now Fonksiyonu.

1.4.3.4.              Day

Açıklama

 

Bu fonksiyon içerisine gönderilen tarihe ait gün değerini sayısal olarak verir. Bu tarih başka fonksiyonların çıktıları olabildiği gibi metinsel tabanlı değişkende olabilmektedir.

 

Yazım

 

Deger = Day(Tarih)

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken

 

     Degisken = Day(“25.07.1997”)             ‘ “25” değerini verir.

%>

Örnek 58 : Day Fonksiyonu.

1.4.3.5.              Month

Açıklama

 

Bu fonksiyon içerisine gönderilen tarihe ait ay değerini sayısal olarak verir. Bu tarih başka fonksiyonların çıktıları olabildiği gibi metinsel tabanlı değişkende olabilmektedir.

 

Yazım

 

Deger = Month(Tarih)

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken

 

     Degisken = Month(“25.07.1997”)             ‘ “7” değerini verir.

%>

Örnek 59 : Month Fonksiyonu.

1.4.3.6.              Year

Açıklama

 

Bu fonksiyon içerisine gönderilen tarihe ait yıl değerini sayısal olarak verir. Bu tarih başka fonksiyonların çıktıları olabildiği gibi metinsel tabanlı değişkende olabilmektedir.

 

Yazım

 

Deger = Year(Tarih)

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken

 

     Degisken = Year(“25.07.1997”)             ‘ “1997” değerini verir.

%>

Örnek 60 : Year Fonksiyonu.

1.4.3.7.              WeekDay

Açıklama

 

Bu fonksiyon içerisine gönderilen tarihin haftanın kaçıncı günü olduğunun değerini sayısal olarak verir. Bu tarih başka fonksiyonların çıktıları olabildiği gibi tarih tabanlı değişkende olabilmektedir. Geriye donen değer sabitler bölümünde anlatılan değerler olacaktır.

 

Yazım

 

Deger = WeekDay(Tarih)

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken

 

     Degisken = WeekDay(“25.07.1997”)             ‘ “3” değerini verir.

%>

Örnek 61 : Weekday Fonksiyonu.

1.4.3.8.              WeekDayName

Açıklama

 

Bu fonksiyon içerisine gönderilen tarihin haftanın kaçıncı günü olduğunun değerini gün ismi olarak verir. Bu tarih başka fonksiyonların çıktıları olabildiği gibi tarih tabanlı değişkende olabilmektedir. Geriye donen değer metin tabanlı olarak gün ismi olacaktır.

 

Yazım

 

Deger = WeekDayName(Tarih)

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken

 

     Degisken = WeekDayName(“25.07.1997”)             ‘ “Salı” değerini verir.

%>

Örnek 62 : Weekdayname Fonksiyonu.

1.4.3.9.              MonthName

Açıklama

 

Bu fonksiyon içerisine gönderilen sayısal değere karşılık gelen ay adını verir. Geriye donen değer metin tabanlı olarak ay ismi olacaktır. Fakat bu isim sunucunun bölgesel ayarlarında ayarlandığı şekilde olacaktır.

 

Yazım

 

Deger = MonthName(Sayı)

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken

 

     Degisken = MonthName(11)             ‘ “Kasım” değerini verir.

%>

Örnek 63 : MonthName Fonksiyonu.

1.4.3.10.           Hour

Açıklama

 

Bu fonksiyon içerisine gönderilen zamana ait saat bilgisini sayısal olarak verir. Geriye donen değer sayısal olarak saati verecektir. Bu alınan saat bilgisi bölgesel ayarlara bağlı değildir.

 

Yazım

 

Deger = Hour(Zaman)

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken

 

     Degisken = Hour(“15:32:33”)             ‘ “15” değerini verir.

%>

Örnek 64 : Hour Fonksiyonu.

1.4.3.11.           Minute

Açıklama

 

Bu fonksiyon içerisine gönderilen zamana ait dakika bilgisini sayısal olarak verir. Geriye donen değer sayısal olarak dakikayı verecektir. Bu alınan dakika bilgisi bölgesel ayarlara bağlı değildir.

 

Yazım

 

Deger = Minute(Zaman)

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken

 

     Degisken = Minute(“15:32:33”)             ‘ “32” değerini verir.

%>

Örnek 65 : Minute Fonksiyonu.

1.4.3.12.           Second

Açıklama

 

Bu fonksiyon içerisine gönderilen zamana ait saniye bilgisini sayısal olarak verir. Geriye donen değer sayısal olarak saniyeyi verecektir. Bu alınan saniye bilgisi bölgesel ayarlara bağlı değildir.

 

Yazım

 

Deger = Second(Zaman)

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken

 

     Degisken = Second(“15:32:33”)             ‘ “33” değerini verir.

%>

Örnek 66 : Second Fonksiyonu.

1.4.3.13.           DateAdd

Açıklama

 

Bu fonksiyon içerisine gönderilen zamana, belirtilen miktarda belirtilen birimi ekleyecektir. Geriye dönen değer yine tarihsel bir değişken olacaktır. Kullanımda adı geçen birimler aşağıdaki şekillerde olabilir.

 

yyyy                   Yıl

q                         Çeyrek yıl

m                                    Ay

d                         Gün

w                        Hafta

h                         Saat

n                         Dakika

s                         Saniye

 

Yazım

 

Deger = DateAdd(Birim, Miktar, Tarih)

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken

 

     Degisken = DateAdd(“m”, 1, “25.07.2002”)       ‘ “25.08.2002” değerini verir.

     Degisken = DateAdd(“yyyy”, 3, “25.07.2002”)       ‘ “25.07.2005” değerini verir.

%>

Örnek 67 : DateAdd Fonksiyonu.

1.4.3.14.           DateDiff

Açıklama

 

Bu fonksiyon içerisine gönderilen iki farklı zaman arasında belirtilen birimle ne kadar fark olduğunu verecektir. Geriye dönen değer sayısal bir değişken olacaktır. Kullanımda adı geçen birimler aşağıdaki şekillerde olabilir.

 

yyyy                   Yıl

q                         Çeyrek yıl

m                                    Ay

d                         Gün

w                        Hafta

h                         Saat

n                         Dakika

s                         Saniye

 

Yazım

 

Deger = DateDiff(Birim, Tarih1, Tarih2)

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken

 

     Degisken = DateDiff(“m”, “25.07.2001”, “25.07.2002”)    ‘ “12” değerini verir.

%>

Örnek 68 : DateDiff Fonksiyonu.

1.4.3.15.           DateSerial

Açıklama

 

Bu fonksiyon içerisine gönderilen tarih değerlerini birleştirerek tarih formatında bir tarih değişkeni oluşturur. Geriye dönen değer tarihsel bir değişken olacaktır.

 

Yazım

 

Deger = DateSerial(Yıl, Ay, Gün)

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken

 

     Degisken = DateSerial(“1997”, “07”, “25”)    ‘ “25.07.1997” değerini verir.

%>

Örnek 69 : DateSerial Fonksiyonu.

1.4.3.16.           DateValue

Açıklama

 

Bu fonksiyon içerisine gönderilen metinsel tabanlı tarih değerini tarih formatında bir tarih değişkenine çevirir. Geriye dönen değer tarihsel bir değişken olacaktır.

 

Yazım

 

Deger = DateValue(Metin)

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken

 

     Degisken = DateValue(“4 November 1979”)    ‘ “04.11.1979” değerini verir.

%>

Örnek 70 : DateValue Fonksiyonu.

1.4.3.17.           TimeSerial

Açıklama

 

Bu fonksiyon içerisine gönderilen zaman değerlerini birleştirerek zaman formatında bir zaman değişkeni oluşturur. Geriye dönen değer zaman değişkeni olacaktır.

 

Yazım

 

Deger = TimeSerial(Saat, Dakika, Saniye)

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken

 

     Degisken = TimeSerial(“12”, “07”, “25”)    ‘ “12:07:25” değerini verir.

%>

Örnek 71 : TimeSerial Fonksiyonu.

1.4.3.18.           TimeValue

Açıklama

 

Bu fonksiyon içerisine gönderilen metinsel tabanlı zaman değerini zaman formatında bir zaman değişkenine çevirir. Geriye dönen değer zaman değişkeni olacaktır.

 

Yazım

 

Deger = TimeValue(Metin)

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken

 

     Degisken = TimeValue(“4:35:32 PM”)    ‘ “04.35.32 PM” değerini verir.

%>

Örnek 72 : TimeValue Fonksiyonu.

1.4.4.      Test işlemleri

Bazen de değişkenlerimizin hangi tip de olduğunu sınamamız gerekir bu eksiği kapatmak için vbscript içerisinde test fonksiyonları geliştirilmiştir.  Bu fonksiyonlardan dönen değer 1 veya 0 yani doğru yada yanlıştır. Bu fonksiyonlar şunlardır.

1.4.4.1.              IsArray

Açıklama

 

Bu fonksiyon içerisine gönderilen değişkenin dizi değişkeni olup olmadığını sınamak için kullanılır.

 

Yazım

 

Deger = IsArray(Değişken)

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken, Degisken1

 

     Degisken = IsArray(Degisken1)    ‘ Degisken1 dizi ise “true” değerini verir.

%>

Örnek 73 : IsArray Fonksiyonu.

1.4.4.2.              IsDate

Açıklama

 

Bu fonksiyon içerisine gönderilen değişkenin tarih değişkeni olup olmadığını sınamak için kullanılır.

 

Yazım

 

Deger = IsDate(Değişken)

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken, Degisken1

 

     Degisken = IsDate(Degisken1)    ‘ Degisken1 tarih ise “true” değerini verir.

%>

Örnek 74 : IsDate Fonksiyonu.

1.4.4.3.              IsEmpty

Açıklama

 

Bu fonksiyon içerisine gönderilen değişkenin bir değere sahip olup olmadığını sınamak için kullanılır.

 

Yazım

 

Deger = IsEmpty(Değişken)

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken, Degisken1

 

     Degisken = IsEmpty(Degisken1)    ‘ Degisken1 boş ise “true” değerini verir.

%>

Örnek 75 : IsEmpty Fonksiyonu.

1.4.4.4.              IsNull

Açıklama

 

Bu fonksiyon içerisine gönderilen değişkenin tanımlanıp tanımlanmadığını sınamak için kullanılır.

 

Yazım

 

Deger = IsNull(Değişken)

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken, Degisken1

 

     Degisken = IsNull(Degisken1)    ‘ Degisken1 null ise “true” değerini verir.

%>

Örnek 76 : IsNull Fonksiyonu.

1.4.4.5.              IsNumeric

Açıklama

 

Bu fonksiyon içerisine gönderilen değişkenin sayısal bir değişken olup olmadığını sınamak için kullanılır.

 

Yazım

 

Deger = IsNumeric(Değişken)

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken, Degisken1

 

     Degisken = IsNumeric(Degisken1)    ‘ Degisken1 sayısal ise “true” değerini verir.

%>

Örnek 77 : IsNumeric Fonksiyonu.

1.4.4.6.              ScriptEngine

Açıklama

 

Bu fonksiyon sunucu üzerinde kullanılan “Script Engine” de kullanılan script dilinin ne olduğunu verir. Sonuç olarak “VbScript” veya “JsScript” değerini verir.

 

Yazım

 

Deger = ScriptEngine

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken, Degisken1

 

     Degisken = ScriptEngine    ‘ Sunucunun Kullandığı Dili verir.

%>

Örnek 78 : ScriptEngine Fonksiyonu.

1.4.4.7.              VarType

Açıklama

 

Bu fonksiyon içerisine gönderilen değişkenin tipini verir. Sonuç olarak sayısal bir değer döner bu değer sabitler konusunda anlatılan sabit değerlerinden birisi olacaktır.

 

Yazım

 

Deger = VarType(Degisken)

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken, Degisken1

 

     Degisken = VarType(Degisken1)    ‘ degisken1 in ne tip olduğunu verir

 

   Select Case VarType(Degisken1)

      Case 0 : Response.Write “Empty”

      Case 1 : Response.Write “Null”

      Case 2 : Response.Write “Integer”

      Case 3 : Response.Write “Long Integer”

      Case 4 : Response.Write “Single-Precision Number”

      Case 5 : Response.Write “Double-Precision Number”

      Case 6 : Response.Write “Currency”

      Case 7 : Response.Write “Date”

      Case 8 : Response.Write “String”

      Case 9 : Response.Write “Object”

      Case 10 : Response.Write “Error”

      Case 11 : Response.Write “Boolean”

      Case 12 : Response.Write “Variant”

      Case 13 : Response.Write “Data Object”

      Case 17 : Response.Write “Byte”

      Case 8192 : Response.Write “Variant Array”

    End Select

%>

Örnek 79 : VarType Fonksiyonu.

1.4.5.      Dönüştürme işlemleri

Bazen de değişkenlerin birbirleri arasında dönüştürülmesi gerekebilir. Bu dönüştürme fonksiyonları şunlardır.

1.4.5.1.              Array

Açıklama

 

Bu fonksiyon içerisine gönderilen değişkenleri statik tek boyutlu bir seri değişken tipine dönüştürür. İçerisine gönderilecek değer sayısına göre boyut büyüyebilir. Unutulmaması gereken en önemli nokta seri değişkenlerin “0” dan başladığıdır. Yani ilk seri değişkeni 0 olacaktır.

 

Yazım

 

Deger = Array(DeğişkenListesi)

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken, A

 

     Degisken = Array(10, 20, 30, 40)    ‘ Fonksiyon yardımı ile diziye dönüştürdük.

     A = Degisken(2)                            ‘ A değeri olarak “30” değeri döner.

%>

Örnek 80 : Array Fonksiyonu.

1.4.5.2.              CBool

Açıklama

 

Bu fonksiyon içerisine gönderilen değişkenin değerine göre boolean veri tipinde bir değer döndürür. Bunu yaparken de değişken eğer “0” sa dönüştürülen değer “False” olacaktır. Bunun yanında eğer değişken “0” dan farklı ise o zaman dönüştürülen değer “True” olacaktır.

 

Yazım

 

Deger = CBool(Değişken)

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken

 

     Degisken = CBool(0)        ‘ “False” değeri dönecektir.

     Degisken = CBool(434)     ‘ “True” değeri dönecektir.

%>

Örnek 81 : CBool Fonksiyonu.

1.4.5.3.              CByte

Açıklama

 

Fonksiyona gönderilen değişkeni Byte tipi bir değişkene dönüştürür. Byte tipinden kasıt string değildir unutmamak gerekir.

 

Yazım

 

Deger = CByte(Değişken)

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken

 

     Degisken = CByte(125.567)        ‘ “126” değeri dönecektir.

%>

Örnek 82 : CByte Fonksiyonu.

1.4.5.4.              CDate

Açıklama

 

Fonksiyona gönderilen değişkeni tarih tipi bir değişkene dönüştürür.

 

Yazım

 

Deger = CDate(Değişken)

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken

 

     Degisken = CDate(“4.11.1979”)        ‘ “04.11.1979” değeri dönecektir.

%>

Örnek 83 : CDate Fonksiyonu.

1.4.5.5.              CInt

Açıklama

 

Fonksiyona gönderilen değişkeni sayısal veri tipi bir değişkene dönüştürür.

 

Yazım

 

Deger = CInt(Değişken)

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken

 

     Degisken = CInt(“2507”)        ‘ “2507” değeri dönecektir.

%>

Örnek 84 : CInt Fonksiyonu.

1.4.5.6.              CStr

Açıklama

 

Fonksiyona gönderilen değişkeni metinsel veri tipi bir değişkene dönüştürür.

 

Yazım

 

Deger = CStr(Değişken)

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken

 

     Degisken = CStr(2507)        ‘ “2507” değeri dönecektir.

%>

Örnek 85 : CStr Fonksiyonu.

1.4.5.7.              TypeName

Açıklama

 

Fonksiyona gönderilen değişkenin tipini verir. Bu tipler sabitler kısmında tanımlanmış değerlerden oluşmaktadır.

 

Yazım

 

Deger = TypeName(Değişken)

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken

 

     Degisken = TypeName(“2507”)        ‘ “String” değeri dönecektir.

     Degisken = TypeName(2507)          ‘ “Integer” değeri dönecektir.

     Degisken = TypeName(37.5)           ‘ “Double” değeri dönecektir.

%>

Örnek 86 : TypeName Fonksiyonu.

1.4.6.      Biçimlendirme işlemleri

Bazen de değişkenleri biçimlendirmek gerekebilir. Bu biçimlendirme işlemleri için aşağıda verilen bir dizi fonksiyon kullanılır.

1.4.6.1.              FormatNumber

Açıklama

 

Fonksiyona gönderilen numerik değişkeni biçimlendirmek için kullanılır. Bu biçimlendirme işlemi sunucunun bölgesel ayarlarına göre yapılabildiği gibi verilen opsiyonlara göre de yapılabilmektedir. 

 

Yazım

 

Deger = FormatNumber(Değişken, [Ondalık Kısım], [Öncü Değer], [Mutlak Değer], [Binlik Grup Ayırma])

 

Yazım içerisinde kullanılan “[“ ve “]” işaretleri içerisinde olan kısımlar zorunlu olmayan opsiyonlardır. Bu opsiyonlar belirtilmediği zaman sistem otomatik olarak sunucunun geçerli değerlerini alacaktır. Bu opsiyonların açıklamaları şu şekildedir.

 

Ondalık Kısım : Bu seçeneğe verilen numerik değer kadar ondalık kısım basamağı oluşturacaktır. Yani virgülden sonra kaç basamağın gösterileceği ayarlanabilmektedir. Unutulmaması gereken en önemli konu virgülden sonraki ondalık değerin burada atanan basamak sayısına yuvarlanmasıdır. Örneğin “1,2506943543” değerinin “4” haneli bir ondalık kısmına yuvarlandığı zaman “1,2507” şeklinde bir biçim alacaktır.

 

Öncü Değer : Bu seçeneği aktif hale getirdiğimiz zaman sıfırdan küçük ondalık değerler için sayının öncü değerini aktif hale getirecektir. Örneğin “,44” değerini bu seçeneği aktif hale getirdiğimiz zaman “0,44” şeklinde görüntülenecektir. Bu seçeneği aktif hale getirmek için sabitler kısmında anlatılan “durum sabitleri” kullanılmalıdır, bu sabitlerin yerine, pasifleştirmek için “0”, aktifleştirmek için “-1” değeri girilebilir.

 

Mutlak Değer : Bu seçeneği aktif hale getirdiğimiz zaman fonksiyona gönderilen negatif değerin pozitif değerini verecektir. Bu seçeneği aktif hale getirmek için sabitler kısmında anlatılan “durum sabitleri” kullanılmalıdır, bu sabitlerin yerine, pasifleştirmek için “0”, aktifleştirmek için “-1” değeri girilebilir.

 

Binlik Grup Ayırma : Bu seçenek aktif hale getirildiği zaman sayıyı sağdan başlamak üzere binlik gruplara ayıracaktır. Örneğin “1000000” değerini binlik grupladığımız zaman “1.000.000” şeklinde gruplayacaktır. Bu seçeneği aktif hale getirmek için sabitler kısmında anlatılan “durum sabitleri” kullanılmalıdır, bu sabitlerin yerine, pasifleştirmek için “0”, aktifleştirmek için “-1” değeri girilebilir.

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken

 

     Degisken = FormatNumber(2507)                  ‘ “2.507,00” değeri dönecektir.

     Degisken = FormatNumber(2507,4)               ‘ “2.507,0000” değeri dönecektir.

     Degisken = FormatNumber(.2507,4,-1)          ‘ “0.2507” değeri dönecektir.

     Degisken = FormatNumber(-2507,2,0,-1)       ‘ “2.507,00” değeri dönecektir.

     Degisken = FormatNumber(15.678,2,-1,-1)    ‘ “15.68” değeri dönecektir.

%>

Örnek 87 : FormatNumber Fonksiyonu.

1.4.6.2.              FormatDateTime

Açıklama

 

Fonksiyona gönderilen tarihsel değişkeni biçimlendirmek için kullanılır. Bu biçimlendirme işlemi sunucunun bölgesel ayarlarına göre yapılabildiği gibi verilen opsiyonlara göre de yapılabilmektedir. 

 

Yazım

 

Deger = FormatDateTime(Değişken, [Tarih, Zaman Formatı])

 

Yazım içerisinde kullanılan “[“ ve “]” işaretleri içerisinde olan kısımlar zorunlu olmayan opsiyonlardır. Bu opsiyonlar belirtilmediği zaman sistem otomatik olarak sunucunun geçerli değerlerini alacaktır. Bu opsiyonların açıklamaları şu şekildedir.

 

Tarih Zaman Formatı : Bu seçeneğe verilen sabit (sabitler kısmında verilmiştir) tarih veya zamanın nasıl biçimlenmesi gerektiğini belirtir.

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken

 

     Degisken = FormatDateTime(“25/7/97”)         ‘ “25/07/1997” değeri dönecektir.

     Degisken = FormatDateTime(“15:34”)            ‘ “3:34:00 PM” değeri dönecektir.

     Degisken = FormatDateTime(“3:34:00 PM”, 4) ‘ “3:34” değeri dönecektir.

%>

Örnek 88 : FormatDateTime Fonksiyonu.

1.4.6.3.              FormatCurrency

Açıklama

 

Fonksiyona gönderilen para değeri içeren değişkeni biçimlendirmek için kullanılır. Bu biçimlendirme işlemi sunucunun bölgesel ayarlarına göre yapılabildiği gibi verilen opsiyonlara göre de yapılabilmektedir. 

 

Yazım

 

Deger = FormatCurrency(Değişken, [Ondalık Kısım], [Öncü Değer], [Mutlak Değer], [Binlik Grup Ayırma])

 

Yazım içerisinde kullanılan “[“ ve “]” işaretleri içerisinde olan kısımlar zorunlu olmayan opsiyonlardır. Bu opsiyonlar belirtilmediği zaman sistem otomatik olarak sunucunun geçerli değerlerini alacaktır. Bu opsiyonların açıklamaları şu şekildedir.

 

Ondalık Kısım : Bu seçeneğe verilen numerik değer kadar ondalık kısım basamağı oluşturacaktır. Yani virgülden sonra kaç basamağın gösterileceği ayarlanabilmektedir. Unutulmaması gereken en önemli konu virgülden sonraki ondalık değerin burada atanan basamak sayısına yuvarlanmasıdır. Örneğin “1,2506943543” değerinin “4” haneli bir ondalık kısmına yuvarlandığı zaman “1,2507 TL” şeklinde bir biçim alacaktır.

 

Öncü Değer : Bu seçeneği aktif hale getirdiğimiz zaman sıfırdan küçük ondalık değerler için sayının öncü değerini aktif hale getirecektir. Örneğin “,44” değerini bu seçeneği aktif hale getirdiğimiz zaman “0,44 TL” şeklinde görüntülenecektir. Bu seçeneği aktif hale getirmek için sabitler kısmında anlatılan “durum sabitleri” kullanılmalıdır, bu sabitlerin yerine, pasifleştirmek için “0”, aktifleştirmek için “-1” değeri girilebilir.

 

Mutlak Değer : Bu seçeneği aktif hale getirdiğimiz zaman fonksiyona gönderilen negatif değerin pozitif değerini verecektir. Bu seçeneği aktif hale getirmek için sabitler kısmında anlatılan “durum sabitleri” kullanılmalıdır, bu sabitlerin yerine, pasifleştirmek için “0”, aktifleştirmek için “-1” değeri girilebilir.

 

Binlik Grup Ayırma : Bu seçenek aktif hale getirildiği zaman sayıyı sağdan başlamak üzere binlik gruplara ayıracaktır. Örneğin “1000000” değerini binlik grupladığımız zaman “1.000.000 TL” şeklinde gruplayacaktır. Bu seçeneği aktif hale getirmek için sabitler kısmında anlatılan “durum sabitleri” kullanılmalıdır, bu sabitlerin yerine, pasifleştirmek için “0”, aktifleştirmek için “-1” değeri girilebilir.

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken

 

     Degisken = FormatCurrency(2507)         ‘ “2.507,00 TL” değeri dönecektir.

     Degisken = FormatCurrency(2507,4)      ‘ “2.507,0000 TL” değeri dönecektir.

     Degisken = FormatCurrency(2507,4,-1)  ‘ “0,2507 TL” değeri dönecektir.

%>

Örnek 89 : FormatCurrency Fonksiyonu.

1.4.6.4.              FormatPercent

Açıklama

 

Fonksiyona gönderilen para değeri içeren değişkeni biçimlendirmek için kullanılır. Bu biçimlendirme işlemi sunucunun bölgesel ayarlarına göre yapılabildiği gibi verilen opsiyonlara göre de yapılabilmektedir. 

 

Yazım

 

Deger = FormatCurrency(Değişken, [Ondalık Kısım], [Öncü Değer], [Mutlak Değer], [Binlik Grup Ayırma])

 

Yazım içerisinde kullanılan “[“ ve “]” işaretleri içerisinde olan kısımlar zorunlu olmayan opsiyonlardır. Bu opsiyonlar belirtilmediği zaman sistem otomatik olarak sunucunun geçerli değerlerini alacaktır. Bu opsiyonların açıklamaları şu şekildedir.

 

Ondalık Kısım : Bu seçeneğe verilen numerik değer kadar ondalık kısım basamağı oluşturacaktır. Yani virgülden sonra kaç basamağın gösterileceği ayarlanabilmektedir. Unutulmaması gereken en önemli konu virgülden sonraki ondalık değerin burada atanan basamak sayısına yuvarlanmasıdır. Örneğin “1,2506943543” değerinin “4” haneli bir ondalık kısmına yuvarlandığı zaman “%125,07” şeklinde bir biçim alacaktır.

 

Öncü Değer : Bu seçeneği aktif hale getirdiğimiz zaman sıfırdan küçük ondalık değerler için sayının öncü değerini aktif hale getirecektir. Örneğin “,44” değerini bu seçeneği aktif hale getirdiğimiz zaman “% 0,44” şeklinde görüntülenecektir. Bu seçeneği aktif hale getirmek için sabitler kısmında anlatılan “durum sabitleri” kullanılmalıdır, bu sabitlerin yerine, pasifleştirmek için “0”, aktifleştirmek için “-1” değeri girilebilir.

 

Mutlak Değer : Bu seçeneği aktif hale getirdiğimiz zaman fonksiyona gönderilen negatif değerin pozitif değerini verecektir. Bu seçeneği aktif hale getirmek için sabitler kısmında anlatılan “durum sabitleri” kullanılmalıdır, bu sabitlerin yerine, pasifleştirmek için “0”, aktifleştirmek için “-1” değeri girilebilir.

 

Binlik Grup Ayırma : Bu seçenek aktif hale getirildiği zaman sayıyı sağdan başlamak üzere binlik gruplara ayıracaktır. Örneğin “1000” değerini binlik grupladığımız zaman “%1.000” şeklinde gruplayacaktır. Bu seçeneği aktif hale getirmek için sabitler kısmında anlatılan “durum sabitleri” kullanılmalıdır, bu sabitlerin yerine, pasifleştirmek için “0”, aktifleştirmek için “-1” değeri girilebilir.

 

Örnekler

 

<%

   Option Explicit

   Dim Degisken

 

     Degisken = FormatPercent(.25)             ‘ “%25” değeri dönecektir.

     Degisken = FormatPercent(.2507)         ‘ “%25” değeri dönecektir.

     Degisken = FormatPercent(.2507,4,-1)  ‘ “%0,2507” değeri dönecektir.

%>

Örnek 90 : FormatPercent Fonksiyonu.

1.5.   Mantık kontrolleri :

İster ASP diliyle, ister başka programlama diliyle yazılmış olsun, bilgisayar programlarının varlık sebebi, çeşitli durumları değerlendirmek ve kararlar verip bu doğrultuda işlemine devam etmektir. Bunu programlarda mantık kontrol komutları ile yaparız. Program bu öğeler sayesinde karşılaştırmalar yapar, belirli koşulların yerine gelip gelmediğine bakar veya belirli bir durumun oluşuna veya sona erişine bağlı olarak başka bir işlemi başlatır veya bitirir. Kimi zaman da, programa yapmakta olduğu işi durdurarak, başka bir iş yapmasını bildirebiliriz. Bunlara süreçler veya prosedürler denir. 

 

ASP programlarında kara mekanizmasının en temel kontrol öğesi “eğer…se…yap!” şeklindedir.

1.5.1.      If – Then – Else

Vereceğiniz bir durumun oluşup oluşmadığını sınar.

 

<%

   if şart then

      [şart doğru ise yapılacak işlemler]

   else

      [şart yanlış ise yapılacak işlemler]

   end if

%>

Örnek 91 : İf Blok Diyagramı.

 

Bunu bir örnekle ifade edelim; Programımız eğer saat 12’den önce çalıştırılırsa sayfada “Günaydın”; eğer saat 12’den sonra çalıştırılırsa sayfa da “Tünaydın” yazısının yazdırılacağı bir program yazalım.

 

<%

   if hour(now) < 12 then

     response.write “Günaydın!”

   else

     response.write “Tünaydın!”

   end if

    

     response.write “Sayfamıza hoş geldiniz”

%>

Örnek 92 : İf Yapısı.

 

Program çalıştırıldığı zaman, çalıştırdığınız saate göre programdaki selam tarzının değiştiğini göreceksiniz.  Programın nasıl çalıştığına gelirsek. Önce ki sayılarda asp içerisinde kullanmaya hazır mevcut fonksiyonların varlığından söz etmiştik bunlardan biriside o an ki saati ve tarihi bildiren now() fonksiyonudur. (hour() fonksiyonu ise içindeki tarih ve saatin yalnızca saat basamağını gösteren bir fonksiyondur) fonksiyondan dönen değer eğer 12’den küçükse, programımız response (karşılık) nesnesinin write (yazdır) methodunu kullanarak (nesne ve method konularına fazla takılmayın, ileri sayılarda anlatılacaktır) ziyaretçinin browser penceresine “Günaydın” yazdırır.

 

Eğer bu ilk karşılaştırmanın sonucu doğru değil ise yani saat 12 den büyük ise, doğru ise yapılacaklar alanındaki komutlar pas geçilerek yanlış ise yapılacaklar alanındaki komutlar işleme sokulur. Bu işlem sonucunda “Tünaydın” kelimesi çıktı olacaktır.

 

Fakat burada bir eksik var: programı saat 18’den sonra çalıştıranlara “iyi akşamlar” şeklinde bir karşılama yazmamız daha doğru olmaz mı? If döngüsü kendi içerisinde sınırsız “elseif” imkanı vererek bize bunu sağlar. Her “elseif” yeni bir “if” gibi işlem yapar.

 

<%

   if şart1 then

     [şart1 doğru ise yapılacak işlemler]

   elseif şart2 then

     [şart2 doğru ise yapılacak işlemler]

   .

   .

   else

     [şartlar yanlış ise yapılacak işlemler]

   end if

%>

Örnek 93 : Elseif Fonksiyonu.

 

Yeni öğrendiğimiz bu komutu kullanarak karşılama sistemimizi biraz genişletelim.

 

<%

   if hour(now) < 12 then

     response.write “Günaydın!”

   elseif hour(now) > 18 then

     response.write “İyi akşamlar”

   else

     response.write “Tünaydın!”

   end if

 

     response.write “Sayfamıza hoş geldiniz”

%>

Örnek 94 : Elseif Yapısı.

1.5.2.      Select case

VbScript’in bir diğer duruma bakarak karar verme ifadesi, “select case” (durum seç) yapısıdır. Bu kontrol öğesinin nasıl çalıştığını şöyle özetleyebiliriz:

 

<%

   durum seç

     Durum1 : yapılacak işler

     Durum2 : yapılacak işler

     Durum3 : yapılacak işler

   Seçmeyi bitir

%>

Örnek 95 : Select Case Fonksiyonu.

 

Vbscript, verdiğiniz durum listesine veya içinde çeşitli değerler bulunan değişkene bakarak, bu değişkeni bir “durum” sayacak ve verdiğimiz durumlardan hangisini tutuyorsa, ona ait komut dizisini çalıştıracaktır. Yukarıdaki örneğimizi bu kez bu yapıyı kullanarak yazalım.

 

<%

   select case Hour(Now)

   case 5,6,7,8,9,10,11

     response.write “Günaydın!”

   case 12,13,14,15,16,17,18

     response.write “Tünaydın”

   case 19,20,21,22

     response.write “İyi akşamlar”

   case else

     response.write “İyi geceler”

   end select

 

   response.write “Sayfamıza hoş geldiniz”

%>

Örnek 96 : Select Case Yapısı.

 

“Select case” komutuna, içindeki değerleri “durum” sayacağı dizi veya değişken olarak vbscript’in kullanmaya hazır fonksiyonlarından Hour(Now)’ı veriyoruz. Bu fonksiyonlardan, 0 ile 24 arasında bir değer dönecektir. Bu değer “select case” için durum demektir. Select case bu değer ile altta sıralanan case’leri karşılaştıracak ve elindeki değer hangi case’i tutuyorsa ona ait komutlar çalıştırılacaktır. Sonuncu case’e lütfen dikkat edin: burada case olarak else (başka) veriliyor. Bu bizi 22 den 5 e kadar olan saatleri sıralamaktan kurtarır. 22 – 5 arasında kullanıcılarımıza “iyi geceler” diyebiliriz.

1.6.   Döngüler

Mantık kontrolleri bir programın akışını kontrol için kullanacağımız birinci önemli unsur ise, döngü de ikinci en önemli unsur sayılır. Hatta programcının tembellik katsayısına göre belki de birinci en önemli unsur bile sayılabilir! Çünkü döngü (loop) programa, bir işi bitesiye kadar  yaptırma imkanı verir. Tabii bu iş sonsuza kadar sürecek olursa, buna “endles loop” (sonsuz döngü) denir. Vbscript‘te kullanabileceğiniz döngü yöntemleri şunlardır.

1.6.1.      For-Next döngüsü

Programın bir işi belirli kere yapmasını istiyorsak, ona yapacağı işi bir sayaç değişkeni ile birlikte, “for” döngüsüyle bildiririz.

 

<%

   for sayac = baslangic to son step adim

     yapılacak işler

   Next

%>

Örnek 97 : For – Next Yapısı.

 

Burada, “sayaç” yerine istediğimiz bir değişken adını, “başlangıç” yerine sayacın başlatılmasını istediğimiz sayıyı, “son” yerine sayacın durmasını istediğimiz sayıyı, ve “adım” yerine, sayacın kaçar kaçar artmasını istediğimizi yazabilirsiniz. En sondaki “next” deyimi ise döngünün bir sonraki adıma geçmesini sağlar. Bu adımda sayaç, “step” kelimesi varsa karşısındaki değer kadar artırılır ve yapılacak işler yeniden yapılır.

 

<%

   Dim gunler

   gunler = Array(“Pazartesi”, “Salı”, “Çarşamba”, “Perşembe”, “Cuma”, “Cumartesi”, “Pazar”)

 

   for sayac = 0 to 6

     response.write gunler(sayac)

   next

%>

Örnek 98 : For – Next Örneği.

 

Bu asp kodunda, gunler adıyla bir dizi-değişken oluşturuyoruz ve bu değişkenin 7 hanesine, günlerin adlarını atıyoruz. Sonra sayac adlı sayacı 0 dan 6’ya kadar arttırıyoruz (sayacın birer birer artmasını istersek step komutunu yazmayız). Şimdi kendimizi bir an için vbscript yerine koyalım ve birinci adımda yaptığımız işi düşünelim: “hımm.. programcı bey, benim sayac’ı önce 0 yapmamı istiyor; peki sayac 0 olsun. Sonra günler dizi-değişkeninden sayac değeri ile aynı sayıyı taşıyan değişkeni alıp bunu ekrana yazdırmamı istiyor. Peki, gunler(0) ne imiş, bakalım. gunler(0) Pazartesi imiş. O halde ziyaretçinin ekranına bir Pazartesi kelimesi yazalım. Şimdi sırada next var. Yani sonraki adıma devam edeceğiz, step değeri olmadığına göre sayacı bir artırayım. Sayaç böylece 1 oldu”

 

Ve böylece vbscript, sayacın son değeri olan 6’ya ulaşıncaya kadar günler dizi değişkeninden sayacın değerine göre değer seçerek ve bunu ekrana yazdırarak, işini yapacaktır. Bu bakımdan vbscript güvenilir ve çalışkan bir arkadaştır.

 

Unutulmaması gereken bir diğer noktada diğer programlama dillerinde olduğu gibi “next” komutunun “next a” gibi yani bir değişkenle beraber kullanılmamasıdır. Vbscript de bu tip bir kullanım hata verecektir.

1.6.2.      While-wend döngüsü

Bazen program içerisinde kullanacağımız döngü sabit olmayabilir, yani programın üst kesimlerinden veya kullanıcıdan alınan bir değer kadad döngü kurulması istenebilir. Özetle yapılmasını gereken işin ancak sayaç bir değerden azsa, çoksa ve eşitse yapılmasını, bu durum değişirse durmasını isteyebiliriz. Bunu while (..iken) komutuyla yapabiliriz. While döngüsü kullandığımız zaman sayacı bizim artırmamız gerekir.

 

Sözgelimi, yukarıdaki programın 7 günün tümünü ekrana yazdırması değil de, mesela gün sayısı 5’den küçük ise yazdırmasını istiyor olabiliriz.  Bu durumda kodumuzda for-next arasındaki bölümde şu değişikliği yapmalıyız.

 

while sayac <= 5

   response.write gunler(sayac)

   sayac = sayac + 1

Wend

Örnek 99 : While-Wend Yapısı.

 

Burada while döngüsünün wend kelimesi ile sonlandığına dikkat edin. While satırındaki sayacı değiştirdik, programın sayaç 5’den küçük veya 5’e eşit ilen çalışmasını sağladık. For’dan farklı bir diğer ifade ise sayacı artıran “sayac = sayac + 1” ifadesidir. Bu ifade ilk bakışta garip görünebilir. Fakat bilgisayar açısından bu “sayacın o anki değerini al, 1 ile topla ve bulduğun yeni değeri sayacın mevcut değerinin üzerine yaz” demektir.

1.6.3.      Do-Loop döngüsü

Bazende bir döngü içerisinde bir durumun oluşması halinde döngünün sonlandırılması istenebilir. Böyle durumlarda do-loop döngüsü kullanılabilir. Kullanılması diğer döngülerle hemen hemen aynıdır. Türkçe anlatımı “şart sağlanana kadar döngüyü devam ettir” şeklinde olacaktır.

 

Do while Şart

   ….

   ….

   ….

[Exit do]

   …

   …

   …

Loop

Örnek 100 : Do – Loop Fonksiyonu.

 

Döngü sırasında başka bir şartın sağlanması durumunda ise exit do ifadesi ile do döngüsü sonlandırılabilmektedir.

 

Do-loop ile while-wend arasında bir fark görememiş olabilirsiniz ama ikisi arasında çok ufak bi fark vardır. Do-loop da döngüye girildikten sonra şart kontrol edilir, while-wend de ise döngüye girmeden önce şart kontrol edilir.

1.7.   Diğer faydalı komutlar

1.7.1.      With – End With

Yukarıda belirtilen ve açıklanan komutların yanında bir takım kullanışlı komut da yer almaktadır. Bunlardan ilki “with” komutudur. Bu komut yardımı ile bir objenin birden fazla komut için kullanılması istenirse işimize yarayacaktır. Bu komut sayeside “with” komutuna atayacağız obje, with bloğu içerisinde adı geçmeden de kullanılabilmektedir. Örneğin:

 

With Obje

   .metod = xx

End With

Örnek 101 : With Kullanımı.

 

Örnekte de görüleceği gibi with bloğu içerisinde obje adı vermeden sadece “.” Yazılır ve objeye ait özellik veya metod kullanılabilir. Böylece birçok kere aynı obje adını yazmaya gerek kalmaz.

1.8.   Script Performansı

Genelde web sunucuları dağıtılmış işlemci yapısında çalışır. Örnek vermek gerekirse 20 işlemin aynı anda çalıştığı bir sunucu düşünelim bu işlemlerin hepsi sırayla bir miktar işletilir. Bu sıra işlemcinin saat hızı ile doğru orantılıdır (1.4 GHz işlemci saniyenin 1/ 1468006,4 si bir sürede işletmektedir.). bu sıra ile işletme sırasında işlemlerden birisi takıntıya uğrarsa diğerleri de dolaylı olarak bu gecikmeden etkilenir. Bu sebeple ASP içerisinde işlemleri aza indirmek bu performansı yükseltecektir. ASP programcıları arasında yaygın olarak şu hatalar (hata demek belki yanlış olacaktır, sadece bu tip kullanımlar performans düşüklüğüne yol açacaktır ki bu bazı uygulamalarda yanlış işe aynı anlamdadır.) yapılmaktadır.

 

Aynı sayfa içerisinde birden fazla script dili kullanmak: bu şekilde bir kullanımca aynı sayfa içerisinde birden fazla script engine çalıştırılacağı için verimde ciddi düşüş meydana gelecektir.

 

Gereksiz yere değişken ataması yapmak: bu programlama aksaklığı yüzünden hafızada gerektiğinden fazla yer atanacak ve uygulama yavaşlayacaktır. Mümkün olduğu kadar az değişkenden kastım özellikle yazdırılacak bir değerin ilk olarak bir değişkene aktarılması daha sonra bu değişkenin ekrana yazdırılmasıdır. Bunun yerine direkt olarak değeri yazdırmak daha performanslıdır.

 

Çok fazla işlem gerektiren fonksiyonlar için component tasarlanması : sunucu içerisinde EXE dosyalarının derlenmesi ASP dosyalarının derlenmesinden çok daha hızlıdır. Bu sebeple işlemleri componentlere (exe veya dll dosyasına) yaptırmak işlemciyi rahatlatacaktır.

1.9.   Nesne Kavramı

Günlük hayat da olduğu gibi proglamlamada da işlemlerimizi değişik nesnelere yaptırırız. Örneğin birşey kesmek istediğimizde bıçak kullanırız, su içmek istediğimizde bardak kullanırız vs. Kullandığımız her nesnenin ise belirli özellikleri vardır. Örneğin kesme işlevini gerçekleştiren bıçak keskindir. Yada su içeceğimiz bardak suyun dökülmesini engelliyecek şekilde kapalı bir cisimdir.

 

ASP tekniğinde işlemlerimizi gerçek hayat da olduğu gibi nesnelere yaptırtırız. Nesne yönelimli programlama kavramı (Object Oriented Programming OOP) bu şekilde ortaya çıkmıştır. Diyelim ki öğretmensiniz ve ASP programınızda her öğrencinin notunu veritabanına işleyen, veritabanından notları alarak geçeni kalanı belirleyen veya öğrencilerle ilgili yapılması gereken birçok işi yapan programcıklarımız mevcut; bu programcıkların kullandığı birçok değişkenimiz var: demek ki sizin ASP programınızda “öğrenci” diye bir nesneniz var. Ve siz bu nesneye yönelimli program yazmışsınız.

 

Her program nesnesi iki unsura sahiptir.

 

Özellik (property) : bir nesnenin özellikleri, onun değişkenleridir. “Öğrenci” nesnesinin “Öğrenci Adı”, “Notlar”, “Adresi” gibi değişkenleri yani özellikleri vardır.

 

Metod (method) : bir nesnenin işlemesi, çalışması için kısaca kendisinden bekleneni yerine getirebilmesi için çalışma yöntemlerine ihtiyacı vardır. Dolayısıyla bir ASP nesnesinin fonksiyonları, onun metodlarıdır.

 

Fakat ASP’de nesneler sadece sizin öbekler halinde toplayacağınız fonksiyonlar ve değişkenlerden ibaret değildir. Bir kere, ASP programında kullandığımız script dilinin getirdiği nesneler vardır. ASP programınızı javascript ile yazarsanız başka, vbscript ile yazarsanız başka nesnelere sahip olursunuz; ancak her ikisinde de ortak olan “scripting” nesneleri vardır. Bunları birazdan ayrıntılı olarak ele alacağız. Sonra web serverin size hazır sunduğu nesneler vardır. Bunları daha sonraki sayılarda göstereceğiz.  Ve tabii, browser’ın bir HTML sayfasının bölümlerini nesne sayarak oluşturduğu nesneler vardır. Bunları da diğer nesneleri ele alırken sırası geldikçe değineceğiz. (Tabii bir de ASP programınızı javascript ile yazarsanız vbscript’ten farklı olarak kendisi nesne-yönelimli bir dil olan javascript’in oluşturmanıza imkan veren nesneleri vardır. Fakat bu nesneler bizim konumuz dışında kaldığı için incelenmeyecektir.)

 

Nesneler nasıl olmuş olursa olsunlar, daima size bir değer verirler.

 

Nesne.Özellik = Değer

 

Bir nesnenin bir özelliğinin değeri, bizim için değişken değeri gibi önem taşır.

 

İf Nesne.Özellik > Değer Then

 

Nesnelerin özelliklerinin değerini değişkenlere atayabiliriz ancak bunu yaparken nesnenin bir metoduna (fonksiyonu) göndermede bulunmamız ve gerekiyorsa bu fonksiyona kullanması için veri göndermeliyiz. (bir fonksiyona kullanması için gönderilen değere argüman/argument denir);

 

Değişken = Nesne.Metod (argüman1,argüman2..)

 

Tarayıcı nesne modelinin tam aksine ASP nesnelerinde bir hiyerarşi söz konusu değildir. Nesne modeli, bize bir sunucu nesnesini metodları ve özellikleri ile birlikte, scriptler arasında kullanabilmemizi, sağlar. Bir ASP uygulaması geliştirebilmek için server (sunucu), application (uygulama), session (oturum), request (istek) ve (response) yanıt nesneleri kullanılır.

1.9.1.      Uygulama ve Oturumlar

Aplication (uygulama) nesnesi bir ASP uygulamasının tamamını simgelendirir. Session (oturum) nesnesi ise, her bir kullanıcının uygulamadan istediği sayfaları simgelendirmektedir. Bu durum “Hata! Başvuru kaynağı bulunamadı.)” de açıklanmıştır. Her istemci için ayrı ayrı oluşturulan “session” nesnesi yine her kullanıcı için oluşan request ve response nesneleri ile iletişim sağlanır. Bütün bunları kapsayan “application” nesnesi ise tüm kullanıcı oturumlarını kapsar şekilde oluşacaktır. Uygulama objesi siteden herhangi bir sayfa istendiği an otomatik olarak oluşacaktır fakat oturum objesi sadece isteyen kullanıcı için oluşacaktır.

 

Bir oturum, bir request nesnesinin HTTP iletişimini başlatır, bir web gezgininden, bir sunucuya gönderilir ve sunucudan response nesnesi ile geri gönderilen sonuç bilgisi ile sonlanır.

 

 

Resim 6 : Kullanıcıya göre ASP obje dağılımları.

 

Hafızada oluşturulan kullanıcıya veya aplikasyona ilişkin objeler içinde herhangi bir terslik olması halinde bu diğer çalıştırılan objeleri de etkileyecektir. Bunu önlemek için Microsoft firması “IIS” üzerine bir opsiyon koyarak her sitenin kendisine ait bir bellek alanında çalışmasını olağan kılmıştır. Bu seçenek normalde kapalı haldedir yani sunucudaki tüm objeler tek bir bellek alanında çalışacaktır. Bu özelliği aktif hale getirmek için “IIS” üzerinden, genel bellek alanından ayırmak istediğimiz sitenin özelliklerine girilir. Açılan özellik alanında en üstteki sekmeleri kullanarak “Home Directory” kısmına gelinir (Hata! Başvuru kaynağı bulunamadı.).

 

 

Resim 7 : IIS Site Özellikleri.

 

Bu alanda yer alan “application protection” yani “uygulama koruma” alanında üç maddeden oluşan seçenek kısmı görülmektedir bu seçeneklerden bizim için hangisi uygunsa onu seçeriz ve okleyip işlemi sonlandırabiliriz. Bu seçeneklerin neler olduğunu isterseniz teker teker inceleyelim.

 

Low (IIS Process) : Bu seçenek aktif olduğu zaman tüm asp uygulamaları ve nesneler tek bir hafıza alanında ortak çalışıyor olacaktır. Bu hafıza alanı web sunucunun kendi işlemleri ile aynı yerde tutulacaktır ve “Windows Görev Yöneticisi” nde “Inetinfo.exe” dosyası olarak gözükecektir. Ve bu uygulamanın sonlandırılması halinde sunucuda yer alan ve ortak çalışan uygulamalara ait bilgiler (çalışma ve oturum bilgileri) silinecektir. Bu seçenek aktif olduğu zaman sunucu bir risk altında olacaktır çünkü tüm uygulamaların tek bir alanda çalışması ki özellikle bu alanın web sunucu çalışma alanı olduğu düşünülürse, uygulamaların birinde hata olsa bile diğerlerini etkileyeceği için; ayrıca herhangi bir hatanın web sunucuyu şişirip çalışmaz hale getireceği için uygunsuz olacaktır. Mümkün oldukça seçili olmamasına dikkat ediniz.

 

Medium (Pooled) : Bu seçeneğin aktif olması halinde tüm asp uygulamaları ve nesneleri tek bir hafıza alanında çalışacaktır fakat bu alan web sunucunun işlemlerinin yapıldığı alandan farklı olacaktır. Bu sebepten dolayı sitede herhangi bir aksaklı olsa bile bu sadece siteleri etkileyecektir. Sunucunun şişmesini ve çalışmaz hale gelmesini engelleyecektir. Bu web sunucudan bağımsız yerde işletilen uygulamalar “Windows Görev Yöneticisi” nde “DLLHost.exe” dosyası olarak gözlenecektir.

 

High (Isolated) : Bu seçenek aktif olduğu zaman her sitenin uygulamaları ve objeleri kendisine ait bir hafıza alanında çalıştırılmasına olanak verecektir. Böylece sitelerde oluşacak aksaklıklardan sadece kendisi sorumlu olacaktır ne web sunucuyu nede diğer siteleri aksatabilecektir. Bu hafıza alanı bir önceki seçenekte olduğu gibi “Windows Görev Yöneticisi” nde “DLLHost.exe” olarak gözlemlenecektir fakat tek fark her site için ayrı ayrı bir “DLLHost.exe” olmasıdır. Seçenekler arasında en sağlıklı olanı budur fakat sunucunun sistem kaynaklarının yeterli olması gerekmektedir

tuna

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir