Platforms to show: All Mac Windows Linux Cross-Platform
This FAQ is no longer useful with current operation systems and current plugin versions.
FAQ.How can I get the short name from a filename?
Feedback.
Answer: Try this function:
Example:
Feedback.
Answer: Try this function:
Example:
Function fGetShortPathName(sLongPathName As String) As String
dim lpShort,lpLong As MemoryBlock
dim iBuff,iLen As Integer
#IF TargetWin32 then
Declare Function GetShortPathName Lib "kernel32" Alias "GetShortPathNameA" (lpszLongPath As Ptr, lpszShortPath As Ptr, cchBuffer As Integer) As Integer
lpShort = newmemoryBlock(255)
lpLong = newMemoryBlock(len(sLongPathName)+2)
iBuff = 254
if right(sLongPathName,1) <> "\" then
lpLong.CString(0) = sLongPathName+"\"
else
lpLong.CString(0) = sLongPathName
end if
iLen = GetShortPathName(lpLong,lpShort,iBuff)
if iLen > 0 then
Return lpShort.CString(0)
else
return "### Error Getting GetShortPathName: " + sLongPathName
end if
#endif
End Function
Notes: The MBS plugin has several functions for this in the folderitem class which work even on Windows NT where this declares fail.