fpspreadsheet: Rename test_* projects in folder examples/other to demo_*. Remove dependence on laz_fpspreadsheet package for easier testing, use unit directory for compiled files. Add readme.txt for this folder.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3366 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2014-07-23 20:52:35 +00:00
parent ed409c445a
commit 6959ebb070
11 changed files with 138 additions and 34 deletions

View File

@ -10,7 +10,7 @@
</Flags> </Flags>
<SessionStorage Value="InProjectDir"/> <SessionStorage Value="InProjectDir"/>
<MainUnit Value="0"/> <MainUnit Value="0"/>
<Title Value="test_formula_func"/> <Title Value="demo_formula_func"/>
<UseAppBundle Value="False"/> <UseAppBundle Value="False"/>
<ResourceType Value="res"/> <ResourceType Value="res"/>
</General> </General>
@ -26,8 +26,13 @@
<CompilerOptions> <CompilerOptions>
<Version Value="11"/> <Version Value="11"/>
<PathDelim Value="\"/> <PathDelim Value="\"/>
<Target>
<Filename Value="demo_formula_func"/>
</Target>
<SearchPaths> <SearchPaths>
<IncludeFiles Value="$(ProjOutDir)"/> <IncludeFiles Value="$(ProjOutDir)"/>
<OtherUnitFiles Value="..\.."/>
<UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
</SearchPaths> </SearchPaths>
<CodeGeneration> <CodeGeneration>
<SmartLinkUnit Value="True"/> <SmartLinkUnit Value="True"/>
@ -39,6 +44,9 @@
</Debugging> </Debugging>
<LinkSmart Value="True"/> <LinkSmart Value="True"/>
</Linking> </Linking>
<Other>
<CompilerPath Value="$(CompPath)"/>
</Other>
</CompilerOptions> </CompilerOptions>
</Item2> </Item2>
</BuildModes> </BuildModes>
@ -53,14 +61,14 @@
</RunParams> </RunParams>
<RequiredPackages Count="1"> <RequiredPackages Count="1">
<Item1> <Item1>
<PackageName Value="laz_fpspreadsheet"/> <PackageName Value="LazUtils"/>
</Item1> </Item1>
</RequiredPackages> </RequiredPackages>
<Units Count="2"> <Units Count="2">
<Unit0> <Unit0>
<Filename Value="test_formula_func.pas"/> <Filename Value="demo_formula_func.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="test_formula_func"/> <UnitName Value="demo_formula_func"/>
</Unit0> </Unit0>
<Unit1> <Unit1>
<Filename Value="financemath.pas"/> <Filename Value="financemath.pas"/>
@ -71,14 +79,27 @@
<CompilerOptions> <CompilerOptions>
<Version Value="11"/> <Version Value="11"/>
<PathDelim Value="\"/> <PathDelim Value="\"/>
<Target>
<Filename Value="demo_formula_func"/>
</Target>
<SearchPaths> <SearchPaths>
<IncludeFiles Value="$(ProjOutDir)"/> <IncludeFiles Value="$(ProjOutDir)"/>
<OtherUnitFiles Value="..\.."/>
<UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
</SearchPaths> </SearchPaths>
<CodeGeneration> <CodeGeneration>
<Optimizations> <Optimizations>
<OptimizationLevel Value="0"/> <OptimizationLevel Value="0"/>
</Optimizations> </Optimizations>
</CodeGeneration> </CodeGeneration>
<Linking>
<Debugging>
<UseExternalDbgSyms Value="True"/>
</Debugging>
</Linking>
<Other>
<CompilerPath Value="$(CompPath)"/>
</Other>
</CompilerOptions> </CompilerOptions>
<Debugging> <Debugging>
<Exceptions Count="3"> <Exceptions Count="3">

View File

@ -13,9 +13,8 @@
Open/LibreOffice and compare). Open/LibreOffice and compare).
} }
program test_formula_func; program demo_formula_func;
//{$mode objfpc}{$H+}
{$mode delphi}{$H+} {$mode delphi}{$H+}
uses uses
@ -25,7 +24,7 @@ uses
{$ENDIF} {$ENDIF}
{$ENDIF} {$ENDIF}
Classes, SysUtils, Classes, SysUtils,
math, laz_fpspreadsheet, fpspreadsheet, xlsbiff8, fpsfunc, financemath; math, fpspreadsheet, xlsbiff8, fpsfunc, financemath;
{------------------------------------------------------------------------------} {------------------------------------------------------------------------------}

