fpspreadsheet: User-provided registration of image formats. Automatic detection of image format from file header.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4552 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2016-03-14 22:04:00 +00:00
parent bfcc831505
commit e76a0394d3
4 changed files with 224 additions and 37 deletions

View File

@@ -32,6 +32,9 @@ type
{@@ Set of ansi characters }
TAnsiCharSet = set of ansichar;
{@@ Array of strings }
TStringArray = array of string;
const
{@@ Date formatting string for unambiguous date/time display as strings
Can be used for text output when date/time cell support is not available }
@@ -154,6 +157,7 @@ function TintedColor(AColor: TsColor; tint: Double): TsColor;
function AnalyzeCompareStr(AString: String; out ACompareOp: TsCompareOperation): String;
procedure FixLineEndings(var AText: String; var ARichTextParams: TsRichTextParams);
function SplitStr(const AText: String; ADelimiter: Char): TStringArray;
function UnquoteStr(AString: String): String;
function InitSortParams(ASortByCols: Boolean = true; ANumSortKeys: Integer = 1;
@@ -1964,6 +1968,28 @@ begin
end;
end;
{@@ ----------------------------------------------------------------------------
Splits a string at the specified delimiters into individual strings and passes
them in an array.
-------------------------------------------------------------------------------}
function SplitStr(const AText: String; ADelimiter: Char): TStringArray;
var
L: TStringList;
i: Integer;
begin
L := TStringList.Create;
try
L.Delimiter := ADelimiter;
L.StrictDelimiter := true;
L.DelimitedText := AText;
SetLength(Result, L.Count);
for i:=0 to High(Result) do
Result[i] := L[i];
finally
L.Free;
end;
end;
{@@ ----------------------------------------------------------------------------
Removes quotation characters which enclose a string
-------------------------------------------------------------------------------}