VBScript
ASP-koulutus / kurssit v. 2008
Kurssit saatavilla kautta Suomen. Tule, tutustu ja varaa oma koulutustapahtumasi jo tänään. Kurssit järjestää IT-koulutuksen asiantuntijasi, Koulutus- ja konsultointipalvelu KK Mediat
Silmukoiden käyttö kokoelmissa
Suurin yksittäinen hyöty silmukoista saadaan käytettäessä niitä kokoelmissa (kts. DOM/dHTML-sarja). Jokaisella kokoelmalla on sisäänrakennettu ominaisuus length, joka määrittelee kuinka monta yksilöä kokoelmassa on. Koska kokoelmat ovat aina nolla-pohjaisia, silmukka pitää aina aloittaa nollasta ja pituudesta vähentää yksi. Tämän avulla saadaankin syntaksi kokoelman läpikäymiseksi:
For counter = 0 To kokoelma.length-1
suoritettava koodi(counter).ominaisuus
Next
Esimerkki selventää asian merkitystä huomattavasti. Seuraava komentosarja tulostaa näytölle dokumentin kaikki hyperlinkit:
For counter =0 to document.links.length-1
document.write "Linkki (" &counter &") osoittaa: "
document.write document.links(counter).href
document.write "
"
Next
Jos haluamme tulostaa sivun dokumenttipuun näytölle, muuttaisimme yläpuolella olevaa komentosarjaa siten, että se kattaa document.all-kokoelmaan (varoitus: alla oleva koodi lisää sivun kokonaispituutta huomattavasti, koska se käy läpi kaikki elementit):
For counter =0 to document.all.length-1
document.write "document.all (" &counter &") tagi on: "
document.write document.all(counter).tagName
document.write "
"
Next
Tai vaikkapa haluamme muuttaa kaikki sivulla sijaitsevat kappaletekstit vihreiksi. Komentosarjan toteutus kestää jonkin aikaa, joten varsinaista laajaa käyttöä netissä sille on vaikea keksiä, mutta tässä tarvittava koodi:
<script for = "vaihdavaributton" event="onclick" language = "VBScript">
<!--
For counter =0 to document.all.tags("P").length-1
document.all.tags("P").item(counter).style.color = "green"
Next
-->
</script>
...
<input type="button" id="vaihdavaributton"></input>
Käyttökohteiden kirjo on lähes rajaton. Seuraava proseduuri palauttaa parametrina annetun hakemistopuun rakenteen:
Function naytaHakemisto(tunnus)
Dim fso, f, f1, fc, s
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFolder(tunnus)
Set fc = f.Files
For Each f1 in fc
s = s &f1.name
s = s &"<BR>"
Next
naytaHakemisto = s
End Function
Tutustu artikkelin muihin osiin:
»»» VBScript
»»»Päätöksenteko ehtolausekkeiden avulla
»»» VBScript
»»»Silmukat
»»» VBScript
»»»Silmukoiden hyödyntäminen kokoelmissa
Tallenna tämä sivu kirjanmerkkeihin!