[Back to WIN-OS2 SWAG index] [Back to Main SWAG index] [Original]

    unit LFN_ALT;

    interface

    // This unit provides two functions that conver
    // filenames from the long format to the 8.3
    // format, and from the 8.3 format to the long
    // format.

    function AlternateToLFN(alternateName: String): String;
    function LFNToAlternate(LongName: String): String;

    implementation

    uses Windows;

    function AlternateToLFN(alternateName: String): String;
    var temp: TWIN32FindData;
        searchHandle: THandle;
    begin
      searchHandle := FindFirstFile(PChar(alternateName), 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.

[Back to WIN-OS2 SWAG index] [Back to Main SWAG index] [Original]