You've already forked lazarus-ccr
fpspreadsheet: Massive reconstruction: remove formatting attributes of TCell record and collect in TCellFormatList. TCell only has index into this list. Introduce record helpers to keep the old syntax. Reduction of memory consumption per cell by 50%.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3894 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@@ -42,6 +42,7 @@
|
||||
<Unit0>
|
||||
<Filename Value="demo_write_formatting.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="demo_write_formatting"/>
|
||||
</Unit0>
|
||||
</Units>
|
||||
</ProjectOptions>
|
||||
|
@@ -12,7 +12,8 @@ program demo_write_formatting;
|
||||
{$mode delphi}{$H+}
|
||||
|
||||
uses
|
||||
Classes, SysUtils, fpsTypes, fpspreadsheet, xlsbiff8, fpsopendocument;
|
||||
Classes, SysUtils,
|
||||
fpsTypes, fpspreadsheet, xlsbiff8, fpsopendocument, fpscell;
|
||||
|
||||
var
|
||||
MyWorkbook: TsWorkbook;
|
||||
@@ -30,83 +31,67 @@ begin
|
||||
MyWorksheet.WriteUTF8Text(1, 1, '[]'); // B2
|
||||
MyCell := MyWorksheet.GetCell(1, 1);
|
||||
MyCell^.Border := [];
|
||||
MyCell^.UsedFormattingFields := [uffBorder];
|
||||
|
||||
MyWorksheet.WriteUTF8Text(1, 3, '[N]');// D2
|
||||
MyCell := MyWorksheet.GetCell(1, 3);
|
||||
MyCell^.Border := [cbNorth];
|
||||
MyCell^.UsedFormattingFields := [uffBorder];
|
||||
|
||||
MyWorksheet.WriteUTF8Text(1, 5, '[W]');// F2
|
||||
MyCell := MyWorksheet.GetCell(1, 5);
|
||||
MyCell^.Border := [cbWest];
|
||||
MyCell^.UsedFormattingFields := [uffBorder];
|
||||
|
||||
MyWorksheet.WriteUTF8Text(1, 7, '[E]');// H2
|
||||
MyCell := MyWorksheet.GetCell(1, 7);
|
||||
MyCell^.Border := [cbEast];
|
||||
MyCell^.UsedFormattingFields := [uffBorder];
|
||||
|
||||
MyWorksheet.WriteUTF8Text(1, 9, '[S]');// J2
|
||||
MyCell := MyWorksheet.GetCell(1, 9);
|
||||
MyCell^.Border := [cbSouth];
|
||||
MyCell^.UsedFormattingFields := [uffBorder];
|
||||
|
||||
MyWorksheet.WriteUTF8Text(3, 1, '[N,W]');// B4
|
||||
MyCell := MyWorksheet.GetCell(3, 1);
|
||||
MyCell^.Border := [cbNorth, cbWest];
|
||||
MyCell^.UsedFormattingFields := [uffBorder];
|
||||
|
||||
MyWorksheet.WriteUTF8Text(3, 3, '[N,E]');// D4
|
||||
MyCell := MyWorksheet.GetCell(3, 3);
|
||||
MyCell^.Border := [cbNorth, cbEast];
|
||||
MyCell^.UsedFormattingFields := [uffBorder];
|
||||
|
||||
MyWorksheet.WriteUTF8Text(3, 5, '[N,S]');// F4
|
||||
MyCell := MyWorksheet.GetCell(3, 5);
|
||||
MyCell^.Border := [cbNorth, cbSouth];
|
||||
MyCell^.UsedFormattingFields := [uffBorder];
|
||||
|
||||
MyWorksheet.WriteUTF8Text(3, 7, '[W,E]');// H4
|
||||
MyCell := MyWorksheet.GetCell(3, 7);
|
||||
MyCell^.Border := [cbWest, cbEast];
|
||||
MyCell^.UsedFormattingFields := [uffBorder];
|
||||
|
||||
MyWorksheet.WriteUTF8Text(3, 9, '[W,S]');// J4
|
||||
MyCell := MyWorksheet.GetCell(3, 9);
|
||||
MyCell^.Border := [cbWest, cbSouth];
|
||||
MyCell^.UsedFormattingFields := [uffBorder];
|
||||
|
||||
MyWorksheet.WriteUTF8Text(3, 11, '[E,S]');// L4
|
||||
MyCell := MyWorksheet.GetCell(3, 11);
|
||||
MyCell^.Border := [cbEast, cbSouth];
|
||||
MyCell^.UsedFormattingFields := [uffBorder];
|
||||
|
||||
MyWorksheet.WriteUTF8Text(5, 1, '[N,W,E]');// B6
|
||||
MyCell := MyWorksheet.GetCell(5, 1);
|
||||
MyCell^.Border := [cbNorth, cbWest, cbEast];
|
||||
MyCell^.UsedFormattingFields := [uffBorder];
|
||||
|
||||
MyWorksheet.WriteUTF8Text(5, 3, '[N,W,S]');// D6
|
||||
MyCell := MyWorksheet.GetCell(5, 3);
|
||||
MyCell^.Border := [cbNorth, cbWest, cbSouth];
|
||||
MyCell^.UsedFormattingFields := [uffBorder];
|
||||
|
||||
MyWorksheet.WriteUTF8Text(5, 5, '[N,E,S]');// F6
|
||||
MyCell := MyWorksheet.GetCell(5, 5);
|
||||
MyCell^.Border := [cbNorth, cbEast, cbSouth];
|
||||
MyCell^.UsedFormattingFields := [uffBorder];
|
||||
|
||||
MyWorksheet.WriteUTF8Text(5, 7, '[W,E,S]');// H6
|
||||
MyCell := MyWorksheet.GetCell(5, 7);
|
||||
MyCell^.Border := [cbWest, cbEast, cbSouth];
|
||||
MyCell^.UsedFormattingFields := [uffBorder];
|
||||
|
||||
MyWorksheet.WriteUTF8Text(5, 9, '[N,W,E,S]');// J6
|
||||
MyCell := MyWorksheet.GetCell(5, 9);
|
||||
MyCell^.Border := [cbNorth, cbWest, cbEast, cbSouth];
|
||||
MyCell^.BackgroundColor := scGreen;
|
||||
MyCell^.UsedFormattingFields := [uffBorder, uffBold, uffBackgroundColor];
|
||||
end;
|
||||
|
||||
procedure WriteSecondWorksheet();
|
||||
@@ -121,13 +106,11 @@ begin
|
||||
MyCell := MyWorksheet.GetCell(1, 1);
|
||||
MyCell^.Border := [cbNorth, cbWest, cbSouth];
|
||||
MyCell^.BackgroundColor := scGrey20pct;
|
||||
MyCell^.UsedFormattingFields := [uffBorder, uffBackgroundColor, uffBold];
|
||||
|
||||
MyWorksheet.WriteUTF8Text(1, 2, ' ');
|
||||
MyCell := MyWorksheet.GetCell(1, 2);
|
||||
MyCell^.Border := [cbNorth, cbEast, cbSouth];
|
||||
MyCell^.BackgroundColor := scGrey20pct;
|
||||
MyCell^.UsedFormattingFields := [uffBorder, uffBackgroundColor];
|
||||
|
||||
// Line 2
|
||||
|
||||
@@ -135,13 +118,11 @@ begin
|
||||
MyCell := MyWorksheet.GetCell(2, 1);
|
||||
MyCell^.Border := [cbWest];
|
||||
MyCell^.BackgroundColor := scGrey10pct;
|
||||
MyCell^.UsedFormattingFields := [uffBorder, uffBackgroundColor];
|
||||
|
||||
MyWorksheet.WriteUTF8Text(2, 2, 'R$ 20');
|
||||
MyCell := MyWorksheet.GetCell(2, 2);
|
||||
MyCell^.Border := [cbEast];
|
||||
MyCell^.BackgroundColor := scGrey10pct;
|
||||
MyCell^.UsedFormattingFields := [uffBorder, uffBackgroundColor];
|
||||
|
||||
// Line 3
|
||||
|
||||
@@ -149,13 +130,11 @@ begin
|
||||
MyCell := MyWorksheet.GetCell(3, 1);
|
||||
MyCell^.Border := [cbWest, cbSouth];
|
||||
MyCell^.BackgroundColor := scGrey10pct;
|
||||
MyCell^.UsedFormattingFields := [uffBorder, uffBackgroundColor];
|
||||
|
||||
MyWorksheet.WriteUTF8Text(3, 2, 'R$ 20');
|
||||
MyCell := MyWorksheet.GetCell(3, 2);
|
||||
MyCell^.Border := [cbEast, cbSouth];
|
||||
MyCell^.BackgroundColor := scGrey10pct;
|
||||
MyCell^.UsedFormattingFields := [uffBorder, uffBackgroundColor];
|
||||
end;
|
||||
|
||||
const
|
||||
@@ -171,7 +150,6 @@ begin
|
||||
MyWorkbook := TsWorkbook.Create;
|
||||
|
||||
WriteFirstWorksheet();
|
||||
|
||||
WriteSecondWorksheet();
|
||||
|
||||
// Save the spreadsheet to a file
|
||||
|
Reference in New Issue
Block a user