VBScript Çeşitli İfadeler

VBScript, geliştiricilerin verimli bir komut dosyası geliştirmelerine yardımcı olacak birkaç önemli ifadeye daha sahiptir. Aşağıdaki tablo, bu türden bir dizi önemli ifadeyi listeler. Bu bölümde, bu ifadelerin her birini örneklerle ayrıntılı olarak tartışacağız.

Kategori Fonksiyon Adı / İfade Adı
Seçenekler Seçenek Açık
Komut Dosyası Motoru Kimliği ScriptEngine
varyantlar IsArray, IsEmpty, IsNull, IsNumeric, IsObject, TypeName
İfade Değerlendir, Yürüt
Kontrol İfadesi İle ... Bitir
Matematik Fonksiyonu Rastgele

Seçenek Açık

Option Explicit geliştiriciyi değişkenleri kullanarak bildirmeye zorlar Dim kodun bir bölümünde kullanılmadan önce ifade.

Sözdizimi

Option Explicit

Misal

Eğer kullanırsak Option Explicit ve eğer değişkenleri bildirmezsek, yorumlayıcı atar ve hata verir.

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Option Explicit
         Dim x,y,z,a
         x = 10
         y = 20
         z = fnadd(x,y)
         a = fnmultiply(x,y)

         Function fnadd(x,y)
            fnadd = x+y
         End Function

      </script>
   </body>
</html>

ScriptEngine

ScriptEnginekullanılan komut dosyası dilinin ayrıntılarını temsil eder. Ayrıca aşağıdakilerle kombinasyon halinde kullanılır:ScriptEngineMajorVersion, ScriptEngineMinor Version, ScriptEngineBuildVersion bu, vbscript motorunun ana sürümünü, küçük sürümü vbscript motorunu ve vbscript'in yapı sürümünü verir.

Sözdizimi

ScriptEngine

Misal

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim scriptdetails
         scriptdetails =  " Version " & ScriptEngine & " - "
         'For getting Major version, use ScriptEngineMajorVersion'
        
         scriptdetails = scriptdetails &  ScriptEngineMajorVersion & "."
        
         'For getting Minor version, use ScriptEngineMinorVersion'
         scriptdetails = scriptdetails & ScriptEngineMinorVersion & "."
        
         'For getting Build version, use ScriptEngineBuildVersion'
         scriptdetails = scriptdetails & ScriptEngineBuildVersion 
        
         Document.write scriptdetails

      </script>
   </body>
</html>

Komut dosyasını IE'de çalıştırdıktan sonra dosyayı .html uzantısı ile kaydedin, aşağıdaki sonuç ekranda görüntülenir.

Version VBScript - 5.8.16996

Boş

IsEmpty Fonksiyonu, ifadenin boş olup olmadığını kontrol etmek için kullanılır. Boolean bir değer döndürür.IsEmptyDeğişken başlatılmamışsa veya açıkça Boş olarak ayarlanmışsa True döndürür. Aksi takdirde ifade False döndürür.

Sözdizimi

IsEmpty(expression)

Misal

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim var, MyCheck
         MyCheck = IsEmpty(var)  
         Document.write "Line 1 : " & MyCheck & "<br />"
        
         var = Null   ' Assign Null.
         MyCheck = IsEmpty(var) 
         Document.write "Line 2 : " & MyCheck & "<br />"
         
         var = Empty   ' Assign Empty.
         MyCheck = IsEmpty(var)
         Document.write "Line 3 : " & MyCheck & "<br />"
        
      </script>
   </body>
</html>

Komut dosyasını IE'de çalıştırdıktan sonra dosyayı .html uzantısı ile kaydedin, aşağıdaki sonuç ekranda görüntülenir.

Line 1 : True
Line 2 : False
Line 3 : True

IsNull

IsNull Fonksiyonu, ifadenin geçerli bir veriye sahip olup olmadığını kontrol etmek için kullanılır. Boolean bir değer döndürür.IsNull Değişken Null ise True döndürür, aksi takdirde ifade False döndürür.