View File

@ -10,7 +10,7 @@
</Flags> </Flags>
<SessionStorage Value="InProjectDir"/> <SessionStorage Value="InProjectDir"/>
<MainUnit Value="0"/> <MainUnit Value="0"/>
<Title Value="test_recursive_calc"/> <Title Value="demo_recursive_calc"/>
<UseAppBundle Value="False"/> <UseAppBundle Value="False"/>
<ResourceType Value="res"/> <ResourceType Value="res"/>
</General> </General>
@ -26,8 +26,13 @@
<CompilerOptions> <CompilerOptions>
<Version Value="11"/> <Version Value="11"/>
<PathDelim Value="\"/> <PathDelim Value="\"/>
<Target>
<Filename Value="demo_recursive_calc"/>
</Target>
<SearchPaths> <SearchPaths>
<IncludeFiles Value="$(ProjOutDir)"/> <IncludeFiles Value="$(ProjOutDir)"/>
<OtherUnitFiles Value="..\.."/>
<UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
</SearchPaths> </SearchPaths>
<CodeGeneration> <CodeGeneration>
<SmartLinkUnit Value="True"/> <SmartLinkUnit Value="True"/>
@ -39,6 +44,9 @@
</Debugging> </Debugging>
<LinkSmart Value="True"/> <LinkSmart Value="True"/>
</Linking> </Linking>
<Other>
<CompilerPath Value="$(CompPath)"/>
</Other>
</CompilerOptions> </CompilerOptions>
</Item2> </Item2>
</BuildModes> </BuildModes>
@ -52,28 +60,41 @@
</RunParams> </RunParams>
<RequiredPackages Count="1"> <RequiredPackages Count="1">
<Item1> <Item1>
<PackageName Value="laz_fpspreadsheet"/> <PackageName Value="LazUtils"/>
</Item1> </Item1>
</RequiredPackages> </RequiredPackages>
<Units Count="1"> <Units Count="1">
<Unit0> <Unit0>
<Filename Value="test_recursive_calc.pas"/> <Filename Value="demo_recursive_calc.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="test_recursive_calc"/> <UnitName Value="demo_recursive_calc"/>
</Unit0> </Unit0>
</Units> </Units>
</ProjectOptions> </ProjectOptions>
<CompilerOptions> <CompilerOptions>
<Version Value="11"/> <Version Value="11"/>
<PathDelim Value="\"/> <PathDelim Value="\"/>
<Target>
<Filename Value="demo_recursive_calc"/>
</Target>
<SearchPaths> <SearchPaths>
<IncludeFiles Value="$(ProjOutDir)"/> <IncludeFiles Value="$(ProjOutDir)"/>
<OtherUnitFiles Value="..\.."/>
<UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
</SearchPaths> </SearchPaths>
<CodeGeneration> <CodeGeneration>
<Optimizations> <Optimizations>
<OptimizationLevel Value="0"/> <OptimizationLevel Value="0"/>
</Optimizations> </Optimizations>
</CodeGeneration> </CodeGeneration>
<Linking>
<Debugging>
<UseExternalDbgSyms Value="True"/>
</Debugging>
</Linking>
<Other>
<CompilerPath Value="$(CompPath)"/>
</Other>
</CompilerOptions> </CompilerOptions>
<Debugging> <Debugging>
<Exceptions Count="3"> <Exceptions Count="3">

View File

@ -4,7 +4,7 @@
Therefore calculation has to be done recursively until the independent third Therefore calculation has to be done recursively until the independent third
cell is found. } cell is found. }
program test_recursive_calc; program demo_recursive_calc;
{$mode objfpc}{$H+} {$mode objfpc}{$H+}
@ -15,7 +15,7 @@ uses
{$ENDIF} {$ENDIF}
{$ENDIF} {$ENDIF}
Classes, Classes,
math, laz_fpspreadsheet, fpspreadsheet, fpsfunc; math, fpspreadsheet, fpsfunc, xlsbiff8;
var var
workbook: TsWorkbook; workbook: TsWorkbook;

