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.


Son Yorumlar