info@a-coding-project.de

FSO: Enumerator

Ein Enumerator ist eine Gruppe von Objekten (eine Auflistung). Sie sind in etwa mit einem Array vergleichbar, allerdings mit dem Unterschied, dass alle Objekte die enthalten sind ihre Funktionen, Eigenschaften und Methoden behalten wohingegen bei einem Array nur die aktuellen Werte übergeben werden. Sie können also auch innerhalb solcheines Enumerators die jeweiligen Eigenschaften eines Objektes abfragen. InFSOwerden diese Enumeratoren dazu verwendet, z.B. die Dateien eines bestimmten Verzeichnisses aufzulisten.

Enumerator-Objekt erstellen

Ein Enumerator-Objekt muss vor der Verwendung erst erstellt werden. Dies geschieht mit dem Aufruf new Enumerator(). Der neuen Enumerator muss nun gefüllt werden um mit dem Inhalt zu arbeiten. Dies geschieht indem man ihm ein Dictionary-Objekt übergibt - z.B. Files, Folders oder Drives. Danach kann mit den Inhalten gearbeitet werden.
Beispiel:

fso = new ActiveXObject("Scripting.FileSystemObject");
a = fso.GetFolder('C:/Name');
b = new Enumerator(a.Files); 

Hinweis: Im Beispiel wird als erstes ein FSO-Objekt erstellt. Der Variablen a wird nun ein Verzeichnis zugewiesen. Die Dateien dieses Verzeichnisses werden nun wiederum dem neu erstellten Enumerator b übergeben.

Zeiger kontrollieren

Um mit einem Objekt eines Enumerator zu arbeiten muss der Zeiger auf das gewünschte Objekt gelegt werden. Um die Position des Zeigers zu kontrollieren gibt es mehrere Methoden:

atEnd

Die atEnd-Methode gibt einen booleschen Wert dafür zurück, ob sich der Zeiger am Ende der Aufzählung befindet (true) oder nicht (false).
Notation: Objekt.atEnd()
Beispiel:

function EnumeratorAtEnd()
{
 fso = new ActiveXObject("Scripting.FileSystemObject");
 a = fso.GetFolder('C:/Name');
 b = new Enumerator(a.Files);
 b.moveFirst();
 c = ''; 
 while(b.atEnd == false)
 {
  c = c + b.item() + '<br>';
  b.moveNext();
 }
 document.open();
 document.write(c);
 document.close();
 return

item

Die item-Methode stellt die Verbindung zu dem Objekt her, auf dem gerad der Zeiger liegt.
Notation: Objekt.item()
Beispiel siehe atEnd-Methode.

moveFirst

Die moveFirst-Methode setzt den Zeiger auf das erste Objekt in der Aufzählung.
Notation: Objekt.moveFirst()
Beispiel siehe atEnd-Methode.

moveNext

Die moveNext-Methode setzt den Zeiger auf das nächste Objekt in der Aufzählung.
Notation: Objekt.moveNext()
Beispiel siehe atEnd-Methode.

Weiterlesen: ⯈ Dictionary

Über uns

Stefan Wienströer

Wir entwickeln Webanwendungen mit viel Leidenschaft. Unser Wissen geben wir dabei gerne weiter. Mehr über a coding project

Auch interessant