Having also encountered this and related problems, I wrote some code
to get the Unix path of a FolderItem, and I'm pretty sure I've posted
it to this list. Try searching the archives for 'POSIXPath'.
Charles Yeomans
On Mar 30, 2008, at 9:22 PM, Thom McGrath wrote:
> Okay, I have not found a good method for finding the unix-style path
> to a folderitem. Shellpath frequently returns the wrong result, and
> the MBS plugin's UnixpathMBS does the same.
>
> So I've written two extension methods. I was wondering if somebody
> could look at them to check for errors. Upon my testing, everything
> appears correct. But I want to make sure I didn't miss anything. The
> first tests if two folder items are equal:
>
> Function Equal(Extends Item1 As FolderItem, Item2 As FolderItem) As
> Boolean
> if item1 = nil or item2 = nil then
> return false
> end
> #if TargetMacOS
> if item1.name <> item2.name then
> return false
> end
> if item1.macdirid <> item2.macdirid then
> return false
> end
> if item1.macvrefnum <> item2.macvrefnum then
> return false
> end
> return true
> #else
> return (item1.absolutepath = item2.absolutepath)
> #endif
> End Function
>
> Although I'm pretty sure the non-mac code is incorrect, I did not see
> any reliable methods. And the unixpath:
>
> Function Unixpath(Extends TheFolder As FolderItem) As String
> dim dirs(-1) as string
> dim f,a as folderitem
> dim path as string
> f = thefolder
> if f.equal(volume(0)) then
> return "/"
> end
> dirs.insert 0,f.name
> do until false = true
> a = f.parent
> if a = nil or a.exists = false then
> exit
> end
> dirs.insert 0,a.name
> f = a
> loop
> if thefolder.macvrefnum = volume(0).macvrefnum then
> dirs.remove 0
> else
> dirs.insert 0,"Volumes"
> end
> path = join(dirs,"/")
> path = "/" + path
> if thefolder.directory then
> path = path + "/"
> end
> return path
> exception
> return ""
> End Function
>
> I don't need this to work on Windows, as that's nearly useless, but
> Linux should work as well - and I can see this code won't work
> correctly on Linux. Low priority right now.
>
> --
> Thom McGrath
> The ZAZ Studios
> <http://www.thezaz.com/> AIM: thezazstudios
>
>
> _______________________________________________
> Unsubscribe or switch delivery mode:
> <http://www.realsoftware.com/support/listmanager/>
>
> Search the archives:
> <http://support.realsoftware.com/listarchives/lists.html>
_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>
Search the archives:
<http://support.realsoftware.com/listarchives/lists.html>
|