~~~~~~~~~~~~~~~~~~~~~~~~~
unit LFN_ALT;
interface
function AlternateToLFN(AltName:String):String;
function LFNToAlternate(LongName:String):String;
implementation
uses Windows;
function AlternateToLFN(AltName:String):String;
var
temp: TWIN32FindData;
searchHandle: THandle;
begin
searchHandle:=FindFirstFile(PChar(AltName),temp) ;
if searchHandle <> ERROR_INVALID_HANDLE then
result := String(temp.cFileName)
else
result := '';
Windows.FindClose(searchHandle) ;
end;
function LFNToAlternate(LongName:String):String;
var
temp: TWIN32FindData;
searchHandle: THandle;
begin
searchHandle:=FindFirstFile(PChar(LongName),temp) ;
if searchHandle <> ERROR_INVALID_HANDLE then
result := String(temp.cALternateFileName)
else
result := '';
Windows.FindClose(searchHandle) ;
end;
end.{unit}
~~~~~~~~~~~~~~~~~~~~~~~~~
ps. If you have Delphi 6+, you can use the ExtractShortPathName RTL function.
Delphi tips navigator:
» Get File 'Last Modified' attribute
« Delete folders recursively

