Turning gears are the logo of co-scripts

Aşağıdaki basit örnekte bir xml dosyasının okunması ve kaba yöntemle etiketlerin metin kısımlarının okunmasını veriyorum.

Örnek olarak kullanılan XML dosyası burada.

Vbscript kodu mesaj kutucuğu içinde çekilen veirlerin bir kısmını gösteriyor. Bu veri bir veritabanına kayıt edilebilir veya bir başka ortamda kullanılaibilir metin halindedir.

Set objXMLDoc = CreateObject("Microsoft.XMLDOM") 
objXMLDoc.async = False 
objXMLDoc.load("http://www.co-scripts.com/dosyalar/kitapligim.xml")

Set Root = objXMLDoc.documentElement 
Set NodeList = Root.getElementsByTagName("kitap") 

For Each Elem In NodeList 
SET yAdi = Elem.getElementsByTagName("adi")(0)
SET kAdi = Elem.getElementsByTagName("yazar")(0)

deger = deger & "--->" &yAdi.Text &"[" & kAdi.Text &"]"& Chr(13)

Next
Msgbox(deger)

XML Okundusunun Çıktısı

 
co-scripts tag image xml okumakvbscript ile xmlreading xmlxmldomvbs ile xml dosyasi okumak
ID:261 | Okunma:1533


 

Biraz farklılık olmakla birlikte VB ile aynıdır.

Bir fonksiyonun bize nesne göndermesini istersek (örnek dhtml iledir). Fonksiyon içinde fonksiyonun adını Set kullanarak nesneye atamamız gerekiyor.

 

function nY(nesneid)
Set nY= document.getElementById(nesneid)
end function
co-scripts tag image
ID:258 | Okunma:1810


 

ByVal ve ByRef olayı Sub rutinlerinde parametre olarak gönderilen değişkenin değerinin geri dönderilip dönderilmeyeceğini anlatıyor.
byVal (by value) değeriyle
byRef (by reference) referansı ile
Fonksiyonlar, Sınıflar ve Sub rutinleri belirli işleri yapabilmek için komutları, değişkenleri algoritmaları bir araya getirmeye yarar. 
Bunlar arasında son derece temel farklar vardır.

Sub rutinimizinAdi(parametreler)

End sub

şeklindeki kullanımında parametre olarak gönderilen değişkenler
byVal gönderilirse değer sadece sub içinde kullanılıyor ve public etkisi olmuyor.
byRef gönderilirse kendisine gönderilen değişkenin değerini değiştirdiğinde public olarak etki ediyor.

Örnek:
sayimiz = 5

Sub degis(byVal benimSayi)
sayimiz = 9
End sub

msgbox(degis(sayimiz)) ' Mesaj kutusunda 5 yazacak 9 değil

Sub degis(byRef benimSayi)
sayimiz = 9
End sub

msgbox(degis(sayimiz)) ' Mesaj kutusunda 9 yazacak 5 değil

co-scripts tag image byrefbyvalsubsub rutinlerisub routinsbyref ile byval farki
ID:246 | Okunma:4410


 

Çoğu yerde elimizdeki bir metin veya sayının bir dizi içinde yer alıp almadığını bilmemiz gerekebilir.

Bunun için yazılan minik bir asp ve vbs betiği.
ASP&Vbscript:

function dizielemanimi(eleman,dizi)
sonucBild=0
	If IsArray(dizi) And eleman<>"" Then
		For ix=0 To UBound(dizi)
				If CStr(eleman) = CStr(dizi(ix)) Then
					sonucBild = 1
				End if
		Next
	Else
		Exit function
	End if
dizielemanimi = sonucBild	
End function
'Kullanımı if dizininelemanimi(dizimiz,eleman)=1 then
co-scripts tag image diziarraydizininelemanimiis an element of an arrayarray element check
ID:234 | Okunma:532


 

Aşağıda XMLHTTP ve ADODB.Stream kullanılarak bir dosyayı internetten indirmeyi örnekleyen bir kod var. Kodu .vbs uzantısı ile kaydedip çalıştırdığınızda adresini verdiğiniz herhangi bir dosyayı indirebilir. Script kendi bulunduğu klasöre indirir. Örneği kullanarak binlerce farklı uygulama yazılabilir.

  cURL = InputBox("İndirilecek nesnenin tam adresini giriniz!!!")
   Dim strDIR
       strDIR = WScript.ScriptFullName
       strDIR = Left(strDIR,InStrRev(strDIR,"\"))
   Dim strFIL
       strFIL = Mid(cURL,InStrRev(cURL,"/")+1)
   Dim objADO
   Set objADO = CreateObject("ADODB.Stream")
   Dim objXML
   Set objXML = CreateObject("Microsoft.XMLHTTP")
       objXML.Open "GET", cURL, False
       objXML.Send
   If Err.Number = 0 And objXML.Status = 200 Then
       objADO.Type = 1
       objADO.Open
       objADO.Write objXML.ResponseBody
       objADO.SaveToFile strDIR & strFIL,2
       booMSG = True
   End If
   Set objADO = Nothing
   Set objXML = Nothing
co-scripts tag image objadoobjxmlcreateobjectadodb.streammicrosoft.xmlhttpobjado.writeobjado.savewscriptobjxml.open
ID:120 | Okunma:1870


 

VBscript ile mini bir çok (2) boyutlu dizi denemesi önerisi. Matrisler ve dev diziler için farklı ve daha güzel mantıklar vardır.

 
dim diZi(2)
diZi(0) = array(2343,678,67862)
diZi(1) = array("Ankara","Adana","İstanbul")
diZi(2) = array("Araç", "Defne", "Zürafa", "Armut", "Kestane")
msgbox diZi(1)(2) ' sonuç "İstanbul"
co-scripts tag image diziarraycok boyutlu dizimulti dimension array
ID:119 | Okunma:2125