May 30

Script nedir ve naıl çalıştırılır adlı ilk makelemizin ardından scriptlerle ilgili ikinci makalemizle scriptler konusuna devam ediyoruz. VBScript’in tek bir veri türü vardır. Bu da Variant’tır. Variant,  özel bir veri türüdür ve değişik türdeki verileri (sayı, karakter dizisi gibi) verileri içerir. Variant tek bir veri türü olduğu için bütün işlevler tarafından da döndürülen veri türüdür.

 Variant bütün veri tiplerini içeren ve aynı zamanda uygun biçimde kullanılmalarını sağlayan bir veri türüdür. Aşağıdaki tabloda Variant veri türünün içerdiği alt veri türleri yer almaktadır:

 Tablo: Variant veri türünün içerdiği alt veri türleri

 Alt Türler         Anlamı                                                                                                          

Empty              Değer atanmamış. Sayısal verileri için sıfır, karakter değerleri için ise sıfır  uzunluklu ” ” değerdir.

Null                 Boş veri.

Boolean           True ya da False içerir.

Byte                 0 ile 255 arasında değerler.

Integer           -32,768 ile 32,767 arasında tamsayı değer.

Long               -2,147,483,648 ile 2,147,483,647 arasında sayısal değer.

Double 1         .79769313486232E308 ile -4.94065645841247E-324 arasında sayısal   (kayan noktalı) değer.

Date (Time)      January 1, 100 ile December 31, 9999 tarihleri arasında tarih değeri.

Object              Bir nesne içerir.

Error                Bir hata numarası içerir.

VBScript’de Operatörler

Operatörler (işleçler) hem karar vermede ilişkileri oluştururlar hem da aritmetik işlemlerde kullanılırlar. Birçok operatörün bir arada kullanılması durumunda işlem sırası operatörlerin öncelik sırasına göre düzenlenir. Ancak ifadelerde parantezlere yer vermek işlem sırasının programcı tarafından kontrol edilmesini sağlar.

Değerler ya da değişkenler arasında toplama, çıkarma gibi işlemlerin yapılmasını sağlarlar. İşleçler +, *, /, – gibi işaretlerle kullanılır.

Dim toplam

toplam = toplam + 1

toplam değişkenini bir artırır.

 Tablo: işleçler ve öncelikleri

Aritmetik Karşılaştırma Mantıksal
Üs alma (^) Eşitlik (=) Not
Olumsuz (-) Eşitsizlik (<>) And
Çarpma ve bölme (* , /) Küçüktür (<) Or
Tamsayı bölme (\) Büyüktür (>) Xor
Modülo Aritmetik (Mod) Küçük ya da eşittir (<=) Eqv
Toplama ve çıkarma (+,-) Büyük ya da eşittir (>=) Imp
String birleştirme(&) Like  
  Is  

 İfade içindeki operatörlerin eşit öncelikli olmaları durumunda; ifade soldan sağa doğru değerlendirilir.

 Program Kontrolü

Kodun işletimi yazıldığı sırasıyla gerçekleştirilir. Ancak program kontrolü olarak adlandırılan deyimlerle bu işleyiş değiştirilebilir. Böylece program içinde belli kararlara göre yapılabilecek farklı işlemler ortaya çıkar.

 If…Then…Else

If…Then…Else deyimi bir koşulun True (doğru) ya da False (yanlış) olmasını değerlendirmek için kullanılır. Buna bağlı olarak bir ya da daha fazla deyimin çalıştırılmasını sağlar. Genellikle koşul bir karşılaştırma ifadesiyle bir değeri ya da değişkeni diğerine göre karşılaştırır.

 Koşul doğru olduğunda yalnızca bir deyimi çalıştırmak istiyorsanız, If…Then…Else deyiminin tek satırlık basit şeklini kullanırsınız: Aşağıdaki örnekte yalnızca IF ve Then kullanılmış, Else deyimi kullanılmamıştır. .

 If sayac > 12 Then Msgbox “12 değerine ulaşıldı”

 Döngüler

Döngüler bir grup deyimini bir çok kez çalıştırılmasını sağlar. Örneğin son kaydı buluncaya kadar dosyada veri okumak gibi. Bazı döngüler deyimleri belli bir koşul False oluncaya kadar yineler. Bazıları ise koşul doğru oluncaya kadar. Bunun dışında deyimleri belli bir kez yinelemek için de döngü kullanılır:

 VBScript dilindeki döngü yapıları:

 

  • Do…Loop: Bir koşul True olduğu sürece ya True da oluncaya kadar yineleme.
  • While…Wend: Koşul doğru olduğu sürece döngü yapmak.
  • For…Next: Deyimleri belli bir sayıda yinelemek.

 Do…Loop deyimlerini bir blok deyimini belli bir koşul olduğu ya da koşul sağlanıncaya kadar yineler. Ancak değişik şekillerde tasarlanabilir: 

Bir koşul doğru olduğu sürece yinelemek:

Bir Do..Loop deyimindeki koşulu kontrol etmek için While anahtar sözcüğü kullanılır. Koşulu döngüye girmeden önce ya da döngü bir kez çalıştıktan sonra çıkışta kontrol edebilirsiniz.

 Örnek:

 Dim sayac

