2a25a3e64c
fpspreadsheet: Fix range overflow if formula contains integers > 65535
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4619 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2016-04-13 10:03:47 +00:00
313853b6e3
fpspreadsheet: Activate i16n for translation of strings. Add German translation. Some cleanup (hints & warnings).
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4592 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2016-03-24 22:37:10 +00:00
5121c07d54
fpspreadsheet: Fix ods reader crashing if a formula contains an error cell reference like #REF!1 (initially A1, but column A was deleted).
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4579 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2016-03-19 23:47:19 +00:00
7679ef468c
fpspreadsheet: Show message during writing when a formula is not supported by file format. Fix TsWorkbookSource ignoring its set options (i.e. ReadFormulas and AutoCalc working again).
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4480 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2016-01-27 22:17:56 +00:00
b873069b54
fpspreadsheet: Fix incorrect detection of cell ranges in ods files.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4374 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-10-09 14:47:37 +00:00
f2f4ce227a
fpspreadsheet: Fix formulas in ExcelXMLWriter. Fix excelxmlwrite demo.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4346 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-09-20 21:01:57 +00:00
68d15c38a9
fpspreadsheet: Reading/writing of error values for xlsx and ods (initial implementation was incomplete).
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4248 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-08-04 17:01:40 +00:00
d8e49350eb
fpspreadsheet: Change package version to 1.7. Clean up compilation warnings.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4198 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-06-28 17:59:09 +00:00
e121751361
fpspreadsheet: Reactivate the expression parser test cases which were commented (and forgotten) some time ago. Activate missing argument tests. Add some "exotic" formulas. All passed.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4186 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-06-08 17:03:55 +00:00
b8f0d3572e
fpspreadsheet: Erase formula if a new value is entered into cell
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4183 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-06-07 17:52:38 +00:00
f061f22e72
fpspreadsheet: Simplify expression parser by removing conversion nodes (no type check any more). Add formula ERROR.TYPE().
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4182 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-06-07 15:33:36 +00:00
9fbe0f7b4e
fpspreadsheet: remove type check in TsExpressionParser to be more compatible with Office applications. Fix parser to correctly handle exotic expressions such as "=50%^200%"
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4180 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-06-06 19:34:39 +00:00
5d6bea6a85
fpspreadsheet: Add support for missing arguments to formula parser.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4179 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-06-06 11:53:47 +00:00
f2f610ffbd
fpspreadsheet: Fix formula parser error in binary math operations of cell references (incorrect usage of integer instead of floating point values).
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4110 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-05-03 20:07:35 +00:00
9365a1dff2
fpspreadsheet: Reduce support for shared formulas (too many problems...), only reading from xls and xlsx files supported.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3998 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-03-06 12:12:45 +00:00
7dc4fd2a7e
fpspreadsheet: Fix 2nd parameter of formula HYPERLINK
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3996 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-03-05 21:47:27 +00:00
52515073d2
fpspreadsheet: Add spreadsheet function "=HYPERLINK(link, cell_text)"
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3995 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-03-05 20:07:15 +00:00
03efde6cab
fpspreadsheet: Rearrange cell comment architecture: to save memory cell comments are now stored in the worksheet's avltree "Comments". Replace cell's "CalcState" by more general "Flags" which signals that a cell contains a comment (to be extended...)
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3943 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-02-15 11:45:08 +00:00
9d89f1dcf3
fpspreadsheet: Fix missing error to be shown when a sheet containing a formula with circular reference is calculated.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3896 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-01-24 15:44:54 +00:00
2bf5464fc6
fpspreadsheet: Move type declarations from fpspreadsheet.pas to new unit fpstypes.pas. Update all examples.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3887 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2015-01-17 22:57:23 +00:00
21a5ec3449
fpspreadsheet: Complete unit tests for copying of data, formats and formulas
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3821 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-12-03 20:21:39 +00:00
fb8faab20b
fpspreadsheet: Fix compilation error introduced yesterday. Fix multi-key sorting which now passes all tests.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3679 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-10-23 09:07:20 +00:00
4a1a99044b
fpspreadsheet: Fix circular unit reference bug (thanks, Michael). Add demo_sorting.pas unit missing from last commit. Some improvements with multi-key sorting, but still in error sometimes (--> sorting code is still experimental).
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3678 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-10-22 23:25:26 +00:00
7b3795dc03
fpspreadsheet: Less hints. Adapt spready code to differences between trunk and Laz 1.2.6, remove duplicate colorbox unit in spready.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3667 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-10-20 09:22:06 +00:00
4dfa60673d
fpspreadsheet: Remove some unnecessary calls to lo() (no idea why I introduced them...). Fix range check errors in the test suite.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3633 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-10-06 12:55:28 +00:00
e9ae26952f
fpspreadsheet: Complete writing of all cell styles to wikitables (except for text rotation). Some cleanup of compiler warnings.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3606 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-09-26 13:47:47 +00:00
b43fb99608
fpspreadsheet: Fix reading/writing of cell error values in biff. Insert/delete unit tests with formulas are correct now. Fix crash in BIFFExplorer related to reading of formulas.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3582 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-09-19 19:44:35 +00:00
4ed3b47628
fpspreadsheet: Add test cases for insert/delete rows into worksheets containing formulas. Issues remaining when cells referred to by the formula are deleted. Add detection of error values to the formula scanner.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3581 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-09-19 14:22:18 +00:00
b22ab8deba
fpspreadsheet: Move rpn stuff from fpspreadsheet.pas to a new unit fpsRPN.pas. Move translatable strings from fpspreadsheet.pas to a new unit fpsStrings.pas. Make sure that all demos still run in the new environment.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3572 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-09-17 08:38:31 +00:00
84d3ab4fb8
fpspreadsheet: Misc improvements of TsWorksheetGrid, fpsgrid and spready
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3551 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-09-11 22:57:55 +00:00
b60590d691
fpspreadsheet: Fix priority of percent operator for formula calculation
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3531 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-09-08 12:27:00 +00:00
6b5cc615d3
fpspreadsheet: Add test cases for shared formulas
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3529 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-09-08 11:09:23 +00:00
ab50c08bd2
fpspreadsheet: Fix shared formula issues with absolute cell references
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3527 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-09-05 15:41:44 +00:00
ac149b750d
fpspreadsheet: Some cleanup of unused variables.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3526 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-09-04 18:55:21 +00:00
ef0a0319db
fpspreadsheet: Writing of shared formulas for ods and biff2 (shared formulas are not yet working in the other formats).
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3522 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-09-03 21:12:20 +00:00
e40683ea83
fpspreadsheet: Fix ods formula issues, seems to be ok now.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3513 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-09-02 12:58:06 +00:00
5d496d9cf4
fpspreadsheet: Fix formula issues with ods (written error values still different between fps and ods).
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3512 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-09-02 09:25:54 +00:00
56b814ec17
fpspreadsheet: Implement writing and reading of ods formulas. Some issues with date/time formulas.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3510 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-09-01 13:21:39 +00:00
c3becffe34
fpspreadsheet: Modify expression parser to accept decimal and list separators different from the default point and comma.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3509 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-09-01 08:17:35 +00:00
e387d98b6d
fpspreadsheet: Move code for calculation of standard built-in formulas from fpsexprparser to separate unit (fpsfunc)
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3507 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-08-31 16:02:50 +00:00
c87afdcdec
fpspreadsheet: Redo handling for formulas:
...
- Allow processing of string formulas (conversion to/from rpn formulas, calculation).
- Drop cell ContentType cctRPNFormula.
- Drop field RPNFormulaValue of TCell record.
- Remove all fekXXXX declarations for sheet functions. Function is specified by name now.
- Complete registration mechanism for user-defined formulas.
Adapt all demos
Test cases working
This commit does not yet support: shared formulas, formulas in ods.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3506 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-08-30 18:03:22 +00:00
5e5eccef12
fpspreadsheet: In expression parser, use double quotes (instead of single quots) to identify strings (Excel/OO/LO standard)
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3502 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-08-22 11:16:00 +00:00
5257052685
fpspreadsheet: Add string concatenation operation & to expression parser; remove string concatenation by means of "+"
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3501 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-08-22 10:54:55 +00:00
e122d42652
fpspreadsheet: Add modified version of fpexprpars.pp as formula expression parser. Demo_expression_parser (in examples/other) runs fine. Currently only basic functionality, no function support yet. Not yet integratated into the framework.
...
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3500 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2014-08-22 07:27:54 +00:00