home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FCE Gold Plus
/
GOLD.iso
/
pc
/
fscommand
/
Xtras
/
FileXtra4-Mac.sit
/
FileXtra4_test.dir
/
00013_Script_FolderTests()
< prev
next >
Wrap
Text File
|
2002-12-20
|
6KB
|
114 lines
on FolderTests
global folderToUse -- I'll want to use this again in FileTests()
pathSepChar = the last char of the moviePath -- either ':' (Mac) or '\' (Windows)
WriteInfo(RETURN & RETURN & "Folder Tests commencing")
WriteInfo("******************************************")
fxObj = xtra("FileXtra4").new()
if not(objectP(fxObj)) then
WriteInfo("*** Could not instantiate FileXtra4. Is it in the Xtras folder? ***" & RETURN)
return
end if
volumeList = fxObj.fx_VolumesToList()
volumeToUse = volumeList.getAt(1) -- assume it's the boot drive
if the platform contains "Macintosh" then
folderToUse = fxObj.fx_FolderGetSpecialPath("kPreferencesFolderType")
else
folderToUse = fxObj.fx_FolderGetSpecialPath("CSIDL_WINDOWS")
end if
WriteInfo("fx_FolderGetSpecialPath(" & numToChar(34) & "kPreferencesFolderType" & numToChar(34) & ") returns '" & folderToUse & "'")
WriteInfo(" fx_ErrorNumber returns " & fxObj.fx_ErrorNumber() & ", fx_ErrorString returns '" & fxObj.fx_ErrorString() & "'")
if folderToUse = empty then
WriteInfo("Preferences folder not found, trying to locate System Folder...")
if the platform contains "Macintosh" then
folderToUse = fxObj.fx_FolderGetSpecialPath("kSystemFolderType")
else
folderToUse = fxObj.fx_FolderGetSpecialPath("CSIDL_SYSTEM")
end if
if folderToUse = empty then
WriteInfo("System Folder not found, just going to use first folder at volume '" & volumeToUse & "' root.")
rootFoldersList = fxObj.fx_FolderToList(volumeToUse)
folderToUse = volumeToUse & rootFoldersList.getAt(1)
-- note that preceding code assumes at least one folder present
-- not a good idea to make assumptions like that in production code!
end if
end if
foldersList = fxObj.fx_FolderToList(folderToUse)
-- fx_FolderToList() gives us every file in the folder, so strip out non-folders from the list
repeat with i = foldersList.count down to 1
fname = foldersList.getAt(i)
if chars(fname, fname.length, fname.length) <> pathSepChar then
foldersList.deleteAt(i) -- zap regular files
end if
end repeat
if foldersList.count = 0 then
WriteInfo("No folders found within '" & folderToUse & "'.")
else
WriteInfo("'" & folderToUse & "' contains the following folders:")
repeat with i = 1 to foldersList.count
WriteInfo(" " & foldersList.getAt(i))
end repeat
repeat with i = foldersList.count down to 1
if chars(foldersList.getAt(i), 1, 1) <> "." then
folderToUse = folderToUse & foldersList.getAt(i)
exit repeat
end if
end repeat
WriteInfo("")
end if
-- make a unique folder name to test copying etc.
targetFolderName = volumeToUse & "_FX3_Test-Folder--Name"
if fxObj.fx_FolderExists(targetFolderName) then
targetFolderName = targetFolderName & "_AA_"
end if
retVal = fxObj.fx_FolderCopy(folderToUse, targetFolderName, True)
WriteInfo("fx_FolderCopy('" & folderToUse & "', '" & targetFolderName & "', True) returns " & GetTrueFalseString(retVal))
WriteInfo(" fx_ErrorNumber returns " & fxObj.fx_ErrorNumber() & ", fx_ErrorString returns '" & fxObj.fx_ErrorString() & "'")
tempSubFolderName = "TempFolderCreatedByFX3"
newFolderName = targetFolderName & pathSepChar & tempSubFolderName
retVal = fxObj.fx_FolderCreate(newFolderName)
WriteInfo("fx_FolderCreate('" & newFolderName & "') returns " & GetTrueFalseString(retVal))
WriteInfo(" fx_ErrorNumber returns " & fxObj.fx_ErrorNumber() & ", fx_ErrorString returns '" & fxObj.fx_ErrorString() & "'")
retVal = fxObj.fx_FolderExists(newFolderName)
WriteInfo("fx_FolderExists('" & newFolderName & "') returns " & GetTrueFalseString(retVal))
WriteInfo(" fx_ErrorNumber returns " & fxObj.fx_ErrorNumber() & ", fx_ErrorString returns '" & fxObj.fx_ErrorString() & "'")
retVal = fxObj.fx_FolderSyncOneWay(folderToUse, newFolderName, True, False)
WriteInfo("fx_FolderSyncOneWay('" & folderToUse & "', '" & newFolderName & "', True, False) returns " & GetTrueFalseString(retVal))
WriteInfo(" fx_ErrorNumber returns " & fxObj.fx_ErrorNumber() & ", fx_ErrorString returns '" & fxObj.fx_ErrorString() & "'")
newFolderNameRenamed = newFolderName & "_"
tempSubFolderName = tempSubFolderName & "_"
retVal = fxObj.fx_FolderRename(newFolderName, newFolderNameRenamed)
WriteInfo("fx_FolderRename('" & newFolderName & "', '" & newFolderNameRenamed & "') returns " & GetTrueFalseString(retVal))
WriteInfo(" fx_ErrorNumber returns " & fxObj.fx_ErrorNumber() & ", fx_ErrorString returns '" & fxObj.fx_ErrorString() & "'")
movedFolderPath = volumeToUse & tempSubFolderName
retVal = fxObj.fx_FolderMove(newFolderNameRenamed, movedFolderPath)
WriteInfo("fx_FolderMove('" & newFolderNameRenamed & "', '" & movedFolderPath & "') returns " & GetTrueFalseString(retVal))
WriteInfo(" fx_ErrorNumber returns " & fxObj.fx_ErrorNumber() & ", fx_ErrorString returns '" & fxObj.fx_ErrorString() & "'")
retVal = fxObj.fx_FolderRecycle(movedFolderPath)
WriteInfo("fx_FolderRecycle('" & movedFolderPath & "') returns " & GetTrueFalseString(retVal))
WriteInfo(" fx_ErrorNumber returns " & fxObj.fx_ErrorNumber() & ", fx_ErrorString returns '" & fxObj.fx_ErrorString() & "'")
retVal = fxObj.fx_FolderDelete(targetFolderName, True) -- delete test folder and all contents
WriteInfo("fx_FolderDelete('" & targetFolderName & "', True) returns " & GetTrueFalseString(retVal))
WriteInfo(" fx_ErrorNumber returns " & fxObj.fx_ErrorNumber() & ", fx_ErrorString returns '" & fxObj.fx_ErrorString() & "'")
WriteInfo("")
fxObj = 0
end