Files Delphi

Title: Get full path to the file
GetLongName function allows you to get a full path to the file, using short path of this file. For example, if you have a 'C:\PROGRA~1' string, then you will get 'C:\Program Files' string.
function GetLongName(Path: string): string;
function Check(St: string): string;
var
MyS: TSearchRec;
begin
FindFirst(St, faAnyFile, MyS);
Result:=MyS.Name;
end;
var
P: Integer;
Str, Res: string;
begin
Res:='';
P:=Pos('\', Path);
Str:=Copy(Path, 1, P);
Delete(Path, 1, P);
Res:=Str;
repeat
P:=Pos('\', Path);
if P>0 then
begin
Str:=Str+Copy(Path, 1, P-1);
Delete(Path, 1, P);
Res:=Res+Check(Str)+'\';
Str:=Str+'\';
end
else
begin
Str:=Str+Path;
Res:=Res+Check(Str);
end;
until P<=0;
Result:=Res;
end;