You've already forked lazarus-ccr
fpspreadsheet: Better names for some MetaData properties.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7578 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -8,14 +8,15 @@
|
|||||||
<MainUnitHasCreateFormStatements Value="False"/>
|
<MainUnitHasCreateFormStatements Value="False"/>
|
||||||
<MainUnitHasTitleStatement Value="False"/>
|
<MainUnitHasTitleStatement Value="False"/>
|
||||||
<MainUnitHasScaledStatement Value="False"/>
|
<MainUnitHasScaledStatement Value="False"/>
|
||||||
|
<CompatibilityMode Value="True"/>
|
||||||
</Flags>
|
</Flags>
|
||||||
<SessionStorage Value="InProjectDir"/>
|
<SessionStorage Value="InProjectDir"/>
|
||||||
<Title Value="demo_metadata"/>
|
<Title Value="demo_metadata"/>
|
||||||
<UseAppBundle Value="False"/>
|
<UseAppBundle Value="False"/>
|
||||||
<ResourceType Value="res"/>
|
<ResourceType Value="res"/>
|
||||||
</General>
|
</General>
|
||||||
<BuildModes>
|
<BuildModes Count="1">
|
||||||
<Item Name="Default" Default="True"/>
|
<Item1 Name="Default" Default="True"/>
|
||||||
</BuildModes>
|
</BuildModes>
|
||||||
<PublishOptions>
|
<PublishOptions>
|
||||||
<Version Value="2"/>
|
<Version Value="2"/>
|
||||||
@ -24,16 +25,16 @@
|
|||||||
<RunParams>
|
<RunParams>
|
||||||
<FormatVersion Value="2"/>
|
<FormatVersion Value="2"/>
|
||||||
</RunParams>
|
</RunParams>
|
||||||
<RequiredPackages>
|
<RequiredPackages Count="1">
|
||||||
<Item>
|
<Item1>
|
||||||
<PackageName Value="laz_fpspreadsheet"/>
|
<PackageName Value="laz_fpspreadsheet"/>
|
||||||
</Item>
|
</Item1>
|
||||||
</RequiredPackages>
|
</RequiredPackages>
|
||||||
<Units>
|
<Units Count="1">
|
||||||
<Unit>
|
<Unit0>
|
||||||
<Filename Value="demo_metadata.lpr"/>
|
<Filename Value="demo_metadata.lpr"/>
|
||||||
<IsPartOfProject Value="True"/>
|
<IsPartOfProject Value="True"/>
|
||||||
</Unit>
|
</Unit0>
|
||||||
</Units>
|
</Units>
|
||||||
</ProjectOptions>
|
</ProjectOptions>
|
||||||
<CompilerOptions>
|
<CompilerOptions>
|
||||||
@ -53,16 +54,16 @@
|
|||||||
</Linking>
|
</Linking>
|
||||||
</CompilerOptions>
|
</CompilerOptions>
|
||||||
<Debugging>
|
<Debugging>
|
||||||
<Exceptions>
|
<Exceptions Count="3">
|
||||||
<Item>
|
<Item1>
|
||||||
<Name Value="EAbort"/>
|
<Name Value="EAbort"/>
|
||||||
</Item>
|
</Item1>
|
||||||
<Item>
|
<Item2>
|
||||||
<Name Value="ECodetoolError"/>
|
<Name Value="ECodetoolError"/>
|
||||||
</Item>
|
</Item2>
|
||||||
<Item>
|
<Item3>
|
||||||
<Name Value="EFOpenError"/>
|
<Name Value="EFOpenError"/>
|
||||||
</Item>
|
</Item3>
|
||||||
</Exceptions>
|
</Exceptions>
|
||||||
</Debugging>
|
</Debugging>
|
||||||
</CONFIG>
|
</CONFIG>
|
||||||
|
@ -62,7 +62,7 @@ begin
|
|||||||
book := TsWorkbook.Create;
|
book := TsWorkbook.Create;
|
||||||
try
|
try
|
||||||
book.MetaData.CreatedBy := 'Donald Duck';
|
book.MetaData.CreatedBy := 'Donald Duck';
|
||||||
book.MetaData.CreatedAt := EncodeDate(2020, 1, 1) + EncodeTime(12, 30, 40, 20);
|
book.MetaData.DateCreated := EncodeDate(2020, 1, 1) + EncodeTime(12, 30, 40, 20);
|
||||||
book.MetaData.Title := 'Test of metadata äöü';
|
book.MetaData.Title := 'Test of metadata äöü';
|
||||||
book.MetaData.Comments.Add('This is a test of spreadsheet metadata.');
|
book.MetaData.Comments.Add('This is a test of spreadsheet metadata.');
|
||||||
book.MetaData.Comments.Add('Assign the author to the field CreatedBy.');
|
book.MetaData.Comments.Add('Assign the author to the field CreatedBy.');
|
||||||
@ -82,16 +82,16 @@ begin
|
|||||||
book := TsWorkbook.Create;
|
book := TsWorkbook.Create;
|
||||||
try
|
try
|
||||||
book.ReadFromFile('test.xlsx');
|
book.ReadFromFile('test.xlsx');
|
||||||
book.MetaData.ModifiedAt := Now();
|
book.MetaData.DateLastModified := Now();
|
||||||
book.MetaData.ModifiedBy := GetUserName;
|
book.MetaData.LastModifiedBy := GetUserName;
|
||||||
WriteLn('CreatedBy : ', book.MetaData.CreatedBy);
|
WriteLn('Created by : ', book.MetaData.CreatedBy);
|
||||||
WriteLn('CreatedAt : ', DateTimeToStr(book.MetaData.CreatedAt));
|
WriteLn('Date created : ', DateTimeToStr(book.MetaData.DateCreated));
|
||||||
WriteLn('ModifiedBy : ', book.MetaData.ModifiedBy);
|
WriteLn('Modified by : ', book.MetaData.LastModifiedBy);
|
||||||
WriteLn('ModifiedAt : ', DateTimeToStr(book.MetaData.ModifiedAt));
|
WriteLn('Date last modified : ', DateTimeToStr(book.MetaData.DateLastModified));
|
||||||
WriteLn('Title : ', book.MetaData.Title);
|
WriteLn('Title : ', book.MetaData.Title);
|
||||||
|
WriteLn('Keywords : ', book.MetaData.Keywords.CommaText);
|
||||||
WriteLn('Comments: ');
|
WriteLn('Comments: ');
|
||||||
WriteLn(book.MetaData.Comments.Text);
|
WriteLn(book.MetaData.Comments.Text);
|
||||||
WriteLn('Keywords : ', book.MetaData.Keywords.CommaText);
|
|
||||||
finally
|
finally
|
||||||
book.Free;
|
book.Free;
|
||||||
end;
|
end;
|
||||||
|
@ -969,9 +969,9 @@ type
|
|||||||
TsMetaData = class
|
TsMetaData = class
|
||||||
private
|
private
|
||||||
FCreatedBy: String;
|
FCreatedBy: String;
|
||||||
FCreatedAt: TDateTime;
|
FDateCreated: TDateTime;
|
||||||
FModifiedBy: String;
|
FDateLastModified: TDateTime;
|
||||||
FModifiedAt: TDateTime;
|
FLastModifiedBy: String;
|
||||||
FTitle: String;
|
FTitle: String;
|
||||||
FComments: TStrings;
|
FComments: TStrings;
|
||||||
FKeywords: TStrings;
|
FKeywords: TStrings;
|
||||||
@ -980,9 +980,9 @@ type
|
|||||||
destructor Destroy;
|
destructor Destroy;
|
||||||
function IsEmpty: Boolean;
|
function IsEmpty: Boolean;
|
||||||
property CreatedBy: String read FCreatedBy write FCreatedBy;
|
property CreatedBy: String read FCreatedBy write FCreatedBy;
|
||||||
property CreatedAt: TDateTime read FCreatedAt write FCreatedAt;
|
property LastModifiedBy: String read FLastModifiedBy write FlastModifiedBy;
|
||||||
property ModifiedBy: String read FModifiedBy write FModifiedBy;
|
property DateCreated: TDateTime read FDateCreated write FDateCreated;
|
||||||
property ModifiedAt: TDatetime read FModifiedAt write FModifiedAt;
|
property DateLastModified: TDatetime read FDateLastModified write FDateLastModified;
|
||||||
property Title: String read FTitle write FTitle;
|
property Title: String read FTitle write FTitle;
|
||||||
property Comments: TStrings read FComments write FComments;
|
property Comments: TStrings read FComments write FComments;
|
||||||
property Keywords: TStrings read FKeywords write FKeywords;
|
property Keywords: TStrings read FKeywords write FKeywords;
|
||||||
@ -1208,9 +1208,9 @@ end;
|
|||||||
|
|
||||||
function TsMetaData.IsEmpty: Boolean;
|
function TsMetaData.IsEmpty: Boolean;
|
||||||
begin
|
begin
|
||||||
Result := (FCreatedBy = '') and (FModifiedBy = '') and (FTitle = '') and
|
Result := (FCreatedBy = '') and (FLastModifiedBy = '') and (FTitle = '') and
|
||||||
(FComments.Count = 0) and (FKeywords.Count = 0) and
|
(FComments.Count = 0) and (FKeywords.Count = 0) and
|
||||||
(FCreatedAt = 0) and (FModifiedAt = 0);
|
(FDateCreated = 0) and (FDateLastModified = 0);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
@ -2666,7 +2666,7 @@ begin
|
|||||||
'dc:creator':
|
'dc:creator':
|
||||||
book.MetaData.CreatedBy := s;
|
book.MetaData.CreatedBy := s;
|
||||||
'cp:lastModifiedBy':
|
'cp:lastModifiedBy':
|
||||||
book.MetaData.ModifiedBy := s;
|
book.MetaData.LastModifiedBy := s;
|
||||||
'dc:description':
|
'dc:description':
|
||||||
if s <> '' then
|
if s <> '' then
|
||||||
begin
|
begin
|
||||||
@ -2681,10 +2681,10 @@ begin
|
|||||||
book.MetaData.Keywords.Clear;
|
book.MetaData.Keywords.Clear;
|
||||||
'dcterms:created':
|
'dcterms:created':
|
||||||
if s <> '' then
|
if s <> '' then
|
||||||
book.MetaData.CreatedAt := ISO8601StrToDateTime(s);
|
book.MetaData.DateCreated := ISO8601StrToDateTime(s);
|
||||||
'dcterms:modified':
|
'dcterms:modified':
|
||||||
if s <> '' then
|
if s <> '' then
|
||||||
book.MetaData.ModifiedAt :=ISO8601StrToDateTime(s);
|
book.MetaData.DateLastModified :=ISO8601StrToDateTime(s);
|
||||||
end;
|
end;
|
||||||
ANode := ANode.NextSibling;
|
ANode := ANode.NextSibling;
|
||||||
end;
|
end;
|
||||||
@ -6143,24 +6143,24 @@ begin
|
|||||||
'<dc:description>%s</dc:description>', [s]));
|
'<dc:description>%s</dc:description>', [s]));
|
||||||
end;
|
end;
|
||||||
|
|
||||||
if book.MetaData.ModifiedBy = '' then
|
if book.MetaData.LastModifiedBy = '' then
|
||||||
s := book.MetaData.CreatedBy
|
s := book.MetaData.CreatedBy
|
||||||
else
|
else
|
||||||
s := book.MetaData.ModifiedBy;
|
s := book.MetaData.LastModifiedBy;
|
||||||
AppendToStream(AStream, Format(
|
AppendToStream(AStream, Format(
|
||||||
'<cp:lastModifiedBy>%s</cp:lastModifiedBy>', [s])); // to do: check xml entities
|
'<cp:lastModifiedBy>%s</cp:lastModifiedBy>', [s])); // to do: check xml entities
|
||||||
|
|
||||||
if book.MetaData.CreatedAt > 0 then
|
if book.MetaData.DateCreated > 0 then
|
||||||
begin
|
begin
|
||||||
s := FormatDateTime(ISO8601FormatExtended, book.MetaData.CreatedAt) + 'Z';
|
s := FormatDateTime(ISO8601FormatExtended, book.MetaData.DateCreated) + 'Z';
|
||||||
AppendToStream(AStream, Format(
|
AppendToStream(AStream, Format(
|
||||||
'<dcterms:created xsi:type="dcterms:W3CDTF">%s</dcterms:created>', [s]));
|
'<dcterms:created xsi:type="dcterms:W3CDTF">%s</dcterms:created>', [s]));
|
||||||
end;
|
end;
|
||||||
|
|
||||||
if book.MetaData.ModifiedAt = 0 then
|
if book.MetaData.DateLastModified <= 0 then
|
||||||
s := FormatDateTime(ISO8601FormatExtended, book.MetaData.CreatedAt) + 'Z'
|
s := FormatDateTime(ISO8601FormatExtended, book.MetaData.DateCreated) + 'Z'
|
||||||
else
|
else
|
||||||
s := FormatDateTime(ISO8601FormatExtended, book.MetaData.ModifiedAt) + 'Z';
|
s := FormatDateTime(ISO8601FormatExtended, book.MetaData.DateLastModified) + 'Z';
|
||||||
AppendToStream(AStream, Format(
|
AppendToStream(AStream, Format(
|
||||||
'<dcterms:modified xsi:type="dcterms:W3CDTF">%s</dcterms:modified>', [s]));
|
'<dcterms:modified xsi:type="dcterms:W3CDTF">%s</dcterms:modified>', [s]));
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user