Преглед изворни кода

Update UFolderHelper.pas

Get folder on Mobile environments
PascalCoin пре 6 година
родитељ
комит
fa80e92b2c
1 измењених фајлова са 11 додато и 6 уклоњено
  1. 11 6
      src/libraries/pascalcoin/UFolderHelper.pas

+ 11 - 6
src/libraries/pascalcoin/UFolderHelper.pas

@@ -44,7 +44,7 @@ Type TFileVersionInfo = record
 
   TFolderHelper = record
   strict private
-    {$IFnDEF FPC}
+    {$IF (not Defined(FPC)) and (Defined(MSWINDOWS))}
     class function GetFolder(const aCSIDL: Integer): string; static;
     {$ENDIF}
     class function GetAppDataFolder : string; static;
@@ -57,20 +57,21 @@ implementation
 
 uses
 {$IFnDEF FPC}
+  {$IFDEF MSWINDOWS}
   Windows, ShlObj,
   {$DEFINE FILEVERSIONINFO}
+  {$ELSE}
+  System.IOUtils,
+  {$ENDIF}
 {$ELSE}
   {$IFDEF WIN}
   Windows,
   {$DEFINE FILEVERSIONINFO}
   {$ENDIF}
-  {LCLIntf, LCLType, LMessages,}
 {$ENDIF}
   SysUtils;
 
-{$I config.inc}
-
-{$IFnDEF FPC}
+{$IF (not Defined(FPC)) and (Defined(MSWINDOWS))}
 function SHGetFolderPath(hwnd: HWND; csidl: Integer; hToken: THandle;
   dwFlags: DWord; pszPath: LPWSTR): HRESULT; stdcall;
   forward;
@@ -86,11 +87,15 @@ begin
   Result :=GetEnvironmentVariable('HOME');
   {$ENDIF}
   {$ELSE}
+  {$IFDEF MSWINDOWS}
   Result := GetFolder(CSIDL_APPDATA); // c:\Users\(User Name)\AppData\Roaming
+  {$ELSE}
+  Result := TPath.GetDocumentsPath;
+  {$ENDIF}
   {$ENDIF}
 end;
 
-{$IFnDEF FPC}
+{$IF (not Defined(FPC)) and (Defined(MSWINDOWS))}
 class function TFolderHelper.GetFolder(const aCSIDL: Integer): string;
 var
   FolderPath: array[0 .. MAX_PATH] of Char;