View File

@ -10,7 +10,7 @@
</Flags> </Flags>
<SessionStorage Value="InProjectDir"/> <SessionStorage Value="InProjectDir"/>
<MainUnit Value="0"/> <MainUnit Value="0"/>
<Title Value="test_virtualmode"/> <Title Value="demo_virtualmode_write"/>
<UseAppBundle Value="False"/> <UseAppBundle Value="False"/>
<ResourceType Value="res"/> <ResourceType Value="res"/>
</General> </General>
@ -26,8 +26,13 @@
<CompilerOptions> <CompilerOptions>
<Version Value="11"/> <Version Value="11"/>
<PathDelim Value="\"/> <PathDelim Value="\"/>
<Target>
<Filename Value="demo_virtualmode_write"/>
</Target>
<SearchPaths> <SearchPaths>
<IncludeFiles Value="$(ProjOutDir)"/> <IncludeFiles Value="$(ProjOutDir)"/>
<OtherUnitFiles Value="..\.."/>
<UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
</SearchPaths> </SearchPaths>
<CodeGeneration> <CodeGeneration>
<SmartLinkUnit Value="True"/> <SmartLinkUnit Value="True"/>
@ -44,6 +49,9 @@
</Win32> </Win32>
</Options> </Options>
</Linking> </Linking>
<Other>
<CompilerPath Value="$(CompPath)"/>
</Other>
</CompilerOptions> </CompilerOptions>
</Item2> </Item2>
</BuildModes> </BuildModes>
@ -57,12 +65,12 @@
</RunParams> </RunParams>
<RequiredPackages Count="1"> <RequiredPackages Count="1">
<Item1> <Item1>
<PackageName Value="laz_fpspreadsheet"/> <PackageName Value="LazUtils"/>
</Item1> </Item1>
</RequiredPackages> </RequiredPackages>
<Units Count="1"> <Units Count="1">
<Unit0> <Unit0>
<Filename Value="test_virtualmode.lpr"/> <Filename Value="demo_virtualmode_write.lpr"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
</Unit0> </Unit0>
</Units> </Units>
@ -70,8 +78,13 @@
<CompilerOptions> <CompilerOptions>
<Version Value="11"/> <Version Value="11"/>
<PathDelim Value="\"/> <PathDelim Value="\"/>
<Target>
<Filename Value="demo_virtualmode_write"/>
</Target>
<SearchPaths> <SearchPaths>
<IncludeFiles Value="$(ProjOutDir)"/> <IncludeFiles Value="$(ProjOutDir)"/>
<OtherUnitFiles Value="..\.."/>
<UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
</SearchPaths> </SearchPaths>
<CodeGeneration> <CodeGeneration>
<Optimizations> <Optimizations>
@ -80,9 +93,12 @@
</CodeGeneration> </CodeGeneration>
<Linking> <Linking>
<Debugging> <Debugging>
<UseHeaptrc Value="True"/> <UseExternalDbgSyms Value="True"/>
</Debugging> </Debugging>
</Linking> </Linking>
<Other>
<CompilerPath Value="$(CompPath)"/>
</Other>
</CompilerOptions> </CompilerOptions>
<Debugging> <Debugging>
<Exceptions Count="3"> <Exceptions Count="3">

View File

@ -1,4 +1,4 @@
program test_virtualmode; program demo_virtualmode_write;
{$mode objfpc}{$H+} {$mode objfpc}{$H+}
@ -10,7 +10,7 @@ uses
{$ENDIF} {$ENDIF}
Classes, SysUtils, Classes, SysUtils,
lazutf8, lazutf8,
variants, laz_fpspreadsheet, fpspreadsheet, xlsbiff2, xlsbiff5, xlsbiff8, xlsxooxml; variants, fpspreadsheet, xlsbiff2, xlsbiff5, xlsbiff8, xlsxooxml;
type type
TDataProvider = class TDataProvider = class

View File

