>>I'm sure this has been asked, but...
>>
>>Is there a way to obtain a relative path to a file when providing the full path to the file, and a path to another path location. Plus have it returned in proper camel case as it would appear in the system. The SYS(2014) provides the relative path but it is uppercase.
>
>
>relativePath = Sys(2014, "C:\VHdev\appli\Dooxi\Progs\dooxi.scx", Home(1))
>? relativePath
>
>relativePath = Strtran(;
> m.relativepath;
>, Strtran(m.relativepath, '..\');
>, Substr("C:\VHdev\appli\Dooxi\Progs\dooxi.scx", Atc(Strtran(m.relativepath, '..\'), "C:\VHdev\appli\Dooxi\Progs\dooxi.scx"));
>)
>? relativePath
>
WOW. I should of seen this. I guess as I get older, my programming sword is losing it edge.
Anyway, for future reference to all...
LPARAMETERS tcFilename, tcRelPath
LOCAL ofs, lcFile
lcFile = FULLPATH(tcFilename)
IF FILE(m.lcFile)
LOCAL ofs, _folder, _file
ofs = CREATEOBJECT("scripting.FileSystemObject")
_folder = m.ofs.getfolder(ADDBS(JUSTPATH(m.lcFile)))
_file = _folder.FILES(JUSTFNAME(m.lcFile))
lcFile = _file.PATH
ENDIF
IF PCOUNT()>1
LOCAL relPath
relPath = SYS(2014, m.lcFile, FULLPATH(m.tcRelPath) )
lcFile = STRTRAN( m.relPath, STRTRAN(m.relPath, '..\') , SUBSTR(m.lcFile, ATC(STRTRAN(m.relPath, '..\'), m.lcFile)) )
ENDIF
RETURN lcFile
Thanks again.
Greg Reichert