summaryrefslogtreecommitdiff
path: root/UCoreUtils.pas
diff options
context:
space:
mode:
authorTomas Bzatek <tbzatek@users.sourceforge.net>2008-06-18 22:30:08 +0200
committerTomas Bzatek <tbzatek@users.sourceforge.net>2008-06-18 22:30:08 +0200
commite7a55631dfa3e4011e420dbd22891d4adf98aa7d (patch)
treef87f517df24b0267dcda78e8cade9e574b8f03f3 /UCoreUtils.pas
parentfd60abd18e718c2134b350308c8d4dbf0d95dcc0 (diff)
downloadtuxcmd-e7a55631dfa3e4011e420dbd22891d4adf98aa7d.tar.xz
Handle multiple file extensions
Resolves #1120769
Diffstat (limited to 'UCoreUtils.pas')
-rw-r--r--UCoreUtils.pas42
1 files changed, 42 insertions, 0 deletions
diff --git a/UCoreUtils.pas b/UCoreUtils.pas
index 93bbff0..8fa6fef 100644
--- a/UCoreUtils.pas
+++ b/UCoreUtils.pas
@@ -60,6 +60,8 @@ function FormatSize(Value: Int64; Base: integer; OverrideSizeFormat: integer = -
function FormatDate(Value: time_t; const FormatTime, FormatDate: boolean; OverrideTimeFormat: integer = -1; OverrideDateFormat: integer = -1; OverrideDateTimeFormat: integer = -1; OverrideCustomDateFormat: string = ''; OverrideCustomTimeFormat: string = ''): string;
function StripDate(Value: time_t): time_t;
+function IncludeLeadingDot(s: string): string;
+
function AttrToStr(const Mode: Cardinal; IncludeFileType: boolean = True): string;
function AttrToOctal(const Mode: Cardinal): integer;
function OctalToAttr(Octal: Cardinal): Cardinal;
@@ -83,6 +85,9 @@ function ReplaceStr(const S, Srch, Replace: string): string;
function NumCountChars(const Char: char; const S: string): integer;
procedure ParseString(const Str, Separator: string; var SubStrings: TOpenStringArray);
+function MakeString(const Separator: string; var SubStrings: TOpenStringArray): string;
+procedure CopyArray(var src: TOpenStringArray; var dst: TOpenStringArray);
+procedure DeleteFromArray(Index: integer; var SubStrings: TOpenStringArray);
function ProcessPattern(Engine: TPanelEngine; Pattern, APath, FileName: string; const Directory: boolean): string;
@@ -421,6 +426,14 @@ begin
end;
(********************************************************************************************************************************)
+function IncludeLeadingDot(s: string): string;
+begin
+ s := Trim(s);
+ if s[1] <> '.' then Result := '.' + s
+ else Result := s;
+end;
+
+(********************************************************************************************************************************)
function GetHomePath: string;
begin
Result := PgcharToString(g_get_home_dir);
@@ -962,6 +975,35 @@ begin
end;
end;
+function MakeString(const Separator: string; var SubStrings: TOpenStringArray): string;
+var i: integer;
+begin
+ Result := '';
+ if Length(SubStrings) > 0 then begin
+ for i := 0 to Length(SubStrings) - 2 do
+ Result := Result + SubStrings[i] + Separator;
+ Result := Result + SubStrings[Length(SubStrings) - 1];
+ end;
+end;
+
+procedure CopyArray(var src: TOpenStringArray; var dst: TOpenStringArray);
+var i: integer;
+begin
+ SetLength(dst, Length(src));
+ for i := 0 to Length(src) - 1 do dst[i] := src[i];
+end;
+
+procedure DeleteFromArray(Index: integer; var SubStrings: TOpenStringArray);
+var i: integer;
+begin
+ if Length(SubStrings) > 0 then begin
+ if Index < Length(SubStrings) - 1 then
+ for i := Index to Length(SubStrings) - 2 do
+ SubStrings[i] := SubStrings[i + 1];
+ SetLength(SubStrings, Length(SubStrings) - 1);
+ end;
+end;
+
(********************************************************************************************************************************)
function GetStrSize(s: string): Int64;
var i: integer;