sayac = 1

          Do

           sayac = sayac + 1

     Loop Until sayac > 20

     Msgbox “döngü ” & sayac & ” kere döndü.”

 Sayac değeri 10 oluncaya kadar mesaj vermek:

 Dim Sayac

Sayac= 10

            Do

              MsgBox “FC-Scripting”

              Sayac = Sayac + 1

            Loop Until Sayac = 10

 Deyimleri bir koşul doğru oluncaya kadar yinelemek:

Bir Do..Loop döngüsü içinde Until sözcüğünü iki şekilde kullanarak bir koşulu test edebilirsiniz: Birincisi döngüye girmeden önce koşulun test edilmesi, ikinci ise döngüye girildikten sonra birinci işleyişin ardında koşulun test edilmesi gibi.

 For…Next Kullanımı

For…Next deyimleri bir blok deyimin belli bir sayı kadar çalıştırılmasını sağlar. Örneğin 10 kere yapılacak işlemleri değer = 1′den başlayarak 10 kere yapmak gibi.

 Örnek:

      Dim i, toplam

     For i = 1 To 10

         toplam= toplam + i

     Next

     MsgBox “Toplam = ” & toplam

 Yukarıdaki örnekte i değişkeni döngü kontrol değişkeni olarak adlandırılır. Bu değişken (i) döngünün kaç kez döneceğini ve aynı zamanda kendi değerinin de bilgi olarak kullanılabilmesini sağlar.

VBScript Deyimleri

VBScript dilinde çok sayıda deyim vardır. Bunlar şu kategoriler içinde listeleyebiliriz:
 

Array (dizi) İşlemleri

 Dim, Private, Public, ReDim

IsArray

Erase

LBound, UBound

 Atamalar

Set

 Sabitler

Nothing

Null

True, False

Empty

False

Nothing

Null

True 

 Program Kontrolü

Do…Loop

For…Next

For Each…Next

If…Then…Else

Select Case

While…Wend

With 

Dönüşümler

Abs

Asc, AscB, AscW

Chr, ChrB, ChrW

CBool, CByte

CCur, CDate

CDbl, CInt

CLng, CSng, CStr

DateSerial, DateValue

Hex, Oct

Fix, Int

Sgn

TimeSerial, TimeValue

 Tarih/Saat

Date, Time

DateAdd, DateDiff, DatePart

DateSerial, DateValue

Day, Month, MonthName

Weekday, WeekdayName, Year

Hour, Minute, Second

Now

TimeSerial, TimeValue

 Tanımlamalar

Class

Const

Dim, Private, Public, ReDim

Function, Sub

Property Get, Property Let, Property Set

Hata İşleme

On Error

Err 

 Formatlama

FormatCurrency

FormatDateTime

FormatNumber

FormatPercent 

 Giriş/Çıkış

InputBox

LoadPicture

MsgBox 

 Matematik

Atn, Cos, Sin, Tan

Exp, Log, Sqr

Randomize, Rnd

 Nesneler (Object)

CreateObject

Err Object

GetObject

RegExp 

 Operatörler

Addition (+), Subtraction (-)

Exponentiation (^)

Modulo aritmetik (Mod)

Multiplication (*), Division (/)

Integer Division (\)

Negation (-)

String concatenation (&)

Equality (=), Inequality (<>)

Less Than (<), Less Than or Equal To (<=)

Greater Than (>)

Greater Than or Equal To (>=)

Is

And, Or, Xor

Eqv, Imp

 Prosedürler

Call

Function, Sub

Property Get, Property Let, Property Set

Rounding

 Sözcük (Strings) İşlemleri

Asc, AscB, AscW

Chr, ChrB, ChrW

Filter, InStr, InStrB

InStrRev

Join

Len, LenB

LCase, UCase

Left, LeftB

Mid, MidB

Right, RightB

Replace

Space

Split

StrComp

String

StrReverse

LTrim, RTrim, Trim

 Fonksiyonlar (Functions) 

  • CDate() Bir değeri tarihe dönüştürür.
  • CInt() Bir değeri tamsayıya dönüştürür.
  • CStr() Bir değeri string’e dönüştürür.
  • Date() Sistemdeki tarih bilgisini verir.
  • DateAdd() Tarihe değer ekler ve çıkarır.
  • DateDiff() İki tarih arasındaki farkı bulur.
  • DatePart() Tarih bilgisinin kısımlarını (year, day, month, vb) verir.
  • GetObject() Bir nesneyi belirtir.
  • InputBox() Ekrandan bilgi almak için.
  • InStr() Bir string bilginin diğer bir string içinde aranmasını sağlar.
  • LCase() Bir string veriyi küçük harfe çevirir.
  • Left() String bilgiler üzerinde, belirtilen sayı kadar soldan alır.
  • Len() String bilginin uzunluğunu verir.
  • MsgBox() Ekran üzerinde mesaj verir.
  • Now() Sistem zamanını verir.
  • Right() String bilgiler üzerinde, belirtilen sayı kadar sağdan alır.
  • UCase() String bilgiyi büyük harfe çevirir.

Bu makalemizinde sonuna geldik. Bir sonraki makalemizde Active Directoryde kullanmak için script yazmayı anlatacağım.

Yazar ceyhun çamlı \\ Etiketler:

Leave a Reply