Converting from Long to Short file names and paths

Question:

How do I retrieve the short file name of a given file or path?

Answer:

Use the Windows API function GetShortPathName.

Example:

procedure TForm1.Button1Click(Sender: TObject);

var

  Buffer : array [0..255] of char;

begin

  GetShortPathName(

  'C:\Program Files\Borland\Common Files\Bde\Bde32.hlp',

  @Buffer,

  sizeof(Buffer));

  Memo1.Lines.Add(Buffer);

end;