fpspreadsheet: Add units (mm, cm, in, pts, lines/chars) for column width and row heights. Update all demos (some issues left).

NOTE: This revision breaks existing code if the worksheet's DefaultRowHeight/DefaultColWidth is changed - value must be in millimeters now. Methods for accessing individual row heiths and column widths are fine, but are marked as deprecated, they use the old units. Optionally a unit parameter can be specified.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4568 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2016-03-18 19:50:40 +00:00
parent 08e1a619ca
commit 5b946b751f
65 changed files with 990 additions and 845 deletions

View File

@@ -61,9 +61,9 @@ begin
MyWorkbook.Free;
end;
{$IFDEF MSWINDOWS}
{$IFDEF WINDOWS}
WriteLn;
WriteLn('Press ENTER to exit.');
WriteLn('Press ENTER to quit...');
ReadLn;
{$ENDIF}
end.

View File

@@ -54,7 +54,7 @@ begin
Write(
'Row: ', CurCell^.Row,
' Col: ', CurCell^.Col,
' Value: ', UTF8ToConsole(MyWorkSheet.ReadAsUTF8Text(CurCell^.Row, CurCell^.Col))
' Value: ', UTF8ToConsole(MyWorkSheet.ReadAsText(CurCell^.Row, CurCell^.Col))
);
if MyWorksheet.HasHyperlink(CurCell) then
Write(' Hyperlink: ', MyWorksheet.ReadHyperlink(CurCell).Target);
@@ -69,9 +69,9 @@ begin
stream.Free;
end;
{$IFDEF MSWINDOWS}
{$IFDEF WINDOWS}
WriteLn;
WriteLn('Press ENTER to exit.');
WriteLn('Press ENTER to quit...');
ReadLn;
{$ENDIF}
end.

View File