Sözdizimi

IsNull(expression)

Misal

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim var, res
         res = IsNull(var)
         document.write "Line 1 : " & res & "<br />"
         
         var = Null
         res = IsNull(var)
         document.write "Line 2 : " & res & "<br />"
         
         var = Empty
         res = IsNull(var)
         document.write "Line 3 : " & res & "<br />"

      </script>
   </body>
</html>

Komut dosyasını IE'de çalıştırdıktan sonra dosyayı .html uzantısı ile kaydedin, aşağıdaki sonuç ekranda görüntülenir.

Line 1 : False
Line 2 : True
Line 3 : False

IsObject

IsObject Fonksiyonu, ifadenin geçerli bir Nesneye sahip olup olmadığını kontrol etmek için kullanılır. Boolean bir değer döndürür.IsObject İfade bir nesne alt türü içeriyorsa True döndürür, aksi takdirde ifade False döndürür.

Sözdizimi

IsObject(expression)

Misal

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
        Dim fso,b
        b = 10
        set fso = createobject("Scripting.Filesystemobject")
        
        x = isobject(fso)
        Document.write "Line 1 : " &  x  & "<br />" 
        
        y = isobject(b)
        Document.write "Line 2 : " &  y  & "<br />" 

      </script>
   </body>
</html>

Komut dosyasını IE'de çalıştırdıktan sonra dosyayı .html uzantısı ile kaydedin, aşağıdaki sonuç ekranda görüntülenir.

Line 1 : True
Line 2 : False

IsNumeric

IsNumeric Fonksiyonu, ifadenin bir sayı alt türüne sahip olup olmadığını kontrol etmek için kullanılır. Bir boole değeri döndürür.IsObject İfade bir sayı alt türü içeriyorsa True döndürür, aksi takdirde ifade False döndürür.

Sözdizimi

IsNumeric(expression)

Misal

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim var, chk
         var = 20
         chk = IsNumeric(var)
         Document.write "Line 1 : " &  chk  & "<br />" 
        
         var = "3.1415935745"   
         chk = IsNumeric(var)   
         Document.write "Line 2 : " &  chk  & "<br / >" 
        
         var = "20 Chapter 23.123 VBScript"   
         chk = IsNumeric(var)
         Document.write "Line 3 : " &  chk  & "<br / >" 

      </script>
   </body>
</html>

Komut dosyasını IE'de çalıştırdıktan sonra dosyayı .html uzantısı ile kaydedin, aşağıdaki sonuç ekranda görüntülenir.

Line 1 : True
Line 2 : True
Line 3 : False

TypeName

TypeName İşlevi, değişkenin varyant alt tür bilgilerini döndürmek için kullanılır.

Sözdizimi

TypeName(varname)

Typename işlevi aşağıdaki değerlerden herhangi birini döndürebilir.

  • Bayt - Bayt Değeri

  • Tamsayı - Tamsayı Değeri

  • Uzun - Uzun Tamsayı Değeri

  • Tek - Tek hassasiyetli kayan nokta Değeri

  • Çift - Çift hassasiyetli kayan nokta Değeri

  • Para Birimi - Para Birimi Değeri

  • Ondalık - Ondalık Değer

  • Tarih - Tarih veya Saat Değeri

  • Dize - Karakter dizesi Değeri

  • Boolean - Boolean Değeri

  • Boş - İlklendirilmemiş Değer

  • Boş - Geçerli Veri Yok

  • Nesne - Nesnenin tür adı

  • Hiçbir şey - Henüz bir nesne örneğine başvurmayan nesne değişkeni

  • Error

Misal

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim ArrVar(2), vartype
         NullVar = Null   ' Assign Null value.

         vartype = TypeName(3.1450)     
         Document.write "Line 1 : " &  vartype  & "<br />" 
         
         vartype = TypeName(432)         
         Document.write "Line 2 : " &  vartype  & "<br />" 
         
         vartype = TypeName("Microsoft")
         Document.write "Line 3 : " &  vartype  & "<br />" 
         
         vartype = TypeName(NullVar)   
         Document.write "Line 4 : " &  vartype  & "< br />" 
         
         vartype = TypeName(ArrVar)    
         Document.write "Line 5 : " &  vartype  & "<br />"

      </script>
   </body>
