מדריך FSO – אוספים (collections)
אוספים (אוספים) הן בעצם רשימה, מערך ובכל פעם שנרצה להשתמש עימן נקרא ונגדיר אותם כאובייקט. הצגת הפלט עם אוספים אלו נעשות עם הלולאה For Each.
לדוגמא: השיטה FSO.Folders תציג את רשימת תת התקיות הקיימות בנתיב מסוים.
האוסף Drives:
אוסף המספק רשימה של כל הכוננים המחוברים למערכת.
כוננים נשלפים וניידים אשר אינם מחוברים למערכת לא יוצגו באוסף הנ"ל.
לאוסף לא קיימות שיטות (מתודות).
דוגמא לשימוש:
Dim Drive, Drives Set Drives = FSO.Drives For Each Drive In Drives Response.Write Drive.DriveLetter & "<Br>" Next Set Drives = Nothing
var drives, x;
drives = new Enumerator(fso.Drives);
for (; !drives.atEnd(); drives.moveNext())
{
x = drives.item();
Response.Write(x.DriveLetter + "<br>");
}
delete drives;
drives = null;
הדוגמא בעצם עושה לולאה לכל הכוננים הקיימים במחשב/בשרת הווב.
הדפסנו רק שיטה אחת בלולאה (אות הכונן) כאשר יכולנו להדפיס את ה-11 שיטות הנוספות.
האוסף Files:
אוסף המספק רשימה של כל הקבצים הנמצאים בנתיב (תקייה).
לאוסף לא קיימות שיטות (מתודות).
דוגמא לשימוש:
Dim Folder, Files, File
Set Folder = FSO.GetFolder(Server.MapPath("/"))
Set Files = Folder.Files
For Each File In Files
Response.Write File.Name & "<Br>"
Next
Set Files = Nothing
Set Folder = Nothing
var folder, files, file, x;
folder = fso.GetFolder(Server.MapPath("/"));
files = new Enumerator(folder.Files);
for (; !files.atEnd(); files.moveNext())
{
x = files.item();
Response.Write(x.Name + "<br>");
}
delete files;
files = null;
delete folder;
folder = null;
בדוגמא עשינו לולאה עבור כל הקבצים הנמצאים בנתיב מסוים (בדוגמא הנתיב הוא התקייה הראשית) והדפסנו את כל שמות הקבצים.
Folder.Files זוהי שיטה עבור הצגת כל הקבצים הקיימים בנתיב הספציפי שהגדרנו שורה לפני כן.
האוסף Folders:
אוסף המספק רשימה של כל התת תקיות הנמצאות בנתיב (תקייה).
לאוסף לא קיימות שיטות (מתודות).
דוגמא לשימוש:
Dim Folder, SubFolders, SubFolder
Set Folder = FSO.GetFolder(Server.MapPath("/"))
Set SubFolders = Folder.SubFolders
For Each SubFolder In SubFolders
Response.Write SubFolder.Name & "<Br>"
Next
Set SubFolders = Nothing
Set Folder = Nothing
var folder, SubFolders, SubFolder, x;
folder = fso.GetFolder(Server.MapPath("/"));
SubFolders = new Enumerator(folder.SubFolders);
for (; !SubFolders.atEnd(); SubFolders.moveNext())
{
x = SubFolders.item();
Response.Write(x.Name + "<br>");
}
delete SubFolders;
SubFolders = null;
delete folder;
folder = null;
אנחנו מגדירים את Folder על מנת שיכיל את התקייה אשר בה נבצע את הצגת התת תקיות הקיימות בה. SubFolders מכיל את כל התת תקיות הקיימות בתקייה שהגדרנו שורה לפני כן. הדוגמא מבצעת לולאה עבור כל תת תקייה בתוך התקייה הראשית (לשם הדוגמא) והפלט הוא כל שמות התת תקיות הקיימות בנתיב הספציפי.

תגובות בפייסבוק