@ -27,10 +27,11 @@
<Version Value="11"/> <Version Value="11"/>
<PathDelim Value="\"/> <PathDelim Value="\"/>
<Target> <Target>
<Filename Value="test_write_formatting"/> <Filename Value="demo_write_formatting"/>
</Target> </Target>
<SearchPaths> <SearchPaths>
<IncludeFiles Value="$(ProjOutDir)"/> <IncludeFiles Value="$(ProjOutDir)"/>
<OtherUnitFiles Value="..\.."/>
<UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/> <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
</SearchPaths> </SearchPaths>
<CodeGeneration> <CodeGeneration>
@ -43,6 +44,9 @@
</Debugging> </Debugging>
<LinkSmart Value="True"/> <LinkSmart Value="True"/>
</Linking> </Linking>
<Other>
<CompilerPath Value="$(CompPath)"/>
</Other>
</CompilerOptions> </CompilerOptions>
</Item2> </Item2>
</BuildModes> </BuildModes>
@ -58,14 +62,14 @@
</RunParams> </RunParams>
<RequiredPackages Count="1"> <RequiredPackages Count="1">
<Item1> <Item1>
<PackageName Value="laz_fpspreadsheet"/> <PackageName Value="LazUtils"/>
</Item1> </Item1>
</RequiredPackages> </RequiredPackages>
<Units Count="1"> <Units Count="1">
<Unit0> <Unit0>
<Filename Value="test_write_formatting.pas"/> <Filename Value="demo_write_formatting.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="test_write_formatting"/> <UnitName Value="demo_write_formatting"/>
</Unit0> </Unit0>
</Units> </Units>
</ProjectOptions> </ProjectOptions>
@ -77,6 +81,7 @@
</Target> </Target>
<SearchPaths> <SearchPaths>
<IncludeFiles Value="$(ProjOutDir)"/> <IncludeFiles Value="$(ProjOutDir)"/>
<OtherUnitFiles Value="..\.."/>
<UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/> <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
</SearchPaths> </SearchPaths>
<CodeGeneration> <CodeGeneration>
@ -84,5 +89,13 @@
<OptimizationLevel Value="0"/> <OptimizationLevel Value="0"/>
</Optimizations> </Optimizations>
</CodeGeneration> </CodeGeneration>
<Linking>
<Debugging>
<UseExternalDbgSyms Value="True"/>
</Debugging>
</Linking>
<Other>
<CompilerPath Value="$(CompPath)"/>
</Other>
</CompilerOptions> </CompilerOptions>
</CONFIG> </CONFIG>

View File

@ -7,13 +7,12 @@ Adds formatting to the file
AUTHORS: Felipe Monteiro de Carvalho AUTHORS: Felipe Monteiro de Carvalho
} }
program test_write_formatting; program demo_write_formatting;
{$mode delphi}{$H+} {$mode delphi}{$H+}
uses uses
Classes, SysUtils, fpspreadsheet, xlsbiff8, fpsopendocument, Classes, SysUtils, fpspreadsheet, xlsbiff8, fpsopendocument;
laz_fpspreadsheet;
var var
MyWorkbook: TsWorkbook; MyWorkbook: TsWorkbook;
@ -161,6 +160,9 @@ end;
const const
TestFile='test3.odt'; TestFile='test3.odt';
{$R *.res}
begin begin
writeln('Starting program.'); writeln('Starting program.');
MyDir := ExtractFilePath(ParamStr(0)); MyDir := ExtractFilePath(ParamStr(0));

View File