@@ -31,136 +31,136 @@ begin
Myworksheet.LeftPaneWidth := 1;
// Write colwidth
Myworksheet.WriteColWidth(1, 25); // 25 characters
Myworksheet.WriteColWidth(1, 25, suChars); // approx 25 characters
// Write some cells
row := 0;
MyWorksheet.WriteBlank(row, 0);
MyWorksheet.WriteUTF8Text(row, 1, 'Description');
MyWorksheet.WriteUTF8Text(row, 2, 'Example');
MyWorksheet.WriteText(row, 1, 'Description');
MyWorksheet.WriteText(row, 2, 'Example');
inc(row);
MyWorksheet.WriteNumber(row, 0, row);
MyWorksheet.WriteUTF8Text(row, 1, 'This is a text:');
MyWorksheet.WriteUTF8Text(row, 2, 'Hello world!');
MyWorksheet.WriteText(row, 1, 'This is a text:');
MyWorksheet.WriteText(row, 2, 'Hello world!');
inc(row);
MyWorksheet.WriteNumber(row, 0, row);
MyWorksheet.WriteUTF8Text(row, 1, 'This is bold text:');
Myworksheet.WriteUTF8Text(row, 2, 'Hello world!');
MyWorksheet.WriteText(row, 1, 'This is bold text:');
Myworksheet.WriteText(row, 2, 'Hello world!');
Myworksheet.WriteFontStyle(row, 2, [fssBold]);
inc(row);
MyWorksheet.WriteNumber(row, 0, row);
MyWorksheet.WriteUTF8Text(row, 1, 'This is a number:');
MyWorksheet.WriteText(row, 1, 'This is a number:');
MyWorksheet.WriteNumber(row, 2, 3.141592);
Myworksheet.WriteHorAlignment(row, 2, haRight);
inc(row);
MyWorksheet.WriteNumber(row, 0, row);
MyWorksheet.WriteUTF8Text(row, 1, 'This is a date:');
MyWorksheet.WriteText(row, 1, 'This is a date:');
Myworksheet.WriteDateTime(row, 2, date());
inc(row);
MyWorksheet.WriteNumber(row, 0, row);
MyWorksheet.WriteUTF8Text(row, 1, 'This is a long text:');
MyWorksheet.WriteUTF8Text(row, 2, 'A very, very, very, very long text, indeed');
MyWorksheet.WriteText(row, 1, 'This is a long text:');
MyWorksheet.WriteText(row, 2, 'A very, very, very, very long text, indeed');
inc(row);
MyWorksheet.WriteNumber(row, 0, row);
MyWorksheet.WriteUTF8Text(row, 1, 'Centered text:');
MyWorksheet.WriteUTF8Text(row, 2, 'I am in the center.');
MyWorksheet.WriteText(row, 1, 'Centered text:');
MyWorksheet.WriteText(row, 2, 'I am in the center.');
MyWorksheet.WriteHorAlignment(row, 2, haCenter);
inc(row);
MyWorksheet.WriteNumber(row, 0, row);
MyWorksheet.WriteUTF8Text(row, 1, 'This is a long text with line break:');
MyWorksheet.WriteText(row, 1, 'This is a long text with line break:');
Myworksheet.WriteVertAlignment(row, 1, vaTop);
MyWorksheet.WriteUTF8Text(row, 2, 'A very, very, very, very long text,<br /> indeed');
MyWorksheet.WriteText(row, 2, 'A very, very, very, very long text,<br /> indeed');
inc(row);
MyWorksheet.WriteNumber(row, 0, row);
MyWorksheet.WriteUTF8Text(row, 1, 'Merged rows');
MyWorksheet.WriteText(row, 1, 'Merged rows');
Myworksheet.MergeCells(row, 1, row+1, 1);
MyWorksheet.WriteUTF8Text(row, 2, 'A');
MyWorksheet.WriteText(row, 2, 'A');
inc(row);
MyWorksheet.WriteUTF8Text(row, 2, 'B');
MyWorksheet.WriteText(row, 2, 'B');
inc(row);
MyWorksheet.WriteNumber(row, 0, row);
MyWorksheet.WriteUTF8Text(row, 1, 'Merged columns');
MyWorksheet.WriteText(row, 1, 'Merged columns');
MyWorksheet.WriteHorAlignment(row, 1, haCenter);
MyWorksheet.MergeCells(row, 1, row, 2);
inc(row);
MyWorksheet.WriteNumber(row, 0, row);
MyWorksheet.WriteUTF8Text(row, 1, 'Right border:');
MyWorksheet.WriteUTF8Text(row, 2, 'medium / red');
MyWorksheet.WriteText(row, 1, 'Right border:');
MyWorksheet.WriteText(row, 2, 'medium / red');
MyWorksheet.WriteBorders(row, 2, [cbEast]);
MyWorksheet.WriteBorderStyle(row, 2, cbEast, lsMedium, scRed);
inc(row);
MyWorksheet.WriteNumber(row, 0, row);
MyWorksheet.WriteUTF8Text(row, 1, 'Top border:');
MyWorksheet.WriteUTF8Text(row, 2, 'top / dashed');
MyWorksheet.WriteText(row, 1, 'Top border:');
MyWorksheet.WriteText(row, 2, 'top / dashed');
MyWorksheet.WriteBorders(row, 2, [cbNorth]);
MyWorksheet.WriteBorderLineStyle(row, 2, cbNorth, lsDashed);
inc(row);
MyWorksheet.WriteNumber(row, 0, row);
MyWorksheet.WriteUTF8Text(row, 1, 'Left border:');
MyWorksheet.WriteUTF8Text(row, 2, 'left / dotted');
MyWorksheet.WriteText(row, 1, 'Left border:');
MyWorksheet.WriteText(row, 2, 'left / dotted');
MyWorksheet.WriteBorders(row, 2, [cbWest]);
MyWorksheet.WriteBorderLineStyle(row, 2, cbWest, lsDotted);
inc(row);
MyWorksheet.WriteNumber(row, 0, row);
MyWorksheet.WriteUTF8Text(row, 1, 'Bottom border:');
MyWorksheet.WriteUTF8Text(row, 2, 'bottom / double');
MyWorksheet.WriteText(row, 1, 'Bottom border:');
MyWorksheet.WriteText(row, 2, 'bottom / double');
MyWorksheet.WriteBorders(row, 2, [cbSouth]);
MyWorksheet.WriteBorderLineStyle(row, 2, cbSouth, lsDouble);
inc(row);
MyWorksheet.WriteNumber(row, 0, row);
MyWorksheet.WriteUTF8Text(row, 1, 'This row is high');
MyWorksheet.WriteText(row, 1, 'This row is high');
MyWorksheet.WriteRowHeight(row, 5);
inc(row);
MyWorksheet.WriteNumber(row, 0, row);
MyWorksheet.WriteUTF8Text(row, 1, 'Colors:');
MyWorksheet.WriteUTF8Text(row, 2, 'yellow on blue');
MyWorksheet.WriteText(row, 1, 'Colors:');
MyWorksheet.WriteText(row, 2, 'yellow on blue');
MyWorksheet.WriteFontColor(row, 2, scYellow);
MyWorksheet.WriteBackgroundColor(row, 2, scBlue);
inc(row);
MyWorksheet.WriteNumber(row, 0, row);
MyWorksheet.WriteUTF8Text(row, 1, 'RGB background color:');
MyWorksheet.WriteUTF8Text(row, 2, 'color #FF77C3'); // HTML colors are big-endian
MyWorksheet.WriteText(row, 1, 'RGB background color:');
MyWorksheet.WriteText(row, 2, 'color #FF77C3'); // HTML colors are big-endian
MyWorksheet.WriteBackgroundColor(row, 2, $C377FF); // fps colors are little-endian
inc(row);
MyWorksheet.WriteNumber(row, 0, row);
MyWorksheet.WriteUTF8Text(row, 1, 'Bold text:');
MyWorksheet.WriteUTF8Text(row, 2, 'Bold text');
MyWorksheet.WriteText(row, 1, 'Bold text:');
MyWorksheet.WriteText(row, 2, 'Bold text');
MyWorksheet.WriteFontStyle(row, 2, [fssBold]);
inc(row);
MyWorksheet.WriteNumber(row, 0, row);
MyWorksheet.WriteUTF8Text(row, 1, 'Italic text:');
MyWorksheet.WriteUTF8Text(row, 2, 'Italic text');
MyWorksheet.WriteText(row, 1, 'Italic text:');
MyWorksheet.WriteText(row, 2, 'Italic text');
MyWorksheet.WriteFontStyle(row, 2, [fssItalic]);
inc(row);
MyWorksheet.WriteNumber(row, 0, row);
MyWorksheet.WriteUTF8Text(row, 1, 'Underlined text:');
MyWorksheet.WriteUTF8Text(row, 2, 'Underlined text');
MyWorksheet.WriteText(row, 1, 'Underlined text:');
MyWorksheet.WriteText(row, 2, 'Underlined text');
MyWorksheet.WriteFontStyle(row, 2, [fssUnderline]);
inc(row);
MyWorksheet.WriteNumber(row, 0, row);
MyWorksheet.WriteUTF8Text(row, 1, 'Strike-through text:');
MyWorksheet.WriteUTF8Text(row, 2, 'Strike-through text');
MyWorksheet.WriteText(row, 1, 'Strike-through text:');
MyWorksheet.WriteText(row, 2, 'Strike-through text');
MyWorksheet.WriteFontStyle(row, 2, [fssStrikeout]);
inc(row);