</html>

Komut dosyasını IE'de çalıştırdıktan sonra dosyayı .html uzantısı ile kaydedin, aşağıdaki sonuç ekranda görüntülenir.

Line 1 : Double
Line 2 : Integer
Line 3 : String
Line 4 : Null
Line 5 : Variant()

Değerlendir

Değerlendirme İşlevi bir ifade yürütür ve sonucu dizge veya sayı olarak döndürür.

Sözdizimi

Eval(expression)

Bağımsız değişken İfade bir dize ifadesi veya bir sayı olabilir. Eval işlevine sayısal bir ifade veya işlev adı içermeyen ancak yalnızca basit bir metin dizesi içeren bir dize iletirseniz, çalışma zamanı hatası oluşur. Örneğin, Eval ("VBScript") bir hatayla sonuçlanır.

Misal

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Document.write Eval("10 + 10") & "<br />"
         Document.write Eval("101 = 200") & "<br />" 
         Document.write Eval("5 * 3") & "<br />" 

      </script>
   </body>
</html>

Komut dosyasını IE'de çalıştırdıktan sonra dosyayı .html uzantısı ile kaydedin, aşağıdaki sonuç ekranda görüntülenir.

20
false
15

Yürüt

Execute deyimi, yürütme için bir veya daha fazla ifade içeren bir dize ifadesi olan bağımsız değişkeni kabul eder.

Sözdizimi

Execute(expression)

VBScript'te a = b iki şekilde yorumlanabilir. X değerinin y'ye atandığı bir atama ifadesi olarak değerlendirilebilir. Ayrıca, a ve b'nin aynı değere sahip olup olmadığını test eden bir ifade olarak da yorumlanabilir. Eğer öyleyse, sonuç Doğru; değillerse, sonuç Yanlış'dır. Execute ifadesi her zaman ilk yorumu kullanırken, Eval ifadesi her zaman ikincisini kullanır.

Misal

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim x
         x = "Global" 
         y = "VBScript"
         Execute("x = y")
         
         msgbox x
         msgbox y
        
      </script>
   </body>
</html>

Komut dosyasını IE'de çalıştırdıktan sonra dosyayı .html uzantısı ile kaydedin, aşağıdaki sonuç ekranda görüntülenir.

VBScript
VBScript

İle .. Sonu İle

With ifadesi, belirli bir nesne üzerinde nesne adını tekrar tekrar açıkça belirtmeden bir dizi işlem gerçekleştirmemize olanak tanır.

Sözdizimi

With (objectname)
   statement 1
   statement 2
   statement 3
   ...
   ...
   statement n
End With

Misal

Aşağıdaki komut dosyası çalıştırıldığında, Winword açılır ve belirtilen metin girilir.

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Msg =  "Vbscript" & vbCrLf & "Programming"
         Set objWord = CreateObject("Word.Application")
         objWord.Visible = True
       
         ' Objects methods are accessed without requaliyfying the objects again.'
         With objWord
            .Documents.Add
            .Selection.TypeText Msg
            .Selection.WholeStory
         End With
         
      </script>
   </body>
</html>

Rastgele

Randomize deyimi, geliştiricilerin rastgele bir sayı oluşturmasına yardımcı olan rastgele sayı üretecini başlatır.

Sözdizimi

Randomize [number]

Misal

Aşağıdaki komut dosyası çalıştırıldığında, Winword açılır ve belirtilen metin girilir.

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim MyValue
         Randomize   
         MyValue = Int((100 * Rnd) + 1)   ' Generate random value between 1 and 100.
         MsgBox MyValue
        
      </script>
   </body>
</html>

Yukarıdaki komut dosyasını HTML olarak kaydedin ve komut dosyasını IE'de çalıştırdıktan sonra aşağıdaki çıktı gösterilir.

42