46 Useful Utility Functions For #Delphi XE8 Firemonkey On Android, IOS, Windows, OSX

Delphi XE8 Firemonkey File String Utility Functions Android IOSDeveloper Flying Wang has released a set of utility functions called FlyFilesUtils for handling files, strings, screen DPI, and dialogs for Delphi XE8 Firemonkey. The functions are specifically built to help with development on the Android and IOS platforms (but also Windows and OSX). The source code for these utility functions is available over on Sourceforge. There are four areas that the utility functions cover which are working with files, working with strings, working with dialogs, and working with the Firemonkey screen DPI. Here are the file utility functions:

function GetCaseSensitiveFileName(const FileName: string; RootPath: string = ”): string;

function isPathCanUseNow(const PathOrDir: string; const Default: Boolean = True): Boolean;

function GetSDCardPath(Index: Integer = 0): string;

function FindSDCardSubPath(SubPath: string; Index: Integer = 0): string;
function GetAppPath: string;
function BuildFileListInAPath(const Path: string; const Attr: Integer; const List: TStrings;
JustFile: Boolean = False): Boolean; overload;

function BuildFileListInAPath(const Path: string; const Attr: Integer;
JustFile: Boolean = False): string; overload;

function GetFileNamesFromDirectory(const DirName: string; const SearchFilter: string = ‘*’;
const FileAttribs: Integer = faAnyFile; const isIncludeSubDirName: Boolean = False; const Recursion: Boolean = False;
const FullName: Boolean = False): string;

function DeleteDirectoryByEcho(const Source: string;
AbortOnFailure: Boolean = False; YesToAll: Boolean = True;
WaitMinSecond: Integer = DeleteDirectories_WaitMinSecond): Boolean;
function GetTotalSpaceSize(Path: string = PathDelim): UInt64;
function GetAvailableSpaceSize(Path: string = PathDelim): UInt64;
function GetFreeSpaceSize(Path: string = PathDelim): UInt64;

function GetTotalMemorySize: UInt64;
function GetFreeMemorySize: UInt64;
function IsPadOrPC(MiniScreenInches: Single = 6.2): Boolean;

function GetVolumePaths: string;

function GetExternalStoragePath: string;
function GetExterStoragePath: string;
function GetInnerStoragePath: string;
function GetIsExternalStorageRemovable: Boolean;
function FindJavaClass(NamePath: string): Boolean;
function FindJavaMethod(MethodName, Signature: string; CalssNamePath: string = ”): Boolean;
function FindJavaStaticMethod(MethodName, Signature: string; CalssNamePath: string = ”): Boolean;

 

Here are the string utility functions:

function DetectUTF8Encoding(const s: TBytes): TEncodeType;
function HasExtendCharacter(const s: TBytes): Boolean;
function HasUTF8BOM(S : TStream) : boolean; overload;
function HasUTF8BOM(const S: TBytes) : boolean; overload;
function HasUTF8BOM(const S: MarshaledAString) : boolean; overload;

function BytesAutoToString(const S: TBytes; const UnknowEncodeDefaultIsAnsi: Boolean = True): string; overload;
function BytesAutoToString(const S: MarshaledAString; const UnknowEncodeDefaultIsAnsi: Boolean = True): string; overload;
function StreamAutoToString(const aStream: TStream; const UnknowEncodeDefaultIsAnsi: Boolean = True): string;

function IsUTF8String(const s: MarshaledAString): Boolean; overload;
function IsUTF8String(const s: TBytes): Boolean; overload;

 

Here are the Firemonkey screen functions:

function GetScreenPixelsXY(const Context: TFmxObject = nil): TPoint;

function GetScreenClientPixelsXY(const Context: TFmxObject = nil): TPoint;

function GetScreenInchXY(const Context: TFmxObject = nil): TPointF;
function GetScreenDPIXY(const Context: TFmxObject = nil): TPointF;

function GetScreenDPI(const Context: TFmxObject = nil): Single;
function GetScreenInches(const Context: TFmxObject = nil): Single;
function GetFormXY(const AForm: TCustomForm): TPointF;
function GetFormClientXY(const AForm: TCustomForm): TPointF;
function GetFormClient(const AForm: TCustomForm): TRectF;
function GetFormPixelsXY(const AForm: TCustomForm): TPointF;
function GetFormClientPixelsXY(const AForm: TCustomForm): TPointF;

 

And here are the message dialog functions:

procedure ShowMessageWait(const AMessage: string);
procedure ShowMessageFmtWait(const AMessage: string; const AParams: array of const);
procedure ShowMessagePosWait(const AMessage: string; const AX, AY: Integer);

Head over and download the free FlyFilesUtils functions and try them out in your Delphi XE8 Firemonkey apps.

Have Delphi Firemonkey questions? Ask and get answers on StackOverflow.

46 Useful Utility Functions For #Delphi XE8 Firemonkey On Android, IOS, Windows, OSX by Delphi XE5 XE6 XE7 XE8 10 Seattle Berlin Firemonkey, Delphi Android, Delphi IOS is licensed under a Creative Commons Attribution 4.0 International License.

One Response to 46 Useful Utility Functions For #Delphi XE8 Firemonkey On Android, IOS, Windows, OSX

  1. Pingback: [FMX] DPI ermitteln - Delphi-PRAXiS

Leave a Reply

Show Buttons
Hide Buttons
Read previous post:
Delphi XE8 Firemonkey OrangeUI Component Suite Android IOS
OrangeUI Is A Large Media Rich Component Suite For Delphi XE8 Firemonkey On Android And IOS

Developer DelphiTeacher out of China has released a new version of his OrangeUI component suite for Delphi XE8 Firemonkey. OrangeUI...

Close