Hej. Har kört en kurs där detta script användes som en övning. Håll till godo. Tackar. Ok, jag är med. Är väl lite trött så här mitt i natten... :-) TACKAR!!!!! Hoppas det funkar nu också...Spara en trädstruktur?
Jag hade tänkt göra ett program som bl.a listar filer och mappar i en TreeView.
Jag skulle sedan vilja spara denna struktur på nåt listigt sätt, för att kunna visa upp den vid ett senare tillfälle.
Är det nån som har nån idé om hur jag skall göra?
Det känns som om det redan finns ett bra script för detta men jag har inte hittat nåt.
(Har försökt lite med XML men ej lyckats. Kanske fel väg andå...) Sv: Spara en trädstruktur?
<code>
Dim oFS, oDrive, oFileTS, sOutPut
Set oFS = CreateObject("Scripting.FileSystemObject")
Set oFileTS = oFS.CreateTextFile("c:\driveData.txt")
For Each oDrive In oFS.Drives
With oDrive
sOutput = "Drive:" & .DriveLetter
sOutput = sOutput & " Type:" _
& GetDriveString(.DriveType)
If .IsReady Then
sOutput = sOutput & " Format:" & .FileSystem
sOutput = sOutput & " Label:" & .VolumeName
If .DriveType <>3 Then
oFileTS.WriteLine sOutput
WriteFolder oDrive.RootFolder, " "
End If
Else
oFileTS.WriteLine sOutput & " not ready"
End If
End With
Next
WScript.Echo "All Done!!"
oFileTS.Close
WScript.Quit
Function GetDriveString(iDriveType)
Const CDRom = 4
Const Fixed = 2
Const RamDisk = 5
Const Remote = 3
Const Removable = 1
Const Unknown = 0
Const CDRomString = "CDROM"
Const FixedString = "Fixed"
Const RamDiskString = "RamDisk"
Const RemoteString = "Remote"
Const RemovableString = "Removable"
Const UnknownString = "Unknown"
Select Case iDriveType
Case CDROM
GetDriveString = CDRomString
Case Fixed
GetDriveString = FixedString
Case RamDisk
GetDriveString = RamDiskString
Case Remote
GetDriveString = RemoteString
Case Removable
GetDriveString = RemovableString
Case Else
GetDriveString = UnknownString
End Select
End Function
Sub WriteFolder(ByRef oFol, ByVal sSpaces)
Dim oFolder
On Error Resume Next
For Each oFolder in oFol.SubFolders
sOutPut = sSpaces & "-" & oFolder.Name
If Err.Number = 0 Then oFileTS.WriteLine sOutput
Err.Clear
WriteFolder oFolder, sSpaces & " "
Next
End Sub
</code>
/JanneSv: Spara en trädstruktur?
Men det var inte riktigt det jag menade....
Skall försöka förklara tydligare...
Jag vill alltså spara strukturen i ett sådant format så att man enkelt kan visa upp den i en TreeView igen.
Det jag söker är antagligen en funktion för att spara en Treeview och en funktion för att visa samma struktur vid ett senare tillfälle.
Liknande RecordSet.Save, RecordSet.Open
XML bör väl funka på nåt sätt men jag är värdelös på XML. Är iofs inget vidare på TreeView-kontrollen heller...Sv: Spara en trädstruktur?
Här har du nog en lösning.
http://www.vb-world.net/controls/tip498.html
/JanneSv: Spara en trädstruktur?
Skall testa sen. Har lovat mej själv att städa först...
Tack