|
@@ -5,9 +5,9 @@
|
|
Unit : Quick.Commons
|
|
Unit : Quick.Commons
|
|
Description : Common functions
|
|
Description : Common functions
|
|
Author : Kike Pérez
|
|
Author : Kike Pérez
|
|
- Version : 1.4
|
|
|
|
|
|
+ Version : 1.5
|
|
Created : 14/07/2017
|
|
Created : 14/07/2017
|
|
- Modified : 16/05/2018
|
|
|
|
|
|
+ Modified : 13/08/2018
|
|
|
|
|
|
This file is part of QuickLib: https://github.com/exilon/QuickLib
|
|
This file is part of QuickLib: https://github.com/exilon/QuickLib
|
|
|
|
|
|
@@ -50,6 +50,12 @@ interface
|
|
{$ELSE}
|
|
{$ELSE}
|
|
IOUtils,
|
|
IOUtils,
|
|
{$ENDIF}
|
|
{$ENDIF}
|
|
|
|
+ {$IFDEF ANDROID}
|
|
|
|
+ Androidapi.JNI.Os,
|
|
|
|
+ Androidapi.Helpers,
|
|
|
|
+ Androidapi.JNI.JavaTypes,
|
|
|
|
+ Androidapi.JNI.GraphicsContentViewText,
|
|
|
|
+ {$ENDIF}
|
|
DateUtils;
|
|
DateUtils;
|
|
|
|
|
|
type
|
|
type
|
|
@@ -641,42 +647,50 @@ end;
|
|
|
|
|
|
function GetLoggedUserName : string;
|
|
function GetLoggedUserName : string;
|
|
{$IFDEF MSWINDOWS}
|
|
{$IFDEF MSWINDOWS}
|
|
-const
|
|
|
|
- cnMaxUserNameLen = 254;
|
|
|
|
-var
|
|
|
|
- sUserName : string;
|
|
|
|
- dwUserNameLen : DWord;
|
|
|
|
-begin
|
|
|
|
- dwUserNameLen := cnMaxUserNameLen-1;
|
|
|
|
- SetLength( sUserName, cnMaxUserNameLen );
|
|
|
|
- GetUserName(PChar( sUserName ),dwUserNameLen );
|
|
|
|
- SetLength( sUserName, dwUserNameLen );
|
|
|
|
- Result := sUserName;
|
|
|
|
-end;
|
|
|
|
-{$ENDIF}
|
|
|
|
-{$IF DEFINED(FPC) AND DEFINED(LINUX)}
|
|
|
|
-begin
|
|
|
|
- Result := GetEnvironmentVariable('USERNAME');
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
|
|
+ const
|
|
|
|
+ cnMaxUserNameLen = 254;
|
|
|
|
+ var
|
|
|
|
+ sUserName : string;
|
|
|
|
+ dwUserNameLen : DWord;
|
|
|
|
+ begin
|
|
|
|
+ dwUserNameLen := cnMaxUserNameLen-1;
|
|
|
|
+ SetLength( sUserName, cnMaxUserNameLen );
|
|
|
|
+ GetUserName(PChar( sUserName ),dwUserNameLen );
|
|
|
|
+ SetLength( sUserName, dwUserNameLen );
|
|
|
|
+ Result := sUserName;
|
|
|
|
+ end;
|
|
|
|
+{$ELSE}
|
|
|
|
+ {$IF DEFINED(FPC) AND DEFINED(LINUX)}
|
|
|
|
+ begin
|
|
|
|
+ Result := GetEnvironmentVariable('USERNAME');
|
|
|
|
+ end;
|
|
|
|
+ {$ELSE}
|
|
|
|
+ begin
|
|
|
|
+ raise ENotImplemented.Create('Not Android GetLoggedUserName implemented!');
|
|
|
|
+ end;
|
|
|
|
+ {$ENDIF}
|
|
{$ENDIF}
|
|
{$ENDIF}
|
|
|
|
|
|
function GetComputerName : string;
|
|
function GetComputerName : string;
|
|
{$IFDEF MSWINDOWS}
|
|
{$IFDEF MSWINDOWS}
|
|
-var
|
|
|
|
- dwLength: dword;
|
|
|
|
-begin
|
|
|
|
- dwLength := 253;
|
|
|
|
- SetLength(Result, dwLength+1);
|
|
|
|
- if not Windows.GetComputerName(pchar(result), dwLength) then Result := 'Not detected!';
|
|
|
|
- Result := pchar(result);
|
|
|
|
-end;
|
|
|
|
-{$ENDIF}
|
|
|
|
-{$IF DEFINED(FPC) AND DEFINED(LINUX)}
|
|
|
|
-begin
|
|
|
|
- Result := GetEnvironmentVariable('COMPUTERNAME');
|
|
|
|
-end;
|
|
|
|
-
|
|
|
|
|
|
+ var
|
|
|
|
+ dwLength: dword;
|
|
|
|
+ begin
|
|
|
|
+ dwLength := 253;
|
|
|
|
+ SetLength(Result, dwLength+1);
|
|
|
|
+ if not Windows.GetComputerName(pchar(result), dwLength) then Result := 'Not detected!';
|
|
|
|
+ Result := pchar(result);
|
|
|
|
+ end;
|
|
|
|
+{$ELSE}
|
|
|
|
+ {$IF DEFINED(FPC) AND DEFINED(LINUX)}
|
|
|
|
+ begin
|
|
|
|
+ Result := GetEnvironmentVariable('COMPUTERNAME');
|
|
|
|
+ end;
|
|
|
|
+ {$ELSE} //Android gets model name
|
|
|
|
+ begin
|
|
|
|
+ Result := JStringToString(TJBuild.JavaClass.MODEL);
|
|
|
|
+ end;
|
|
|
|
+ {$ENDIF}
|
|
{$ENDIF}
|
|
{$ENDIF}
|
|
|
|
|
|
function NormalizePathDelim(const cPath : string; const Delim : Char) : string;
|
|
function NormalizePathDelim(const cPath : string; const Delim : Char) : string;
|
|
@@ -790,14 +804,22 @@ begin
|
|
end
|
|
end
|
|
else Result := '';
|
|
else Result := '';
|
|
end;
|
|
end;
|
|
-{$ENDIF}
|
|
|
|
-{$IF DEFINED(FPC) AND DEFINED(LINUX)}
|
|
|
|
-var
|
|
|
|
- version : TProgramVersion;
|
|
|
|
-begin
|
|
|
|
- if GetProgramVersion(version) then Result := Format('%d.%d', [version.Major, version.Minor])
|
|
|
|
- else Result := '';
|
|
|
|
-end;
|
|
|
|
|
|
+{$ELSE}
|
|
|
|
+ {$IF DEFINED(FPC) AND DEFINED(LINUX)}
|
|
|
|
+ var
|
|
|
|
+ version : TProgramVersion;
|
|
|
|
+ begin
|
|
|
|
+ if GetProgramVersion(version) then Result := Format('%d.%d', [version.Major, version.Minor])
|
|
|
|
+ else Result := '';
|
|
|
|
+ end;
|
|
|
|
+ {$ELSE}
|
|
|
|
+ var
|
|
|
|
+ PkgInfo : JPackageInfo;
|
|
|
|
+ begin
|
|
|
|
+ PkgInfo := SharedActivity.getPackageManager.getPackageInfo(SharedActivity.getPackageName,0);
|
|
|
|
+ Result := IntToStr(PkgInfo.VersionCode);
|
|
|
|
+ end;
|
|
|
|
+ {$ENDIF}
|
|
{$ENDIF}
|
|
{$ENDIF}
|
|
|
|
|
|
function GetAppVersionFullStr: string;
|
|
function GetAppVersionFullStr: string;
|
|
@@ -844,14 +866,22 @@ begin
|
|
LongRec(FixedPtr.dwFileVersionLS).Lo]); //build
|
|
LongRec(FixedPtr.dwFileVersionLS).Lo]); //build
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|
|
-{$ENDIF}
|
|
|
|
-{$IF DEFINED(FPC) AND DEFINED(LINUX)}
|
|
|
|
-var
|
|
|
|
- version : TProgramVersion;
|
|
|
|
-begin
|
|
|
|
- if GetProgramVersion(version) then Result := Format('%d.%d.%d.%d', [version.Major, version.Minor, version.Revision, version.Build])
|
|
|
|
- else Result := '';
|
|
|
|
-end;
|
|
|
|
|
|
+{$ELSE}
|
|
|
|
+ {$IF DEFINED(FPC) AND DEFINED(LINUX)}
|
|
|
|
+ var
|
|
|
|
+ version : TProgramVersion;
|
|
|
|
+ begin
|
|
|
|
+ if GetProgramVersion(version) then Result := Format('%d.%d.%d.%d', [version.Major, version.Minor, version.Revision, version.Build])
|
|
|
|
+ else Result := '';
|
|
|
|
+ end;
|
|
|
|
+ {$ELSE}
|
|
|
|
+ var
|
|
|
|
+ PkgInfo : JPackageInfo;
|
|
|
|
+ begin
|
|
|
|
+ PkgInfo := SharedActivity.getPackageManager.getPackageInfo(SharedActivity.getPackageName,0);
|
|
|
|
+ Result := JStringToString(PkgInfo.versionName);
|
|
|
|
+ end;
|
|
|
|
+ {$ENDIF}
|
|
{$ENDIF}
|
|
{$ENDIF}
|
|
|
|
|
|
function UTCToLocalTime(GMTTime: TDateTime): TDateTime;
|
|
function UTCToLocalTime(GMTTime: TDateTime): TDateTime;
|
|
@@ -1037,8 +1067,8 @@ begin
|
|
end;
|
|
end;
|
|
{$ENDIF}
|
|
{$ENDIF}
|
|
|
|
|
|
-initialization
|
|
|
|
{$IFDEF MSWINDOWS}
|
|
{$IFDEF MSWINDOWS}
|
|
|
|
+initialization
|
|
try
|
|
try
|
|
GetEnvironmentPaths;
|
|
GetEnvironmentPaths;
|
|
except
|
|
except
|