@ -9,7 +9,7 @@
</Flags> </Flags>
<SessionStorage Value="InProjectDir"/> <SessionStorage Value="InProjectDir"/>
<MainUnit Value="0"/> <MainUnit Value="0"/>
<Title Value="test_write_formula"/> <Title Value="demo_write_formula"/>
<ResourceType Value="res"/> <ResourceType Value="res"/>
<UseXPManifest Value="True"/> <UseXPManifest Value="True"/>
</General> </General>
@ -25,10 +25,11 @@
<CompilerOptions> <CompilerOptions>
<Version Value="11"/> <Version Value="11"/>
<Target> <Target>
<Filename Value="test_write_formula"/> <Filename Value="demo_write_formula"/>
</Target> </Target>
<SearchPaths> <SearchPaths>
<IncludeFiles Value="$(ProjOutDir)"/> <IncludeFiles Value="$(ProjOutDir)"/>
<OtherUnitFiles Value="../.."/>
<UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/> <UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/>
</SearchPaths> </SearchPaths>
<CodeGeneration> <CodeGeneration>
@ -41,6 +42,9 @@
</Debugging> </Debugging>
<LinkSmart Value="True"/> <LinkSmart Value="True"/>
</Linking> </Linking>
<Other>
<CompilerPath Value="$(CompPath)"/>
</Other>
</CompilerOptions> </CompilerOptions>
</Item2> </Item2>
</BuildModes> </BuildModes>
@ -57,12 +61,12 @@
</RunParams> </RunParams>
<RequiredPackages Count="1"> <RequiredPackages Count="1">
<Item1> <Item1>
<PackageName Value="laz_fpspreadsheet"/> <PackageName Value="LazUtils"/>
</Item1> </Item1>
</RequiredPackages> </RequiredPackages>
<Units Count="1"> <Units Count="1">
<Unit0> <Unit0>
<Filename Value="test_write_formula.pas"/> <Filename Value="demo_write_formula.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
</Unit0> </Unit0>
</Units> </Units>
@ -70,10 +74,11 @@
<CompilerOptions> <CompilerOptions>
<Version Value="11"/> <Version Value="11"/>
<Target> <Target>
<Filename Value="test_write_formula"/> <Filename Value="demo_write_formula"/>
</Target> </Target>
<SearchPaths> <SearchPaths>
<IncludeFiles Value="$(ProjOutDir)"/> <IncludeFiles Value="$(ProjOutDir)"/>
<OtherUnitFiles Value="../.."/>
<UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/> <UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/>
</SearchPaths> </SearchPaths>
<CodeGeneration> <CodeGeneration>
@ -81,6 +86,14 @@
<OptimizationLevel Value="0"/> <OptimizationLevel Value="0"/>
</Optimizations> </Optimizations>
</CodeGeneration> </CodeGeneration>
<Linking>
<Debugging>
<UseExternalDbgSyms Value="True"/>
</Debugging>
</Linking>
<Other>
<CompilerPath Value="$(CompPath)"/>
</Other>
</CompilerOptions> </CompilerOptions>
<Debugging> <Debugging>
<Exceptions Count="3"> <Exceptions Count="3">

View File

@ -5,14 +5,13 @@ Demonstrates how to write a formula using the fpspreadsheet library
AUTHORS: Felipe Monteiro de Carvalho AUTHORS: Felipe Monteiro de Carvalho
} }
program test_write_formula; program demo_write_formula;
{$mode delphi}{$H+} {$mode delphi}{$H+}
uses uses
Classes, SysUtils, Classes, SysUtils,
fpspreadsheet, xlsbiff5, xlsbiff8, fpsopendocument, fpspreadsheet, xlsbiff5, xlsbiff8, fpsopendocument;
laz_fpspreadsheet;
var var
MyWorkbook: TsWorkbook; MyWorkbook: TsWorkbook;
@ -86,6 +85,9 @@ end;
const const
TestFile='test_formula.xls'; TestFile='test_formula.xls';
{$R *.res}
begin begin
writeln('Starting program.'); writeln('Starting program.');
MyDir := ExtractFilePath(ParamStr(0)); MyDir := ExtractFilePath(ParamStr(0));

View File

@ -0,0 +1,17 @@
This folder contains various demo applications:
- demo_formula_func: shows how a user-provided function can be registered in
fpspreadsheet for usage in rpn formulas. The example covers some financial
functions.
- demo_recursive_calc: demonstrates recursive calculation of formulas. All
formulas in this demo depend on the result of the formula in the next cell,
except for the last cell. When the formula in the first cell is calculated
recursive calculation of the other cells is requested.
- demo_virtualmode_writing: demonstrates how the virtual mode of the workbook
can be used to create huge spreadsheet files.
- demo_write_formatting: shows some simple cell formatting
- demo_write_formula: shows some rpn formulas