This commit is contained in:
Dalibor Marković 2024-01-10 21:50:38 +01:00 committed by Dalibor Marković
parent 4e261fc1c0
commit f4b3d937f8
Signed by: Dasko
GPG Key ID: B130BB104C2CA3A9
4907 changed files with 655452 additions and 0 deletions

28
Demos/Main/1.fr3 Normal file
View File

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<TfrxReport Version="4.8.28" DotMatrixReport="False" EngineOptions.DoublePass="True" IniFile="\Software\Fast Reports" PreviewOptions.Buttons="4095" PreviewOptions.OutlineWidth="180" PreviewOptions.Zoom="1" PrintOptions.Printer="Default" PrintOptions.PrintOnSheet="0" ReportOptions.CreateDate="37871.9953986921" ReportOptions.Description.Text="Demonstrates how to create simple list report." ReportOptions.LastChange="40128.7010733102" ReportOptions.VersionBuild="1" ReportOptions.VersionMajor="12" ReportOptions.VersionMinor="13" ReportOptions.VersionRelease="1" ScriptLanguage="PascalScript" ScriptText.Text="begin&#13;&#10;&#13;&#10;end." PropData="044C656674025803546F7003700108446174617365747301010C3900000020446174615365743D225265706F7274446174612E437573746F6D65727344532220446174615365744E616D653D22437573746F6D657273220000095661726961626C65730100055374796C650100">
<TfrxDataPage Name="Data" Height="1000" Left="0" Top="0" Width="1000"/>
<TfrxReportPage Name="Page1" PaperWidth="210" PaperHeight="297" PaperSize="9" LeftMargin="5" RightMargin="5" TopMargin="5" BottomMargin="5" Columns="1" ColumnWidth="210" ColumnPositions.Text="0" PrintOnPreviousPage="True" HGuides.Text="" VGuides.Text="">
<TfrxReportTitle Name="Band1" Height="30.23624" Left="0" Top="18.89765" Width="755.906">
<TfrxGradientView Name="Gradient1" Left="3.77953" Top="3.77953" Width="714.33117" Height="26.45671" ShowHint="False" Style="gsVertical"/>
<TfrxMemoView Name="Memo1" Left="3.77953" Top="3.77953" Width="714.33117" Height="26.45671" ShowHint="False" Font.Charset="1" Font.Color="16777215" Font.Height="-16" Font.Name="Arial" Font.Style="1" HAlign="haCenter" ParentFont="False" VAlign="vaCenter" Text="Customers"/>
</TfrxReportTitle>
<TfrxPageHeader Name="Band2" Height="34.01577" Left="0" Top="71.81107" Width="755.906">
<TfrxMemoView Name="Memo4" Left="204.09462" Top="7.55906" Width="158.74026" Height="18.89765" ShowHint="False" Color="16777215" Font.Charset="1" Font.Color="128" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Color="8421504" Frame.Typ="8" ParentFont="False" Text="Address"/>
<TfrxMemoView Name="Memo5" Left="377.953" Top="7.55906" Width="120.94496" Height="18.89765" ShowHint="False" Color="16777215" Font.Charset="1" Font.Color="128" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Color="8421504" Frame.Typ="8" ParentFont="False" Text="Contact"/>
<TfrxMemoView Name="Memo6" Left="514.01608" Top="7.55906" Width="83.14966" Height="18.89765" ShowHint="False" Color="16777215" Font.Charset="1" Font.Color="128" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Color="8421504" Frame.Typ="8" ParentFont="False" Text="Phone"/>
<TfrxMemoView Name="Memo7" Left="612.28386" Top="7.55906" Width="102.04731" Height="18.89765" ShowHint="False" Color="16777215" Font.Charset="1" Font.Color="128" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Color="8421504" Frame.Typ="8" ParentFont="False" Text="Fax"/>
<TfrxMemoView Name="Memo3" Left="7.55906" Top="7.55906" Width="181.41744" Height="18.89765" ShowHint="False" Color="16777215" Font.Charset="1" Font.Color="128" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Color="8421504" Frame.Typ="8" ParentFont="False" Text="Company"/>
</TfrxPageHeader>
<TfrxPageFooter Name="Band3" Height="26.45671" Left="0" Top="249.44898" Width="755.906">
<TfrxMemoView Name="Memo2" Left="3.77953" Top="7.55905999999999" Width="710.55164" Height="15.11812" ShowHint="False" Color="16777215" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Typ="4" Frame.Width="2" HAlign="haRight" ParentFont="False" Text="Page [Page] of [TotalPages]"/>
</TfrxPageFooter>
<TfrxMasterData Name="Band4" Height="22.67718" Left="0" Top="166.29932" Width="755.906" Columns="1" ColumnWidth="200" ColumnGap="20" DataSet="ReportData.CustomersDS" DataSetName="Customers" RowCount="0">
<TfrxMemoView Name="Memo13" Left="3.77953" Top="0" Width="714.33117" Height="18.89765" ShowHint="False" DataSet="ReportData.CustomersDS" DataSetName="Customers" Highlight.Font.Charset="1" Highlight.Font.Color="-370606080" Highlight.Font.Height="-13" Highlight.Font.Name="Arial" Highlight.Font.Style="0" Highlight.Color="15790320" Highlight.Condition="&#60;Line#&#62; mod 2" WordWrap="False" Text=""/>
<TfrxMemoView Name="Memo9" Left="204.09462" Top="0" Width="173.85838" Height="18.89765" ShowHint="False" DataField="Addr1" DataSet="ReportData.CustomersDS" DataSetName="Customers" Text="[Customers.&#34;Addr1&#34;]"/>
<TfrxMemoView Name="Memo10" Left="377.953" Top="0" Width="136.06308" Height="18.89765" ShowHint="False" DataField="Contact" DataSet="ReportData.CustomersDS" DataSetName="Customers" Text="[Customers.&#34;Contact&#34;]"/>
<TfrxMemoView Name="Memo11" Left="514.01608" Top="0" Width="98.26778" Height="18.89765" ShowHint="False" DataField="Phone" DataSet="ReportData.CustomersDS" DataSetName="Customers" Text="[Customers.&#34;Phone&#34;]"/>
<TfrxMemoView Name="Memo12" Left="612.28386" Top="0" Width="102.04731" Height="18.89765" ShowHint="False" DataField="FAX" DataSet="ReportData.CustomersDS" DataSetName="Customers" Text="[Customers.&#34;FAX&#34;]"/>
<TfrxMemoView Name="Memo8" Left="7.55906" Top="0" Width="196.53556" Height="18.89765" ShowHint="False" TagStr="[Customers.&#34;Cust No&#34;]" DataField="Company" DataSet="ReportData.CustomersDS" DataSetName="Customers" Text="[Customers.&#34;Company&#34;]"/>
</TfrxMasterData>
</TfrxReportPage>
</TfrxReport>

57
Demos/Main/10.FR3 Normal file
View File

@ -0,0 +1,57 @@
<?xml version="1.0" encoding="utf-8"?>
<TfrxReport Version="4.11.4" DotMatrixReport="False" IniFile="\Software\Fast Reports" PreviewOptions.Buttons="4095" PreviewOptions.Zoom="1" PrintOptions.Printer="Default" PrintOptions.PrintOnSheet="0" ReportOptions.CreateDate="37871,9972084722" ReportOptions.Description.Text="This example shows how to create nested reports using subreport component." ReportOptions.LastChange="41019,6540553009" ScriptLanguage="PascalScript" ScriptText.Text="var&#13;&#10; TotalSales: Extended;&#13;&#10;&#13;&#10;procedure Band4OnBeforePrint(Sender: TfrxComponent);&#13;&#10;begin&#13;&#10; TotalSales := 0&#13;&#10;end;&#13;&#10;&#13;&#10;procedure Band7OnBeforePrint(Sender: TfrxComponent);&#13;&#10;begin&#13;&#10; TotalSales := TotalSales + &#60;Items.&#34;Qty&#34;&#62; * &#60;Parts.&#34;List Price&#34;&#62;;&#13;&#10;end;&#13;&#10;&#13;&#10;begin&#13;&#10;&#13;&#10;end." PropData="044C656674025803546F7003700108446174617365747301010C3900000020446174615365743D225265706F7274446174612E437573746F6D65727344532220446174615365744E616D653D22437573746F6D6572732200010C3100000020446174615365743D225265706F7274446174612E4974656D7344532220446174615365744E616D653D224974656D732200010C3300000020446174615365743D225265706F7274446174612E4F726465727344532220446174615365744E616D653D224F72646572732200010C3000000020446174615365743D225265706F7274446174612E5061727444532220446174615365744E616D653D225061727473220000095661726961626C65730100055374796C650100">
<TfrxDataPage Name="Data" Height="1000" Left="0" Top="0" Width="1000"/>
<TfrxReportPage Name="Page1" PaperWidth="210" PaperHeight="297" PaperSize="9" LeftMargin="5" RightMargin="5" TopMargin="5" BottomMargin="5" Columns="1" ColumnWidth="210" ColumnPositions.Text="0" PrintOnPreviousPage="True" HGuides.Text="" VGuides.Text="">
<TfrxPageFooter Name="Band1" Height="22,67718" Left="0" Top="230,55133" Width="755,906">
<TfrxMemoView Name="Memo1" Left="0" Top="0" Width="710,55164" Height="15,11812" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Typ="4" Frame.Width="2" HAlign="haRight" ParentFont="False" Text="[Page#]"/>
</TfrxPageFooter>
<TfrxReportTitle Name="Band2" Height="26,45671" Left="0" Top="18,89765" Width="755,906">
<TfrxMemoView Name="Memo2" Left="0" Top="0" Width="710,55164" Height="22,67718" ShowHint="False" Color="8421504" Font.Charset="1" Font.Color="16777215" Font.Height="-16" Font.Name="Arial" Font.Style="1" HAlign="haCenter" ParentFont="False" VAlign="vaCenter" Text="Customers"/>
</TfrxReportTitle>
<TfrxMasterData Name="Band4" Height="64,25201" Left="0" Top="105,82684" Width="755,906" OnBeforePrint="Band4OnBeforePrint" Columns="1" ColumnWidth="200" ColumnGap="20" DataSet="ReportData.CustomersDS" DataSetName="Customers" RowCount="0">
<TfrxGradientView Name="Gradient1" Left="0" Top="0" Width="710,55164" Height="45,35436" ShowHint="False" EndColor="128" Style="gsVertical" Color="8421568"/>
<TfrxMemoView Name="Memo5" Left="0" Top="0" Width="302,3624" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" Frame.Typ="5" ParentFont="False" VAlign="vaCenter" Text="Company"/>
<TfrxMemoView Name="Memo6" Left="0" Top="18,89765" Width="302,3624" Height="26,45671" ShowHint="False" DataField="Company" DataSet="ReportData.CustomersDS" DataSetName="Customers" Font.Charset="1" Font.Color="16777215" Font.Height="-19" Font.Name="Arial" Font.Style="2" Frame.Color="12632256" Frame.Typ="1" ParentFont="False" VAlign="vaCenter" Text="[Customers.&#34;Company&#34;]"/>
<TfrxMemoView Name="Memo7" Left="302,3624" Top="0" Width="188,9765" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" Frame.Typ="4" ParentFont="False" VAlign="vaCenter" Text="Phone"/>
<TfrxMemoView Name="Memo8" Left="491,3389" Top="0" Width="219,21274" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" Frame.Typ="6" ParentFont="False" VAlign="vaCenter" Text="Fax"/>
<TfrxMemoView Name="Memo9" Left="302,3624" Top="18,89765" Width="188,9765" Height="26,45671" ShowHint="False" DataField="Phone" DataSet="ReportData.CustomersDS" DataSetName="Customers" Font.Charset="1" Font.Color="16777215" Font.Height="-19" Font.Name="Arial" Font.Style="2" Frame.Color="12632256" ParentFont="False" VAlign="vaCenter" Text="[Customers.&#34;Phone&#34;]"/>
<TfrxMemoView Name="Memo10" Left="491,3389" Top="18,89765" Width="219,21274" Height="26,45671" ShowHint="False" DataField="FAX" DataSet="ReportData.CustomersDS" DataSetName="Customers" Font.Charset="1" Font.Color="16777215" Font.Height="-19" Font.Name="Arial" Font.Style="2" Frame.Color="12632256" Frame.Typ="2" ParentFont="False" VAlign="vaCenter" Text="[Customers.&#34;FAX&#34;]"/>
<TfrxSubreport Name="Subreport1" Left="0" Top="45,35436" Width="94,48825" Height="18,89765" ShowHint="False" Page="Page4"/>
</TfrxMasterData>
</TfrxReportPage>
<TfrxReportPage Name="Page4" PaperWidth="210" PaperHeight="297" PaperSize="9" LeftMargin="10" RightMargin="10" TopMargin="10" BottomMargin="10" ColumnWidth="0" ColumnPositions.Text="" HGuides.Text="" VGuides.Text="">
<TfrxMasterData Name="MasterData1" Height="37,7953" Left="0" Top="18,89765" Width="718,1107" Columns="1" ColumnWidth="200" ColumnGap="20" DataSet="ReportData.OrdersDS" DataSetName="Orders" RowCount="0">
<TfrxMemoView Name="Memo12" Left="0" Top="0" Width="120,94496" Height="18,89765" ShowHint="False" Color="12632256" Frame.Color="12632256" Frame.Typ="1" Text="Order No [Orders.&#34;Order No&#34;]"/>
<TfrxMemoView Name="Memo13" Left="120,94496" Top="0" Width="589,60668" Height="18,89765" ShowHint="False" Color="12632256" Frame.Color="12632256" Frame.Typ="2" Text="Date [Orders.&#34;Sale Date&#34;]"/>
<TfrxSubreport Name="Subreport2" Left="0" Top="18,89765" Width="94,48825" Height="18,89765" ShowHint="False" Page="Page2"/>
</TfrxMasterData>
<TfrxFooter Name="Footer1" Height="26,45671" Left="0" Top="79,37013" Width="718,1107">
<TfrxMemoView Name="Memo14" Left="0" Top="0" Width="710,55164" Height="18,89765" ShowHint="False" Color="12632256" DisplayFormat.FormatStr="%2.2m" DisplayFormat.Kind="fkNumeric" Frame.Color="12632256" Frame.Typ="11" Text="Total sales this customer: [TotalSales]"/>
</TfrxFooter>
</TfrxReportPage>
<TfrxReportPage Name="Page2" PaperWidth="210" PaperHeight="297" PaperSize="9" LeftMargin="10" RightMargin="10" TopMargin="10" BottomMargin="10" ColumnWidth="0" ColumnPositions.Text="" HGuides.Text="" VGuides.Text="">
<TfrxHeader Name="Header1" Height="18,89765" Left="0" Top="18,89765" Width="718,1107">
<TfrxMemoView Name="Memo15" Left="0" Top="0" Width="45,35436" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Color="12632256" Frame.Typ="1" ParentFont="False" Text=""/>
<TfrxMemoView Name="Memo16" Left="45,35436" Top="0" Width="60,47248" Height="15,11812" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haCenter" ParentFont="False" Text="Part"/>
<TfrxMemoView Name="Memo17" Left="113,3859" Top="0" Width="230,55133" Height="15,11812" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haCenter" ParentFont="False" Text="Description"/>
<TfrxMemoView Name="Memo18" Left="351,49629" Top="0" Width="79,37013" Height="15,11812" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haCenter" ParentFont="False" Text="Price"/>
<TfrxMemoView Name="Memo19" Left="438,42548" Top="0" Width="60,47248" Height="15,11812" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haCenter" ParentFont="False" Text="Qty"/>
<TfrxMemoView Name="Memo20" Left="506,45702" Top="0" Width="79,37013" Height="15,11812" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haCenter" ParentFont="False" Text="Total"/>
<TfrxMemoView Name="Memo11" Left="585,82715" Top="0" Width="124,72449" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Color="12632256" Frame.Typ="2" ParentFont="False" Text=""/>
</TfrxHeader>
<TfrxMasterData Name="MasterData2" Height="15,11812" Left="0" Top="56,69295" Width="718,1107" OnBeforePrint="Band7OnBeforePrint" Columns="1" ColumnWidth="200" ColumnGap="20" DataSet="ReportData.ItemsDS" DataSetName="Items" RowCount="0">
<TfrxMemoView Name="Memo21" Left="0" Top="0" Width="45,35436" Height="15,11812" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Color="12632256" Frame.Typ="1" ParentFont="False" Text=""/>
<TfrxMemoView Name="Memo22" Left="45,35436" Top="0" Width="60,47248" Height="15,11812" ShowHint="False" DataSet="ReportData.ItemsDS" DataSetName="Items" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haCenter" ParentFont="False" Text="[Parts.&#34;Part No&#34;]"/>
<TfrxMemoView Name="Memo23" Left="113,3859" Top="0" Width="230,55133" Height="15,11812" ShowHint="False" DataSet="ReportData.ItemsDS" DataSetName="Items" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" ParentFont="False" Text="[Parts.&#34;Description&#34;]"/>
<TfrxMemoView Name="Memo24" Left="351,49629" Top="0" Width="79,37013" Height="15,11812" ShowHint="False" DataSet="ReportData.ItemsDS" DataSetName="Items" DisplayFormat.FormatStr="%2.2m" DisplayFormat.Kind="fkNumeric" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haRight" ParentFont="False" Text="[Parts.&#34;List Price&#34;]"/>
<TfrxMemoView Name="Memo25" Left="438,42548" Top="0" Width="60,47248" Height="15,11812" ShowHint="False" DataSet="ReportData.ItemsDS" DataSetName="Items" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haCenter" ParentFont="False" Text="[Items.&#34;Qty&#34;]"/>
<TfrxMemoView Name="Memo26" Left="506,45702" Top="0" Width="79,37013" Height="15,11812" ShowHint="False" DisplayFormat.FormatStr="%2.2m" DisplayFormat.Kind="fkNumeric" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haRight" ParentFont="False" Text="[&#60;Items.&#34;Qty&#34;&#62;*&#60;Parts.&#34;List Price&#34;&#62;]"/>
<TfrxMemoView Name="Memo29" Left="585,82715" Top="0" Width="124,72449" Height="15,11812" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Color="12632256" Frame.Typ="2" ParentFont="False" Text=""/>
</TfrxMasterData>
<TfrxFooter Name="Footer2" Height="22,67718" Left="0" Top="90,70872" Width="718,1107">
<TfrxMemoView Name="Memo27" Left="0" Top="0" Width="45,35436" Height="22,67718" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Color="12632256" Frame.Typ="1" ParentFont="False" Text=""/>
<TfrxMemoView Name="Memo28" Left="45,35436" Top="0" Width="544,25232" Height="18,89765" ShowHint="False" DisplayFormat.FormatStr="%2.2m" DisplayFormat.Kind="fkNumeric" Font.Charset="1" Font.Color="128" Font.Height="-13" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" Frame.Typ="4" HAlign="haRight" ParentFont="False" Text="Total this order: [Sum(&#60;Items.&#34;Qty&#34;&#62;*&#60;Parts.&#34;List Price&#34;&#62;)]"/>
<TfrxMemoView Name="Memo30" Left="589,60668" Top="0" Width="120,94496" Height="22,67718" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Color="12632256" Frame.Typ="2" ParentFont="False" Text=""/>
</TfrxFooter>
</TfrxReportPage>
</TfrxReport>

19
Demos/Main/100.fr3 Normal file
View File

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<TfrxReport Version="4.0a" DotMatrixReport="False" IniFile="\Software\Fast Reports" PreviewOptions.Buttons="4095" PreviewOptions.DoubleBuffered="False" PreviewOptions.Zoom="1" PrintOptions.PagesOnSheet="0" PrintOptions.Printer="Default" PrintOptions.PrintOnSheet="0" ReportOptions.CreateDate="38980,9261962847" ReportOptions.Description.Text="This report demonstrates the ability to draw diagrams on the &#34;Data&#34; tab." ReportOptions.LastChange="38981,7689787616" ScriptLanguage="PascalScript" ScriptText.Text="&#13;&#10;begin&#13;&#10;&#13;&#10;end." PropData="044C65667403880003546F7003B00008446174617365747301010C2C00000020446174615365743D2241444F5461626C65312220446174615365744E616D653D22437573746F6D6572732200010C2900000020446174615365743D2241444F5461626C65322220446174615365744E616D653D224F7264657273220000095661726961626C65730100055374796C650100">
<TfrxDataPage Name="Data" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Tahoma" Font.Style="0" Height="1000" Left="0" Top="0" Width="1000">
<TfrxShapeView Name="Shape2" Left="84" Top="260" Width="320" Height="104" Frame.Color="12632256" Shape="skRoundRectangle"/>
<TfrxShapeView Name="Shape1" Left="84" Top="56" Width="320" Height="92" Frame.Color="12632256" Shape="skRoundRectangle"/>
<TfrxADOTable Name="ADOTable1" UserName="Customers" CloseDataSource="True" FieldAliases.Text="" TableName="customer" IndexFieldNames="Company" PropData="05704C65667402780470546F700250"/>
<TfrxADOTable Name="ADOTable2" UserName="Orders" CloseDataSource="True" FieldAliases.Text="" Master="ADOTable1" MasterFields="CustNo=CustNo" TableName="orders" IndexFieldNames="CustNo" PropData="05704C65667402780470546F70032001"/>
<TfrxMemoView Name="Memo2" Left="188" Top="68" Width="208" Height="20" Color="15790320" DisplayFormat.DecimalSeparator="," Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Tahoma" Font.Style="1" HAlign="haCenter" ParentFont="False" Wysiwyg="False" VAlign="vaCenter" Text="The &#34;Customers&#34; table"/>
<TfrxMemoView Name="Memo3" Left="188" Top="92" Width="208" Height="40" DisplayFormat.DecimalSeparator="," Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Tahoma" Font.Style="0" ParentFont="False" Wysiwyg="False" Text="This table contains all information about the customer, such as company name, contact, phone, fax."/>
<TfrxMemoView Name="Memo4" Left="188" Top="272" Width="208" Height="20" Color="15790320" DisplayFormat.DecimalSeparator="," Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Tahoma" Font.Style="1" HAlign="haCenter" ParentFont="False" Wysiwyg="False" VAlign="vaCenter" Text="The &#34;Orders&#34; table"/>
<TfrxMemoView Name="Memo5" Left="188" Top="296" Width="204" Height="52" DisplayFormat.DecimalSeparator="," Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Tahoma" Font.Style="0" ParentFont="False" Wysiwyg="False" Text="This table contains all orders made by customers. Table is linked to the &#34;Customers&#34; table by master-detail relationship."/>
<TfrxLineView Name="Line1" Left="132" Top="148" Width="0" Height="112" ArrowStart="True" Frame.Color="52479" Frame.Width="2" Diagonal="True"/>
<TfrxMemoView Name="Memo6" Left="88" Top="196" Width="96" Height="28" Color="16777215" DisplayFormat.DecimalSeparator="," Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Tahoma" Font.Style="0" Frame.Color="52479" Frame.Typ="15" Frame.Width="2" HAlign="haCenter" ParentFont="False" Wysiwyg="False" Text="Orders.CustNo = Customers.CustNo"/>
<TfrxMemoView Name="Memo7" Left="20" Top="16" Width="420" Height="20" Color="16777215" DisplayFormat.DecimalSeparator="," Font.Charset="1" Font.Color="-2147483640" Font.Height="-13" Font.Name="Arial" Font.Style="0" HAlign="haCenter" ParentFont="False" Wysiwyg="False" Text="Use the &#34;Text&#34; object and &#34;Draw&#34; category objects to draw a diagram."/>
</TfrxDataPage>
<TfrxReportPage Name="Page1" PaperWidth="210" PaperHeight="297" PaperSize="9" LeftMargin="10" RightMargin="10" TopMargin="10" BottomMargin="10" ColumnWidth="0" ColumnPositions.Text="" HGuides.Text="" VGuides.Text="">
<TfrxMemoView Name="Memo1" Left="151,1812" Top="37,7953" Width="222,99227" Height="75,5906" DisplayFormat.DecimalSeparator="," Font.Charset="1" Font.Color="-16777208" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Typ="15" HAlign="haCenter" ParentFont="False" VAlign="vaCenter" Text="Please look at the &#34;Data&#34; tab"/>
</TfrxReportPage>
</TfrxReport>

51
Demos/Main/101.fr3 Normal file

File diff suppressed because one or more lines are too long

13
Demos/Main/102.fr3 Normal file

File diff suppressed because one or more lines are too long

8
Demos/Main/103.fr3 Normal file
View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<TfrxReport Version="4.0a" DotMatrixReport="False" IniFile="\Software\Fast Reports" PreviewOptions.Buttons="4095" PreviewOptions.DoubleBuffered="False" PreviewOptions.Zoom="1" PrintOptions.PagesOnSheet="0" PrintOptions.Printer="Default" PrintOptions.PrintOnSheet="0" ReportOptions.CreateDate="38990,8357143287" ReportOptions.Description.Text="Demonstrates how to print several copies of report where each copy should have a name. To do this:&#13;&#10;&#13;&#10;- put a memo object with [CopyName#] text inside. It will show a copy name;&#13;&#10;&#13;&#10;- go &#34;Code&#34; tab and write a simple script that will give names to each copy. You can also do this in Delphi code;&#13;&#10;&#13;&#10;- print a report. " ReportOptions.LastChange="38990,8528054398" ScriptLanguage="PascalScript" ScriptText.Text="begin&#13;&#10; frxGlobalVariables['CopyName0'] := ''; // copy viewed in the preview&#13;&#10; frxGlobalVariables['CopyName1'] := 'First copy'; // 1st printed/exported copy&#13;&#10; frxGlobalVariables['CopyName2'] := 'Second copy'; // 2nd printed copy&#13;&#10; frxGlobalVariables['CopyName3'] := 'Third copy'; // 3rd printed copy&#13;&#10;end." PropData="044C65667403AC0003546F700378010844617461736574730100095661726961626C65730100055374796C650100">
<TfrxDataPage Name="Data" Height="1000" Left="0" Top="0" Width="1000"/>
<TfrxReportPage Name="Page1" PaperWidth="210" PaperHeight="297" PaperSize="9" LeftMargin="10" RightMargin="10" TopMargin="10" BottomMargin="10" ColumnWidth="0" ColumnPositions.Text="" HGuides.Text="" VGuides.Text="">
<TfrxMemoView Name="Memo1" Left="37,7953" Top="37,7953" Width="340,1577" Height="75,5906" DisplayFormat.DecimalSeparator="," Font.Charset="1" Font.Color="-2147483640" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Typ="15" HAlign="haCenter" ParentFont="False" VAlign="vaCenter" Text="Print several copies of this report (set copies in the print dialog). You will see that every copy has its own name printed on the top right corner."/>
<TfrxMemoView Name="Memo2" Left="529,1342" Top="0" Width="188,9765" Height="18,89765" DisplayFormat.DecimalSeparator="," Font.Charset="1" Font.Color="128" Font.Height="-13" Font.Name="Arial" Font.Style="1" ParentFont="False" Text="[CopyName#]"/>
</TfrxReportPage>
</TfrxReport>

19
Demos/Main/104.fr3 Normal file
View File

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<TfrxReport Version="4.8.28" DotMatrixReport="False" IniFile="\Software\Fast Reports" PreviewOptions.Buttons="4095" PreviewOptions.Zoom="1" PrintOptions.Printer="Default" PrintOptions.PrintMode="pmScale" PrintOptions.PrintOnSheet="9" ReportOptions.CreateDate="38976.8939483796" ReportOptions.Description.Text="This report demonstrates the new print mode, scale one page (A3) to specified size (A4).&#13;&#10;&#13;&#10;You can set this mode either in the print dialog, or in the designer (select Report.PrintOptions in the Object Inspector and set PrintMode, PrintOnSheet properties).&#13;&#10;&#13;&#10;Print the report to see the result." ReportOptions.LastChange="40128.690051713" ScriptLanguage="PascalScript" ScriptText.Text="begin&#13;&#10;&#13;&#10;end." PropData="044C656674025803546F7003700108446174617365747301010C3900000020446174615365743D225265706F7274446174612E437573746F6D65727344532220446174615365744E616D653D22437573746F6D657273220000095661726961626C65730100055374796C650100">
<TfrxDataPage Name="Data" Height="1000" Left="0" Top="0" Width="1000"/>
<TfrxReportPage Name="Page1" PaperWidth="297" PaperHeight="420" PaperSize="8" LeftMargin="10" RightMargin="10" TopMargin="10" BottomMargin="10" Columns="2" ColumnWidth="138.5" ColumnPositions.Text="0&#13;&#10;138,50" HGuides.Text="" VGuides.Text="">
<TfrxMasterData Name="MasterData1" Height="86.92919" Left="0" Top="124.72449" Width="523.464905" ColumnWidth="0" ColumnGap="0" DataSet="ReportData.CustomersDS" DataSetName="Customers" RowCount="0">
<TfrxShapeView Name="Shape1" Left="7.55906" Top="3.77952999999999" Width="506.45702" Height="79.37013" ShowHint="False" Frame.Color="12632256" Shape="skRoundRectangle"/>
<TfrxMemoView Name="Memo2" Left="264.5671" Top="11.33859" Width="238.11039" Height="18.89765" ShowHint="False" Color="15790320" DataField="Company" DataSet="ReportData.CustomersDS" DataSetName="Customers" Font.Charset="1" Font.Color="-2147483640" Font.Height="-13" Font.Name="Arial" Font.Style="0" ParentFont="False" Text="[Customers.&#34;Company&#34;]"/>
<TfrxMemoView Name="Memo3" Left="264.5671" Top="34.01577" Width="238.11039" Height="18.89765" ShowHint="False" Color="15790320" DataField="Phone" DataSet="ReportData.CustomersDS" DataSetName="Customers" Font.Charset="1" Font.Color="-2147483640" Font.Height="-13" Font.Name="Arial" Font.Style="0" ParentFont="False" Text="[Customers.&#34;Phone&#34;]"/>
<TfrxMemoView Name="Memo4" Left="264.5671" Top="56.69295" Width="238.11039" Height="18.89765" ShowHint="False" Color="15790320" DataField="FAX" DataSet="ReportData.CustomersDS" DataSetName="Customers" Font.Charset="1" Font.Color="-2147483640" Font.Height="-13" Font.Name="Arial" Font.Style="0" ParentFont="False" Text="[Customers.&#34;FAX&#34;]"/>
<TfrxMemoView Name="Memo5" Left="15.11812" Top="11.33859" Width="238.11039" Height="18.89765" ShowHint="False" Font.Charset="1" Font.Color="-2147483640" Font.Height="-13" Font.Name="Arial" Font.Style="1" ParentFont="False" Text="Company"/>
<TfrxMemoView Name="Memo6" Left="15.11812" Top="34.01577" Width="120.94496" Height="18.89765" ShowHint="False" Font.Charset="1" Font.Color="-2147483640" Font.Height="-13" Font.Name="Arial" Font.Style="1" ParentFont="False" Text="Phone"/>
<TfrxMemoView Name="Memo7" Left="15.11812" Top="56.69295" Width="120.94496" Height="18.89765" ShowHint="False" Font.Charset="1" Font.Color="-2147483640" Font.Height="-13" Font.Name="Arial" Font.Style="1" ParentFont="False" Text="FAX"/>
</TfrxMasterData>
<TfrxReportTitle Name="ReportTitle1" Height="45.35436" Left="0" Top="18.89765" Width="1046.92981">
<TfrxGradientView Name="Gradient1" Left="3.77953" Top="0" Width="1039.37075" Height="26.45671" ShowHint="False" Style="gsVertical"/>
<TfrxMemoView Name="Memo1" Align="baWidth" Left="0" Top="0" Width="1046.92981" Height="22.67718" ShowHint="False" DisplayFormat.DecimalSeparator="," Font.Charset="1" Font.Color="-2147483640" Font.Height="-13" Font.Name="Arial" Font.Style="1" HAlign="haCenter" ParentFont="False" VAlign="vaCenter" Text="OUR CUSTOMERS"/>
</TfrxReportTitle>
</TfrxReportPage>
</TfrxReport>

35
Demos/Main/105.fr3 Normal file

File diff suppressed because one or more lines are too long

20
Demos/Main/11.FR3 Normal file
View File

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<TfrxReport Name="" Version="3.21" DotMatrixReport="False" IniFile="\Software\Fast Reports" PreviewOptions.Buttons="4095" PreviewOptions.Zoom="1" PrintOptions.Printer="Default" ReportOptions.CreateDate="37871,9973703935" ReportOptions.Description.Text="Demonstrates how to create side-by-side subreports. Each subreport can have different number of records." ReportOptions.LastChange="38842,9413295023" ScriptLanguage="PascalScript" ScriptText.Text="begin&#13;&#10;&#13;&#10;end." PropData="044C65667403880003546F7003B0000844617461736574730100095661726961626C657301010C14000000204E616D653D22204465736372697074696F6E2200010C84000000204E616D653D224465736372697074696F6E222056616C75653D2244656D6F6E7374726174657320686F7720746F2063726561746520736964652D62792D73696465207375627265706F7274732E2045616368207375627265706F72742063616E206861766520646966666572656E74206E756D626572206F66207265636F7264732E220000055374796C650100">
<TfrxReportPage Name="Page1" PaperWidth="210" PaperHeight="297" PaperSize="9" LeftMargin="5" RightMargin="5" TopMargin="5" BottomMargin="5" Columns="1" ColumnWidth="210" ColumnPositions.Text="0" HGuides.Text="" VGuides.Text="">
<TfrxMasterData Name="Band2" Height="41,57483" Left="0" Top="18,89765" Width="755,906" Columns="1" ColumnWidth="200" ColumnGap="20" RowCount="20">
<TfrxMemoView Name="Memo2" Left="0" Top="0" Width="495,11843" Height="18,89765" Color="12632256" Text="[LINE]"/>
<TfrxSubreport Name="Subreport1" Left="0" Top="22,67718" Width="94,48825" Height="18,89765" Page="Page4"/>
<TfrxSubreport Name="Subreport2" Left="249,44898" Top="22,67718" Width="94,48825" Height="18,89765" Page="Page5"/>
</TfrxMasterData>
</TfrxReportPage>
<TfrxReportPage Name="Page4" PaperWidth="210" PaperHeight="297" PaperSize="9" LeftMargin="10" RightMargin="10" TopMargin="10" BottomMargin="10" ColumnWidth="0" ColumnPositions.Text="" HGuides.Text="" VGuides.Text="">
<TfrxMasterData Name="MasterData1" Height="22,67718" Left="0" Top="18,89765" Width="718,1107" Columns="1" ColumnWidth="200" ColumnGap="20" RowCount="6">
<TfrxMemoView Name="Memo4" Left="0" Top="0" Width="245,66945" Height="18,89765" Color="13296895" Text="[LINE]"/>
</TfrxMasterData>
</TfrxReportPage>
<TfrxReportPage Name="Page5" PaperWidth="210" PaperHeight="297" PaperSize="9" LeftMargin="10" RightMargin="10" TopMargin="10" BottomMargin="10" ColumnWidth="0" ColumnPositions.Text="" HGuides.Text="" VGuides.Text="">
<TfrxMasterData Name="MasterData2" Height="41,57483" Left="0" Top="18,89765" Width="718,1107" Columns="1" ColumnWidth="200" ColumnGap="20" RowCount="4">
<TfrxMemoView Name="Memo5" Left="0" Top="0" Width="245,66945" Height="37,7953" Color="13434828" Text="[LINE]"/>
</TfrxMasterData>
</TfrxReportPage>
</TfrxReport>

28
Demos/Main/12.FR3 Normal file
View File

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<TfrxReport Name="" Version="3.21" DotMatrixReport="False" IniFile="\Software\Fast Reports" PreviewOptions.Buttons="4095" PreviewOptions.Zoom="1" PrintOptions.Printer="Default" ReportOptions.CreateDate="37871,9975287269" ReportOptions.Description.Text="This report contains two pages (title and list). You can have several pages in your report. Each page can contains one report and can have own paper settings (size, margins, orientation and etc)." ReportOptions.LastChange="38842,9416201968" ScriptLanguage="PascalScript" ScriptText.Text="begin&#13;&#10;&#13;&#10;end." PropData="044C65667403880003546F7003B00008446174617365747301010C3900000020446174615365743D225265706F7274446174612E437573746F6D65727344532220446174615365744E616D653D22437573746F6D657273220000095661726961626C65730100055374796C650100">
<TfrxReportPage Name="Page1" PaperWidth="210" PaperHeight="297" PaperSize="9" LeftMargin="5" RightMargin="5" TopMargin="5" BottomMargin="5" Columns="1" ColumnWidth="210" ColumnPositions.Text="0" PrintOnPreviousPage="True" HGuides.Text="" VGuides.Text="">
<TfrxMemoView Name="Memo1" Left="75,5906" Top="336,37817" Width="604,7248" Height="151,1812" Font.Charset="1" Font.Color="0" Font.Height="-35" Font.Name="Tahoma" Font.Style="1" HAlign="haCenter" ParentFont="False" VAlign="vaCenter" Text="Our customers"/>
</TfrxReportPage>
<TfrxReportPage Name="Page2" PaperWidth="210" PaperHeight="297" PaperSize="9" LeftMargin="5" RightMargin="5" TopMargin="5" BottomMargin="5" Columns="1" ColumnWidth="210" ColumnPositions.Text="0" HGuides.Text="" VGuides.Text="">
<TfrxReportTitle Name="Band1" Height="26,45671" Left="0" Top="18,89765" Width="755,906">
<TfrxMemoView Name="Memo2" Left="0" Top="3,77953" Width="718,1107" Height="18,89765" Color="8421504" Font.Charset="1" Font.Color="16777215" Font.Height="-16" Font.Name="Arial" Font.Style="1" HAlign="haCenter" ParentFont="False" Text="Customers"/>
</TfrxReportTitle>
<TfrxPageHeader Name="Band2" Height="30,23624" Left="0" Top="79,37013" Width="755,906">
<TfrxMemoView Name="Memo4" Left="3,77953" Top="7,55906" Width="196,53556" Height="18,89765" Color="16777215" Font.Charset="1" Font.Color="128" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Typ="8" ParentFont="False" Text="Company"/>
<TfrxMemoView Name="Memo5" Left="204,09462" Top="7,55906" Width="166,29932" Height="18,89765" Color="16777215" Font.Charset="1" Font.Color="128" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Typ="8" ParentFont="False" Text="Address"/>
<TfrxMemoView Name="Memo6" Left="377,953" Top="7,55906" Width="128,50402" Height="18,89765" Color="16777215" Font.Charset="1" Font.Color="128" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Typ="8" ParentFont="False" Text="Contact"/>
<TfrxMemoView Name="Memo7" Left="514,01608" Top="7,55906" Width="90,70872" Height="18,89765" Color="16777215" Font.Charset="1" Font.Color="128" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Typ="8" ParentFont="False" Text="Phone"/>
<TfrxMemoView Name="Memo8" Left="612,28386" Top="7,55906" Width="102,04731" Height="18,89765" Color="16777215" Font.Charset="1" Font.Color="128" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Typ="8" ParentFont="False" Text="Fax"/>
</TfrxPageHeader>
<TfrxPageFooter Name="Band3" Height="26,45671" Left="0" Top="275,90569" Width="755,906">
<TfrxMemoView Name="Memo3" Left="3,77953" Top="7,55905999999999" Width="710,55164" Height="15,11812" Color="16777215" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Typ="4" Frame.Width="2" HAlign="haRight" ParentFont="False" Text="Page [Page#] of [TotalPages#]"/>
</TfrxPageFooter>
<TfrxMasterData Name="Band4" Height="22,67718" Left="0" Top="181,41744" Width="755,906" Columns="1" ColumnWidth="200" ColumnGap="20" DataSet="ReportData.CustomersDS" DataSetName="Customers" RowCount="0">
<TfrxMemoView Name="Memo9" Left="3,77953" Top="0" Width="196,53556" Height="18,89765" DataField="Company" DataSet="ReportData.CustomersDS" DataSetName="Customers" Text="[Customers.&#34;Company&#34;]"/>
<TfrxMemoView Name="Memo10" Left="204,09462" Top="0" Width="166,29932" Height="18,89765" DataField="Addr1" DataSet="ReportData.CustomersDS" DataSetName="Customers" Text="[Customers.&#34;Addr1&#34;]"/>
<TfrxMemoView Name="Memo11" Left="377,953" Top="0" Width="128,50402" Height="18,89765" DataField="Contact" DataSet="ReportData.CustomersDS" DataSetName="Customers" Text="[Customers.&#34;Contact&#34;]"/>
<TfrxMemoView Name="Memo12" Left="514,01608" Top="0" Width="90,70872" Height="18,89765" DataField="Phone" DataSet="ReportData.CustomersDS" DataSetName="Customers" Text="[Customers.&#34;Phone&#34;]"/>
<TfrxMemoView Name="Memo13" Left="612,28386" Top="0" Width="102,04731" Height="18,89765" DataField="FAX" DataSet="ReportData.CustomersDS" DataSetName="Customers" Text="[Customers.&#34;FAX&#34;]"/>
</TfrxMasterData>
</TfrxReportPage>
</TfrxReport>

8
Demos/Main/13.fr3 Normal file
View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<TfrxReport Name="" DotMatrixReport="False" EngineOptions.MaxMemSize="10000000" IniFile="\Software\Fast Reports" PreviewOptions.Buttons="2047" PreviewOptions.Zoom="1" PrintOptions.Printer="Default" ReportOptions.CreateDate="38006,6684253472" ReportOptions.Description.Text="Demonstrates how to use OnPreviewClick event." ReportOptions.LastChange="38344,718786412" ScriptLanguage="PascalScript" ScriptText.Text="procedure Memo2OnPreviewClick(Sender: TfrxView; Button: TMouseButton; Shift: Integer; var Modified: Boolean);&#13;&#10;var&#13;&#10; s: String;&#13;&#10;begin&#13;&#10; s := TfrxMemoView(Sender).Text;&#13;&#10; SetLength(s, Length(s) - 2); // cut off #13#10&#13;&#10; TfrxMemoView(Sender).Text := InputBox('Edit', 'Edit Memo2 text:', s);&#13;&#10; Modified := True;&#13;&#10;end;&#13;&#10;&#13;&#10;procedure Memo1OnPreviewClick(Sender: TfrxView; Button: TMouseButton; Shift: Integer; var Modified: Boolean);&#13;&#10;begin&#13;&#10; ShowMessage('Memo1 contents:' + #13#10 + TfrxMemoView(Sender).Text);&#13;&#10;end;&#13;&#10;&#13;&#10;begin&#13;&#10;&#13;&#10;end." PropData="044C65667403880003546F7003B0000844617461736574730100095661726961626C65730100055374796C650100">
<TfrxReportPage Name="Page1" PaperWidth="210" PaperHeight="297" PaperSize="9" LeftMargin="10" RightMargin="10" TopMargin="10" BottomMargin="10" ColumnWidth="0" ColumnPositions.Text="" HGuides.Text="" VGuides.Text="">
<TfrxMemoView Name="Memo1" Cursor="-21" Left="37,7953" Top="37,7953" Width="94,48825" Height="37,7953" OnPreviewClick="Memo1OnPreviewClick" Frame.Typ="15" HAlign="haCenter" Memo.Text="Memo1" VAlign="vaCenter"/>
<TfrxMemoView Name="Memo2" Cursor="-4" Left="181,41744" Top="102,04731" Width="113,3859" Height="37,7953" OnPreviewClick="Memo2OnPreviewClick" Frame.Typ="15" HAlign="haCenter" Memo.Text="Memo2" VAlign="vaCenter"/>
<TfrxMemoView Name="Memo3" Left="226,7718" Top="7,55906" Width="188,9765" Height="18,89765" HAlign="haCenter" Memo.Text="Click these two memos"/>
</TfrxReportPage>
</TfrxReport>

32
Demos/Main/2.fr3 Normal file
View File

@ -0,0 +1,32 @@
<?xml version="1.0" encoding="utf-8"?>
<TfrxReport Version="4.0a" DotMatrixReport="False" EngineOptions.DoublePass="True" IniFile="\Software\Fast Reports" PreviewOptions.Buttons="4095" PreviewOptions.DoubleBuffered="False" PreviewOptions.OutlineWidth="180" PreviewOptions.Zoom="1" PrintOptions.PagesOnSheet="0" PrintOptions.Printer="Default" PrintOptions.PrintOnSheet="0" ReportOptions.CreateDate="37871,9957952199" ReportOptions.Description.Text="Demonstrates how to create simple report with one group. Group breaked each time when first letter of company name changes." ReportOptions.LastChange="38977,7795484259" ScriptLanguage="PascalScript" ScriptText.Text="begin&#13;&#10;&#13;&#10;end." PropData="044C65667403880003546F7003B00008446174617365747301010C3900000020446174615365743D225265706F7274446174612E437573746F6D65727344532220446174615365744E616D653D22437573746F6D657273220000095661726961626C65730100055374796C650100">
<TfrxDataPage Name="Data" Height="1000" Left="0" Top="0" Width="1000"/>
<TfrxReportPage Name="Page1" PaperWidth="210" PaperHeight="297" PaperSize="9" LeftMargin="5" RightMargin="5" TopMargin="5" BottomMargin="5" Columns="1" ColumnWidth="210" ColumnPositions.Text="0" HGuides.Text="" VGuides.Text="">
<TfrxReportTitle Name="Band1" Height="26,45671" Left="0" Top="18,89765" Width="755,906">
<TfrxMemoView Name="Memo1" Left="0" Top="0" Width="710,55164" Height="22,67718" Color="8421504" Font.Charset="1" Font.Color="16777215" Font.Height="-16" Font.Name="Arial" Font.Style="1" HAlign="haCenter" ParentFont="False" VAlign="vaCenter" Text="Customers"/>
</TfrxReportTitle>
<TfrxPageHeader Name="Band2" Height="34,01577" Left="0" Top="68,03154" Width="755,906">
<TfrxMemoView Name="Memo5" Left="0" Top="7,55906" Width="188,9765" Height="18,89765" Font.Charset="1" Font.Color="128" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Typ="8" ParentFont="False" Text="Company"/>
<TfrxMemoView Name="Memo6" Left="204,09462" Top="7,55906" Width="154,96073" Height="18,89765" Font.Charset="1" Font.Color="128" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Typ="8" ParentFont="False" Text="Address"/>
<TfrxMemoView Name="Memo7" Left="374,17347" Top="7,55906" Width="120,94496" Height="18,89765" Font.Charset="1" Font.Color="128" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Typ="8" ParentFont="False" Text="Contact"/>
<TfrxMemoView Name="Memo8" Left="510,23655" Top="7,55906" Width="83,14966" Height="18,89765" Font.Charset="1" Font.Color="128" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Typ="8" ParentFont="False" Text="Phone"/>
<TfrxMemoView Name="Memo9" Left="608,50433" Top="7,55906" Width="102,04731" Height="18,89765" Font.Charset="1" Font.Color="128" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Typ="8" ParentFont="False" Text="Fax"/>
</TfrxPageHeader>
<TfrxPageFooter Name="Band3" Height="26,45671" Left="0" Top="347,71676" Width="755,906">
<TfrxMemoView Name="Memo2" Left="0" Top="7,55905999999999" Width="710,55164" Height="15,11812" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Typ="4" Frame.Width="2" HAlign="haRight" ParentFont="False" Text="[Page] of [TotalPages]"/>
</TfrxPageFooter>
<TfrxMasterData Name="Band4" Height="22,67718" Left="0" Top="211,65368" Width="755,906" Columns="1" ColumnWidth="200" ColumnGap="20" DataSet="ReportData.CustomersDS" DataSetName="Customers" RowCount="0">
<TfrxMemoView Name="Memo10" Left="0" Top="0" Width="204,09462" Height="18,89765" DataField="Company" DataSet="ReportData.CustomersDS" DataSetName="Customers" Text="[Customers.&#34;Company&#34;]"/>
<TfrxMemoView Name="Memo11" Left="204,09462" Top="0" Width="170,07885" Height="18,89765" DataField="Addr1" DataSet="ReportData.CustomersDS" DataSetName="Customers" Text="[Customers.&#34;Addr1&#34;]"/>
<TfrxMemoView Name="Memo12" Left="374,17347" Top="0" Width="136,06308" Height="18,89765" DataField="Contact" DataSet="ReportData.CustomersDS" DataSetName="Customers" Text="[Customers.&#34;Contact&#34;]"/>
<TfrxMemoView Name="Memo13" Left="510,23655" Top="0" Width="98,26778" Height="18,89765" DataField="Phone" DataSet="ReportData.CustomersDS" DataSetName="Customers" Text="[Customers.&#34;Phone&#34;]"/>
<TfrxMemoView Name="Memo14" Left="608,50433" Top="0" Width="102,04731" Height="18,89765" DataField="FAX" DataSet="ReportData.CustomersDS" DataSetName="Customers" Text="[Customers.&#34;FAX&#34;]"/>
</TfrxMasterData>
<TfrxGroupHeader Name="GroupHeader1" Height="26,45671" Left="0" Top="162,51979" Width="755,906" Condition="Copy(&#60;Customers.&#34;Company&#34;&#62;, 1, 1)">
<TfrxMemoView Name="Memo3" Left="0" Top="0" Width="710,55164" Height="22,67718" Color="16053492" Font.Charset="1" Font.Color="128" Font.Height="-19" Font.Name="Arial" Font.Style="0" ParentFont="False" VAlign="vaCenter" Text="[Copy(&#60;Customers.&#34;Company&#34;&#62;, 1, 1)]"/>
</TfrxGroupHeader>
<TfrxGroupFooter Name="GroupFooter1" Height="30,23624" Left="0" Top="257,00804" Width="755,906">
<TfrxMemoView Name="Memo4" Left="0" Top="0" Width="710,55164" Height="18,89765" StretchMode="smMaxHeight" Frame.Color="12632256" Frame.Typ="4" HAlign="haRight" HideZeros="True" Text="Count: [Count(Band4)]"/>
</TfrxGroupFooter>
</TfrxReportPage>
</TfrxReport>

11
Demos/Main/21.FR3 Normal file
View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<TfrxReport Name="" Version="3.21" DotMatrixReport="False" IniFile="\Software\Fast Reports" PreviewOptions.Buttons="4095" PreviewOptions.Zoom="1" PrintOptions.Printer="Default" ReportOptions.CreateDate="37871,9978869907" ReportOptions.Description.Text="Shows how to use variables inside RichText." ReportOptions.LastChange="38842,972233669" ScriptLanguage="PascalScript" ScriptText.Text="begin&#13;&#10;&#13;&#10;end." PropData="044C65667403880003546F7003B00008446174617365747301010C3900000020446174615365743D225265706F7274446174612E437573746F6D65727344532220446174615365744E616D653D22437573746F6D657273220000095661726961626C65730100055374796C650100">
<TfrxReportPage Name="Page1" PaperWidth="210" PaperHeight="297" PaperSize="9" LeftMargin="5" RightMargin="5" TopMargin="5" BottomMargin="5" Columns="1" ColumnWidth="210" ColumnPositions.Text="0" HGuides.Text="" VGuides.Text="">
<TfrxPageFooter Name="Band3" Height="28" Left="0" Top="158,74026" Width="755,906">
<TfrxMemoView Name="Memo2" Left="6" Top="8" Width="704" Height="16" Color="16777215" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Typ="4" Frame.Width="2" HAlign="haRight" ParentFont="False" Text="Page [Page#]"/>
</TfrxPageFooter>
<TfrxMasterData Name="Band4" Height="68" Left="0" Top="18,89765" Width="755,906" Columns="1" ColumnWidth="200" ColumnGap="20" DataSet="ReportData.CustomersDS" DataSetName="Customers" RowCount="0" Stretched="True">
<TfrxRichView Name="Rich1" Left="6" Top="40" Width="340" Height="20" StretchMode="smMaxHeight" GapX="2" GapY="1" PropData="0852696368456469740A3B0200007B5C727466315C616E73695C616E7369637067313235325C64656666305C6465666C616E67313033337B5C666F6E7474626C7B5C66305C66737769737320417269616C3B7D7B5C66315C6673776973735C66636861727365743020417269616C3B7D7B5C66325C666E696C204D532053616E732053657269663B7D7D0D0A7B5C636F6C6F7274626C203B5C726564305C677265656E305C626C7565303B5C726564305C677265656E305C626C75653235353B7D0D0A5C766965776B696E64345C7563315C706172645C71635C6366315C625C66305C667332302044656172205B437573746F6D6572732E22436F6E74616374225D215C62305C7061720D0A5C706172645C7061720D0A5C706172645C716A5C746162205765206469737475726220796F7520746F20696E666F726D2074686174206E65772076657273696F6E206F6620465C6631206173745265706F72745C66302020697320617661696C61626C6520666F7220646F776E6C6F6164696E67206174205C6366325C756C207777772E666173742D7265706F72742E636F6D5C6366315C756C6E6F6E65202E204E6F74696365732C2073756767657374696F6E7320616E6420627567207265706F727473206172652077656C636F6D65642E5C7061720D0A5C706172645C7061720D0A476F6F64206C75636B2C5C7061720D0A416C6578616E64657220547A7967616E656E6B6F5C7461625C7461625C746162205B444154455D5C66325C7061720D0A5C66305C7061720D0A5C7061720D0A5C7061720D0A7D0D0A00"/>
</TfrxMasterData>
</TfrxReportPage>
</TfrxReport>

51
Demos/Main/22.FR3 Normal file
View File

@ -0,0 +1,51 @@
<?xml version="1.0" encoding="utf-8"?>
<TfrxReport Name="" DotMatrixReport="False" EngineOptions.MaxMemSize="10000000" IniFile="\Software\Fast Reports" PreviewOptions.Buttons="2047" PreviewOptions.Zoom="1" PrintOptions.Printer="Default" ReportOptions.CreateDate="37874,9679845602" ReportOptions.Description.Text="This report demonstrates different barcodes." ReportOptions.LastChange="38275,573916088" ScriptLanguage="PascalScript" ScriptText.Text="begin&#13;&#10;&#13;&#10;end." PropData="044C65667403880003546F7003B0000844617461736574730100095661726961626C65730100055374796C650100">
<TfrxReportPage Name="Page1" PaperWidth="210" PaperHeight="297" PaperSize="9" LeftMargin="10" RightMargin="10" TopMargin="10" BottomMargin="10" ColumnWidth="0" ColumnPositions.Text="" HGuides.Text="37,7953&#13;&#10;188,9765&#13;&#10;340,1577&#13;&#10;491,3389&#13;&#10;642,5201&#13;&#10;793,7013" VGuides.Text="37,7953&#13;&#10;188,9765&#13;&#10;340,1577&#13;&#10;491,3389">
<TfrxBarCodeView Name="BarCode1" Left="37,7953" Top="37,7953" Width="64" Height="86,92919" BarType="bcCode_2_5_interleaved" Rotation="0" Text="12345678" Zoom="1"/>
<TfrxBarCodeView Name="BarCode2" Left="188,9765" Top="37,7953" Width="112" Height="86,92919" BarType="bcCode_2_5_industrial" Rotation="0" Text="12345678" Zoom="1"/>
<TfrxBarCodeView Name="BarCode3" Left="340,1577" Top="37,7953" Width="79" Height="86,92919" BarType="bcCode_2_5_matrix" Rotation="0" Text="12345678" Zoom="1"/>
<TfrxBarCodeView Name="BarCode4" Left="491,3389" Top="37,7953" Width="129" Height="86,92919" BarType="bcCode39" Rotation="0" Text="12345678" Zoom="1"/>
<TfrxBarCodeView Name="BarCode5" Left="37,7953" Top="188,9765" Width="129" Height="86,92919" BarType="bcCode39Extended" Rotation="0" Text="12345678" Zoom="1"/>
<TfrxBarCodeView Name="BarCode6" Left="188,9765" Top="188,9765" Width="123" Height="86,92919" BarType="bcCode128A" Rotation="0" Text="12345678" Zoom="1"/>
<TfrxBarCodeView Name="BarCode7" Left="340,1577" Top="188,9765" Width="123" Height="86,92919" BarType="bcCode128B" Rotation="0" Text="12345678" Zoom="1"/>
<TfrxBarCodeView Name="BarCode8" Left="491,3389" Top="188,9765" Width="79" Height="86,92919" BarType="bcCode128C" Rotation="0" Text="12345678" Zoom="1"/>
<TfrxBarCodeView Name="BarCode9" Left="37,7953" Top="340,1577" Width="109" Height="86,92919" BarType="bcCode93" Rotation="0" Text="12345678" Zoom="1"/>
<TfrxBarCodeView Name="BarCode10" Left="188,9765" Top="340,1577" Width="109" Height="86,92919" BarType="bcCode93Extended" Rotation="0" Text="12345678" Zoom="1"/>
<TfrxMemoView Name="Memo1" Left="188,9765" Top="18,89765" Width="94,48825" Height="18,89765" Memo.Text="2 of 5 industrial"/>
<TfrxMemoView Name="Memo2" Left="37,7953" Top="18,89765" Width="109,60637" Height="18,89765" Memo.Text="2 of 5 interleaved"/>
<TfrxMemoView Name="Memo3" Left="340,1577" Top="18,89765" Width="94,48825" Height="18,89765" Memo.Text="2 of 5 matrix"/>
<TfrxMemoView Name="Memo4" Left="491,3389" Top="18,89765" Width="94,48825" Height="18,89765" Memo.Text="code 39"/>
<TfrxMemoView Name="Memo5" Left="37,7953" Top="170,07885" Width="94,48825" Height="18,89765" Memo.Text="code 39 ext"/>
<TfrxMemoView Name="Memo6" Left="188,9765" Top="170,07885" Width="94,48825" Height="18,89765" Memo.Text="code 128a"/>
<TfrxMemoView Name="Memo7" Left="340,1577" Top="170,07885" Width="94,48825" Height="18,89765" Memo.Text="code 128b"/>
<TfrxMemoView Name="Memo8" Left="491,3389" Top="170,07885" Width="94,48825" Height="18,89765" Memo.Text="code 128c"/>
<TfrxMemoView Name="Memo9" Left="37,7953" Top="321,26005" Width="94,48825" Height="18,89765" Memo.Text="code 93"/>
<TfrxMemoView Name="Memo10" Left="188,9765" Top="321,26005" Width="94,48825" Height="18,89765" Memo.Text="code 93 ext"/>
<TfrxBarCodeView Name="BarCode11" Left="340,1577" Top="340,1577" Width="115" Height="86,92919" BarType="bcCodeMSI" Rotation="0" Text="12345678" Zoom="1"/>
<TfrxMemoView Name="Memo11" Left="340,1577" Top="321,26005" Width="94,48825" Height="18,89765" Memo.Text="msi"/>
<TfrxBarCodeView Name="BarCode12" Left="491,3389" Top="340,1577" Width="124" Height="86,92919" BarType="bcCodePostNet" Rotation="0" Text="12345678" Zoom="1"/>
<TfrxMemoView Name="Memo12" Left="491,3389" Top="321,26005" Width="94,48825" Height="18,89765" Memo.Text="postnet"/>
<TfrxBarCodeView Name="BarCode13" Left="37,7953" Top="491,3389" Width="101" Height="86,92919" BarType="bcCodeCodabar" Rotation="0" Text="12345678" Zoom="1"/>
<TfrxMemoView Name="Memo13" Left="37,7953" Top="472,44125" Width="94,48825" Height="18,89765" Memo.Text="codebar"/>
<TfrxBarCodeView Name="BarCode14" Left="188,9765" Top="491,3389" Width="67" Height="86,92919" BarType="bcCodeEAN8" Rotation="0" Text="12345678" Zoom="1"/>
<TfrxMemoView Name="Memo14" Left="188,9765" Top="472,44125" Width="94,48825" Height="18,89765" Memo.Text="ean 8"/>
<TfrxBarCodeView Name="BarCode15" Left="340,1577" Top="491,3389" Width="95" Height="86,92919" BarType="bcCodeEAN13" Rotation="0" Text="1234567890123" Zoom="1"/>
<TfrxMemoView Name="Memo15" Left="340,1577" Top="472,44125" Width="94,48825" Height="18,89765" Memo.Text="ean 13"/>
<TfrxBarCodeView Name="BarCode16" Left="491,3389" Top="491,3389" Width="95" Height="86,92919" BarType="bcCodeUPC_A" Rotation="0" Text="12345678" Zoom="1"/>
<TfrxMemoView Name="Memo16" Left="491,3389" Top="472,44125" Width="94,48825" Height="18,89765" Memo.Text="upc a"/>
<TfrxBarCodeView Name="BarCode17" Left="37,7953" Top="642,5201" Width="51" Height="86,92919" BarType="bcCodeUPC_E0" Rotation="0" Text="12345678" Zoom="1"/>
<TfrxMemoView Name="Memo17" Left="37,7953" Top="623,62245" Width="94,48825" Height="18,89765" Memo.Text="upc e0"/>
<TfrxBarCodeView Name="BarCode18" Left="188,9765" Top="642,5201" Width="51" Height="86,92919" BarType="bcCodeUPC_E1" Rotation="0" Text="12345678" Zoom="1"/>
<TfrxMemoView Name="Memo18" Left="188,9765" Top="623,62245" Width="94,48825" Height="18,89765" Memo.Text="upc e1"/>
<TfrxBarCodeView Name="BarCode19" Left="340,1577" Top="642,5201" Width="20" Height="86,92919" BarType="bcCodeUPC_Supp2" Rotation="0" Text="12" Zoom="1"/>
<TfrxMemoView Name="Memo19" Left="340,1577" Top="623,62245" Width="94,48825" Height="18,89765" Memo.Text="upc supp2"/>
<TfrxBarCodeView Name="BarCode20" Left="491,3389" Top="642,5201" Width="47" Height="86,92919" BarType="bcCodeUPC_Supp5" Rotation="0" Text="12345" Zoom="1"/>
<TfrxMemoView Name="Memo20" Left="491,3389" Top="623,62245" Width="94,48825" Height="18,89765" Memo.Text="upc supp5"/>
<TfrxBarCodeView Name="BarCode21" Left="37,7953" Top="793,7013" Width="134" Height="86,92919" BarType="bcCodeEAN128A" Rotation="0" Text="12345678" Zoom="1"/>
<TfrxMemoView Name="Memo21" Left="37,7953" Top="774,80365" Width="94,48825" Height="18,89765" Memo.Text="ean 128a"/>
<TfrxBarCodeView Name="BarCode22" Left="188,9765" Top="793,7013" Width="134" Height="86,92919" BarType="bcCodeEAN128B" Rotation="0" Text="12345678" Zoom="1"/>
<TfrxMemoView Name="Memo22" Left="188,9765" Top="774,80365" Width="94,48825" Height="18,89765" Memo.Text="ean 128b"/>
<TfrxBarCodeView Name="BarCode23" Left="340,1577" Top="793,7013" Width="90" Height="86,92919" BarType="bcCodeEAN128C" Rotation="0" Text="12345678" Zoom="1"/>
<TfrxMemoView Name="Memo23" Left="340,1577" Top="774,80365" Width="94,48825" Height="18,89765" Memo.Text="ean 128c"/>
</TfrxReportPage>
</TfrxReport>

6
Demos/Main/23.FR3 Normal file

File diff suppressed because one or more lines are too long

54
Demos/Main/24.FR3 Normal file
View File

@ -0,0 +1,54 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<TfrxReport Version="2.0" DotMatrixReport="False" PreviewOptions.Buttons="4095" PreviewOptions.Zoom="1" PrintOptions.Printer="Default" PrintOptions.PrintOnSheet="0" ReportOptions.Author="Fediachov A." ReportOptions.CreateDate="37874,9926516319" ReportOptions.Description.Text="Demonstrates how to use charts." ReportOptions.Name="Countries report" ReportOptions.LastChange="44015,5919680903" ReportOptions.VersionMinor="0" ReportOptions.VersionRelease="0" ReportOptions.IsFMXReport="True" ScriptLanguage="PascalScript" ScriptText.Text="&#13;&#10;begin&#13;&#10; Chart1.AddSeries(csHorizBar);&#13;&#10; Chart1.Series[0].ColorEachPoint := True;&#13;&#10; with Chart1.SeriesData[0] do&#13;&#10; begin&#13;&#10; DataType := dtDBData;&#13;&#10; DataSetName := 'Country';&#13;&#10; XSource := 'Country.&#34;Name&#34;';&#13;&#10; YSource := 'Country.&#34;Population&#34;';&#13;&#10; SortOrder := 2;&#13;&#10; TopN := 10;&#13;&#10; TopNCaption := 'Others'&#13;&#10; end;&#13;&#10;&#13;&#10; Chart2.AddSeries(csPie);&#13;&#10; Chart2.Series[0].ColorEachPoint := True;&#13;&#10; with Chart2.SeriesData[0] do&#13;&#10; begin&#13;&#10; DataType := dtDBData;&#13;&#10; DataSetName := 'Country';&#13;&#10; XSource := 'Country.&#34;Name&#34;';&#13;&#10; YSource := 'Country.&#34;Area&#34;';&#13;&#10; SortOrder := 2;&#13;&#10; TopN := 10;&#13;&#10; TopNCaption := 'Others'&#13;&#10; end;&#13;&#10;&#13;&#10; Chart3.AddSeries(csBar);&#13;&#10; Chart3.Series[0].ColorEachPoint := True;&#13;&#10; with Chart3.SeriesData[0] do&#13;&#10; begin&#13;&#10; DataType := dtDBData;&#13;&#10; DataSetName := 'Country';&#13;&#10; XSource := 'Country.&#34;Name&#34;';&#13;&#10; YSource := '&#60;Country.&#34;Population&#34;&#62;/&#60;Country.&#34;Area&#34;&#62;';&#13;&#10; SortOrder := 2;&#13;&#10; TopN := 20;&#13;&#10; TopNCaption := 'Others'&#13;&#10; end&#13;&#10;&#13;&#10;end." OnStartReport="frxReport1OnStartReport" PropData="0844617461736574730101063420446174615365743D22446174614D6F64756C65332E436F756E7472792220446174615365744E616D653D22436F756E747279220000095661726961626C657301010611204E616D653D22204461746162617365220001062C204E616D653D2250617468546F4461746162617365222056616C75653D22272E2E5C64656D6F2E6D646227220000055374796C650100">
<TfrxDataPage Name="Data" Height="1000" Left="0" Top="0" Width="1000"/>
<TfrxReportPage Name="ChartN1" PaperWidth="215,9" PaperHeight="279,4" PaperSize="1" LeftMargin="10" RightMargin="10" TopMargin="10" BottomMargin="10" ColumnWidth="0" ColumnPositions.Text="" HGuides.Text="" VGuides.Text="">
<TfrxPageHeader Name="PageHeader1" Height="963,78015" Left="0" Top="18,89765" Width="740,409927">
<TfrxMemoView Name="Memo12" Left="11,33859" Top="3,77953" Width="718,1107" Height="30,23624" ShowHint="False" Color="-1776412" Font.Name="Arial" Font.PixelsPerInch="96" Font.Style="1" Font.Color="-16252928" Font.Height="-19" HAlign="haCenter" ParentFont="False" VAlign="vaCenter" Text="Countries report"/>
<TfrxChartView Name="Chart1" ShiftMode="smWhenOverlapped" Left="11,33859" Top="34,01577" Width="718,1107" Height="449,76407" ShowHint="False" Frame.Typ="15" PropData="0543686172740A990100005450463006544368617274054368617274144261636B57616C6C2E42727573682E436F6C6F720708636C615768697465144261636B57616C6C2E50656E2E56697369626C650812466F6F742E466F6E742E5374796C654578740A0D000000000400000002000000040000001A4C6567656E642E5469746C652E466F6E742E5374796C654578740A0D0000000007000000000000000400000015537562466F6F742E466F6E742E5374796C654578740A0D000000000400000002000000040000000D4672616D652E56697369626C6508165669657733444F7074696F6E732E526F746174696F6E02000F5A6F6F6D2E42727573682E4B696E6407044E6F6E65135A6F6F6D2E50656E2E46696C6C2E436F6C6F720709636C6153696C7665720A426576656C4F75746572070662764E6F6E6505436F6C6F720708636C6157686974650A53697A652E57696474680500000000000000C807400B53697A652E4865696768740500000000000000FA06401453697A652E506C6174666F726D44656661756C740811436F6C6F7250616C65747465496E646578020D00000E4368617274456C65766174696F6E0359010A536572696573446174610100"/>
<TfrxChartView Name="Chart2" Left="11,33859" Top="483,77984" Width="718,1107" Height="476,22078" ShowHint="False" Frame.Typ="15" PropData="0543686172740AB50100005450463006544368617274054368617274144261636B57616C6C2E42727573682E436F6C6F720708636C615768697465144261636B57616C6C2E50656E2E56697369626C650812466F6F742E466F6E742E5374796C654578740A0D00000000040000000200000004000000114772616469656E742E456E64436F6C6F720708636C61426C61636B1A4C6567656E642E5469746C652E466F6E742E5374796C654578740A0D0000000007000000000000000400000015537562466F6F742E466F6E742E5374796C654578740A0D000000000400000002000000040000000D4672616D652E56697369626C6508165669657733444F7074696F6E732E526F746174696F6E02000F5A6F6F6D2E42727573682E4B696E6407044E6F6E65135A6F6F6D2E50656E2E46696C6C2E436F6C6F720709636C6153696C7665720A426576656C4F75746572070662764E6F6E6505436F6C6F720708636C6157686974650A53697A652E57696474680500000000000000C807400B53697A652E4865696768740500000000000000FA06401453697A652E506C6174666F726D44656661756C740811436F6C6F7250616C65747465496E646578020D00000E4368617274456C65766174696F6E0359010A536572696573446174610100"/>
</TfrxPageHeader>
</TfrxReportPage>
<TfrxReportPage Name="ChartN2" PaperWidth="215,9" PaperHeight="279,4" PaperSize="1" LeftMargin="10" RightMargin="10" TopMargin="10" BottomMargin="10" ColumnWidth="0" ColumnPositions.Text="" HGuides.Text="" VGuides.Text="">
<TfrxPageHeader Name="PageHeader2" Height="430,86642" Left="0" Top="18,89765" Width="740,409927">
<TfrxChartView Name="Chart3" Left="22,67718" Top="3,77953" Width="657,63822" Height="400,63018" ShowHint="False" PropData="0543686172740A990100005450463006544368617274054368617274144261636B57616C6C2E42727573682E436F6C6F720708636C615768697465144261636B57616C6C2E50656E2E56697369626C650812466F6F742E466F6E742E5374796C654578740A0D000000000400000002000000040000001A4C6567656E642E5469746C652E466F6E742E5374796C654578740A0D0000000007000000000000000400000015537562466F6F742E466F6E742E5374796C654578740A0D000000000400000002000000040000000D4672616D652E56697369626C6508165669657733444F7074696F6E732E526F746174696F6E02000F5A6F6F6D2E42727573682E4B696E6407044E6F6E65135A6F6F6D2E50656E2E46696C6C2E436F6C6F720709636C6153696C7665720A426576656C4F75746572070662764E6F6E6505436F6C6F720708636C6157686974650A53697A652E57696474680500000000000000C807400B53697A652E4865696768740500000000000000FA06401453697A652E506C6174666F726D44656661756C740811436F6C6F7250616C65747465496E646578020D00000E4368617274456C65766174696F6E0359010A536572696573446174610100"/>
<TfrxLineView Name="Line1" Left="22,67718" Top="419,52783" Width="653,85869" Height="0" ShowHint="False" Frame.Typ="4" Frame.Width="3"/>
</TfrxPageHeader>
</TfrxReportPage>
<TfrxReportPage Name="CountryList" PaperWidth="215,9" PaperHeight="279,4" PaperSize="1" LeftMargin="10" RightMargin="10" TopMargin="10" BottomMargin="10" ColumnWidth="0" ColumnPositions.Text="" PrintOnPreviousPage="True" HGuides.Text="" VGuides.Text="">
<TfrxHeader Name="Header1" Height="26,45671" Left="0" Top="185,19697" Width="740,409927" ReprintOnNewPage="True">
<TfrxMemoView Name="Memo5" Left="0" Top="3,77952999999999" Width="226,7718" Height="18,89765" ShowHint="False" Color="-4144960" Font.Name="Arial" Font.PixelsPerInch="96" Font.Style="1" Font.Color="-16777216" Font.Height="-13" HAlign="haCenter" ParentFont="False" VAlign="vaCenter" Text="Name"/>
<TfrxMemoView Name="Memo6" Left="234,33086" Top="3,77952999999999" Width="177,63791" Height="18,89765" ShowHint="False" Color="-4144960" Font.Name="Arial" Font.PixelsPerInch="96" Font.Style="1" Font.Color="-16777216" Font.Height="-13" HAlign="haCenter" ParentFont="False" VAlign="vaCenter" Text="Capital"/>
<TfrxMemoView Name="Memo7" Left="419,52783" Top="3,77952999999999" Width="117,16543" Height="18,89765" ShowHint="False" Color="-4144960" Font.Name="Arial" Font.PixelsPerInch="96" Font.Style="1" Font.Color="-16777216" Font.Height="-13" HAlign="haCenter" ParentFont="False" VAlign="vaCenter" Text="Area"/>
<TfrxMemoView Name="Memo8" Left="544,25232" Top="3,77952999999999" Width="173,85838" Height="18,89765" ShowHint="False" Color="-4144960" Font.Name="Arial" Font.PixelsPerInch="96" Font.Style="1" Font.Color="-16777216" Font.Height="-13" HAlign="haCenter" ParentFont="False" VAlign="vaCenter" Text="Population"/>
</TfrxHeader>
<TfrxGroupHeader Name="GroupHeader1" Height="22,67718" Left="0" Top="238,11039" Width="740,409927" Condition="Country.&#34;Continent&#34;" OutlineText="Country.&#34;Continent&#34;">
<TfrxMemoView Name="Memo11" Left="0" Top="0" Width="718,11030945" Height="18,89765" ShowHint="False" Color="-4144960" DataField="Continent" DataSet="DataModule3.Country" DataSetName="Country" Font.Name="Arial" Font.PixelsPerInch="96" Font.Style="1" Font.Color="-16252928" Font.Height="-13" HAlign="haCenter" ParentFont="False" Text="[Country.&#34;Continent&#34;]"/>
</TfrxGroupHeader>
<TfrxMasterData Name="MasterData1" Height="15,11812" Left="0" Top="283,46475" Width="740,409927" ColumnWidth="0" ColumnGap="0" DataSet="DataModule3.Country" DataSetName="Country" RowCount="0">
<TfrxMemoView Name="Memo9" Left="0" Top="0" Width="718,1107" Height="15,11812" ShowHint="False" DataSet="DataModule3.Customers" DataSetName="Customers" Highlight.Font.Name="Arial" Highlight.Font.PixelsPerInch="96" Highlight.Font.Style="0" Highlight.Font.Color="-370606080" Highlight.Font.Height="-13" Highlight.Color="-986896" Highlight.Condition="&#60;Line#&#62; mod 2" WordWrap="False" Text=""/>
<TfrxMemoView Name="Memo1" Left="3,77953" Top="0" Width="222,99227" Height="15,11812" ShowHint="False" DataField="Name" DataSet="DataModule3.Country" DataSetName="Country" Font.Name="Arial" Font.PixelsPerInch="96" Font.Style="0" Font.Color="-16777216" Font.Height="-11" ParentFont="False" Text="[Country.&#34;Name&#34;]"/>
<TfrxMemoView Name="Memo2" Left="234,33086" Top="0" Width="177,63791" Height="15,11812" ShowHint="False" DataField="Capital" DataSet="DataModule3.Country" DataSetName="Country" Font.Name="Arial" Font.PixelsPerInch="96" Font.Style="0" Font.Color="-16777216" Font.Height="-11" ParentFont="False" Text="[Country.&#34;Capital&#34;]"/>
<TfrxMemoView Name="Memo3" Left="419,52783" Top="0" Width="117,16543" Height="15,11812" ShowHint="False" DataSet="DataModule3.Country" DataSetName="Country" DisplayFormat.DecimalSeparator="," DisplayFormat.FormatStr="%2.0n" DisplayFormat.Kind="fkNumeric" Font.Name="Arial" Font.PixelsPerInch="96" Font.Style="0" Font.Color="-16777216" Font.Height="-11" HAlign="haRight" ParentFont="False" Text="[Country.&#34;Area&#34;]"/>
<TfrxMemoView Name="Memo4" Left="544,25232" Top="0" Width="170,07885" Height="15,11812" ShowHint="False" DataField="Population" DataSet="DataModule3.Country" DataSetName="Country" DisplayFormat.DecimalSeparator="," DisplayFormat.FormatStr="%2.0n" DisplayFormat.Kind="fkNumeric" Font.Name="Arial" Font.PixelsPerInch="96" Font.Style="0" Font.Color="-16777216" Font.Height="-11" HAlign="haRight" ParentFont="False" Text="[Country.&#34;Population&#34;]"/>
</TfrxMasterData>
<TfrxReportTitle Name="ReportTitle2" Height="56,69295" Left="0" Top="18,89765" Width="740,409927">
<TfrxMemoView Name="Memo13" Left="0" Top="15,11812" Width="718,1107" Height="22,67718" ShowHint="False" Font.Name="Arial" Font.PixelsPerInch="96" Font.Style="1" Font.Color="-16777216" Font.Height="-19" HAlign="haCenter" ParentFont="False" VAlign="vaCenter" Text="Countries summary"/>
</TfrxReportTitle>
<TfrxGroupFooter Name="GroupFooter1" Height="18,89765" Left="0" Top="317,48052" Width="740,409927">
<TfrxMemoView Name="Memo14" Left="0" Top="0" Width="536,69326" Height="18,89765" ShowHint="False" DisplayFormat.DecimalSeparator="," DisplayFormat.FormatStr="%2.0n" DisplayFormat.Kind="fkNumeric" Font.Name="Arial" Font.PixelsPerInch="96" Font.Style="1" Font.Color="-16252928" Font.Height="-11" Frame.Typ="4" HAlign="haRight" ParentFont="False" Text="[SUM(&#60;Country.&#34;Area&#34;&#62;,MasterData1)]"/>
<TfrxMemoView Name="Memo15" Left="536,69326" Top="0" Width="181,41744" Height="18,89765" ShowHint="False" DisplayFormat.DecimalSeparator="," DisplayFormat.FormatStr="%2.0n" DisplayFormat.Kind="fkNumeric" Font.Name="Arial" Font.PixelsPerInch="96" Font.Style="1" Font.Color="-16252928" Font.Height="-11" Frame.Typ="4" HAlign="haRight" ParentFont="False" Text="[SUM(&#60;Country.&#34;Population&#34;&#62;,MasterData1)]"/>
</TfrxGroupFooter>
<TfrxReportSummary Name="ReportSummary1" Height="22,67718" Left="0" Top="400,63018" Width="740,409927">
<TfrxMemoView Name="Memo16" Left="219,21274" Top="0" Width="317,48052" Height="18,89765" ShowHint="False" Color="-4144960" DisplayFormat.DecimalSeparator="," DisplayFormat.FormatStr="%2.0n" DisplayFormat.Kind="fkNumeric" Font.Name="Arial" Font.PixelsPerInch="96" Font.Style="1" Font.Color="-16252928" Font.Height="-11" HAlign="haRight" ParentFont="False" VAlign="vaCenter" Text="[SUM(&#60;Country.&#34;Area&#34;&#62;,MasterData1)]"/>
<TfrxMemoView Name="Memo17" Left="536,69326" Top="0" Width="181,41744" Height="18,89765" ShowHint="False" Color="-4144960" DisplayFormat.DecimalSeparator="," DisplayFormat.FormatStr="%2.0n" DisplayFormat.Kind="fkNumeric" Font.Name="Arial" Font.PixelsPerInch="96" Font.Style="1" Font.Color="-16252928" Font.Height="-11" HAlign="haRight" ParentFont="False" VAlign="vaCenter" Text="[SUM(&#60;Country.&#34;Population&#34;&#62;,MasterData1)]"/>
<TfrxMemoView Name="Memo18" Left="90,70872" Top="0" Width="128,50402" Height="18,89765" ShowHint="False" Color="-4144960" DisplayFormat.DecimalSeparator="," DisplayFormat.FormatStr="%2.0n" DisplayFormat.Kind="fkNumeric" Font.Name="Arial" Font.PixelsPerInch="96" Font.Style="1" Font.Color="-16252928" Font.Height="-11" ParentFont="False" VAlign="vaCenter" Text="[COUNT(MasterData1)]"/>
<TfrxMemoView Name="Memo19" Left="0" Top="0" Width="90,70872" Height="18,89765" ShowHint="False" Color="-4144960" DisplayFormat.DecimalSeparator="," DisplayFormat.FormatStr="%2.0n" DisplayFormat.Kind="fkNumeric" Font.Name="Arial" Font.PixelsPerInch="96" Font.Style="1" Font.Color="-16252928" Font.Height="-11" HAlign="haRight" ParentFont="False" VAlign="vaCenter" Text="TOTAL:"/>
</TfrxReportSummary>
<TfrxPageHeader Name="PageHeader3" Height="22,67718" Left="0" Top="102,04731" Width="740,409927">
<TfrxMemoView Name="Memo10" Left="0" Top="3,77952999999999" Width="718,1107" Height="15,11812" ShowHint="False" Font.Name="Arial" Font.PixelsPerInch="96" Font.Style="0" Font.Color="-16777216" Font.Height="-11" Frame.Typ="8" HAlign="haRight" ParentFont="False" VAlign="vaCenter" Text="Countries summary"/>
</TfrxPageHeader>
<TfrxPageFooter Name="PageFooter1" Height="22,67718" Left="0" Top="442,20501" Width="740,409927">
<TfrxMemoView Name="Memo20" Left="0" Top="3,77953000000002" Width="721,89023" Height="18,89765" ShowHint="False" Font.Name="Arial" Font.PixelsPerInch="96" Font.Style="0" Font.Color="-16252928" Font.Height="-11" Frame.Typ="4" HAlign="haRight" ParentFont="False" Text="Page [Page#] of [TotalPages#]"/>
</TfrxPageFooter>
</TfrxReportPage>
</TfrxReport>

40
Demos/Main/25.fr3 Normal file

File diff suppressed because one or more lines are too long

55
Demos/Main/3.fr3 Normal file
View File

@ -0,0 +1,55 @@
<?xml version="1.0" encoding="utf-8"?>
<TfrxReport Version="4.11.4" DotMatrixReport="False" IniFile="\Software\Fast Reports" PreviewOptions.Buttons="4095" PreviewOptions.Zoom="1" PrintOptions.Printer="Default" PrintOptions.PrintOnSheet="0" ReportOptions.CreateDate="37871,9959574884" ReportOptions.Description.Text="This report shows how to use multiple groups." ReportOptions.LastChange="41019,6506072569" ScriptLanguage="PascalScript" ScriptText.Text="begin&#13;&#10;&#13;&#10;end." PropData="044C656674025803546F7003700108446174617365747301010C3900000020446174615365743D225265706F7274446174612E437573746F6D65727344532220446174615365744E616D653D22437573746F6D6572732200010C3100000020446174615365743D225265706F7274446174612E4974656D7344532220446174615365744E616D653D224974656D732200010C3300000020446174615365743D225265706F7274446174612E4F726465727344532220446174615365744E616D653D224F72646572732200010C3000000020446174615365743D225265706F7274446174612E5061727444532220446174615365744E616D653D225061727473220000095661726961626C65730100055374796C650100">
<TfrxDataPage Name="Data" Height="1000" Left="0" Top="0" Width="1000"/>
<TfrxReportPage Name="Page1" PaperWidth="210" PaperHeight="297" PaperSize="9" LeftMargin="5" RightMargin="5" TopMargin="5" BottomMargin="5" Columns="1" ColumnWidth="210" ColumnPositions.Text="0" PrintOnPreviousPage="True" HGuides.Text="" VGuides.Text="">
<TfrxPageFooter Name="Band1" Height="22,67718" Left="0" Top="525,35467" Width="755,906">
<TfrxMemoView Name="Memo5" Left="3,77953" Top="3,77953000000002" Width="710,55164" Height="15,11812" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Typ="4" Frame.Width="2" HAlign="haRight" ParentFont="False" Text="[Page#]"/>
</TfrxPageFooter>
<TfrxReportTitle Name="Band2" Height="30,23624" Left="0" Top="18,89765" Width="755,906">
<TfrxMemoView Name="Memo6" Left="3,77953" Top="3,77953" Width="710,55164" Height="22,67718" ShowHint="False" Color="8421504" Font.Charset="1" Font.Color="16777215" Font.Height="-16" Font.Name="Arial" Font.Style="1" HAlign="haCenter" ParentFont="False" VAlign="vaCenter" Text="Customers"/>
</TfrxReportTitle>
<TfrxPageHeader Name="Band3" Height="22,67718" Left="0" Top="68,03154" Width="755,906" PrintOnFirstPage="False">
<TfrxMemoView Name="Memo16" Left="3,77953" Top="3,77952999999999" Width="710,55164" Height="15,11812" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Typ="4" Frame.Width="2" ParentFont="False" Text=""/>
</TfrxPageHeader>
<TfrxGroupHeader Name="Band4" Height="45,35436" Left="0" Top="151,1812" Width="755,906" Condition="Customers.&#34;Cust No&#34;">
<TfrxGradientView Name="Gradient1" Left="3,77953" Top="0" Width="710,55164" Height="45,35436" ShowHint="False" EndColor="128" Style="gsVertical" Color="8421568"/>
<TfrxMemoView Name="Memo17" Left="3,77953" Top="0" Width="287,24428" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" Frame.Typ="5" GapX="6" ParentFont="False" VAlign="vaCenter" Text="Company"/>
<TfrxMemoView Name="Memo19" Left="291,02381" Top="0" Width="177,63791" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" Frame.Typ="4" ParentFont="False" VAlign="vaCenter" Text="Phone"/>
<TfrxMemoView Name="Memo20" Left="468,66172" Top="0" Width="245,66945" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" Frame.Typ="6" ParentFont="False" VAlign="vaCenter" Text="Fax"/>
<TfrxMemoView Name="Memo21" Left="291,02381" Top="18,89765" Width="177,63791" Height="26,45671" ShowHint="False" Font.Charset="1" Font.Color="16777215" Font.Height="-19" Font.Name="Arial" Font.Style="2" Frame.Color="12632256" ParentFont="False" VAlign="vaCenter" Text="[Customers.&#34;Phone&#34;]"/>
<TfrxMemoView Name="Memo22" Left="468,66172" Top="18,89765" Width="245,66945" Height="26,45671" ShowHint="False" Font.Charset="1" Font.Color="16777215" Font.Height="-19" Font.Name="Arial" Font.Style="2" Frame.Color="12632256" Frame.Typ="2" ParentFont="False" VAlign="vaCenter" Text="[Customers.&#34;FAX&#34;]"/>
<TfrxMemoView Name="Memo18" Left="3,77953" Top="18,89765" Width="287,24428" Height="26,45671" ShowHint="False" Font.Charset="1" Font.Color="16777215" Font.Height="-19" Font.Name="Arial" Font.Style="2" Frame.Color="12632256" Frame.Typ="1" GapX="6" ParentFont="False" VAlign="vaCenter" Text="[Customers.&#34;Company&#34;]"/>
</TfrxGroupHeader>
<TfrxGroupHeader Name="Band5" Height="37,7953" Left="0" Top="215,43321" Width="755,906" Condition="Orders.&#34;Order No&#34;">
<TfrxMemoView Name="Memo3" Left="3,77953" Top="18,89765" Width="52,91342" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Color="12632256" Frame.Typ="1" ParentFont="False" Text=""/>
<TfrxMemoView Name="Memo8" Left="3,77953" Top="0" Width="124,72449" Height="18,89765" ShowHint="False" Color="12632256" Frame.Color="12632256" Frame.Typ="1" GapX="4" Text="Order No [Orders.&#34;Order No&#34;]"/>
<TfrxMemoView Name="Memo9" Left="128,50402" Top="0" Width="585,82715" Height="18,89765" ShowHint="False" Color="12632256" Frame.Color="12632256" Frame.Typ="2" Text="Date [Orders.&#34;Sale Date&#34;]"/>
<TfrxMemoView Name="Memo10" Left="56,69295" Top="18,89765" Width="71,81107" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haCenter" ParentFont="False" Text="Part"/>
<TfrxMemoView Name="Memo11" Left="128,50402" Top="18,89765" Width="279,68522" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haCenter" ParentFont="False" Text="Description"/>
<TfrxMemoView Name="Memo12" Left="408,18924" Top="18,8976500000001" Width="83,14966" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haCenter" ParentFont="False" Text="Price"/>
<TfrxMemoView Name="Memo13" Left="491,3389" Top="18,8976500000001" Width="60,47248" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haCenter" ParentFont="False" Text="Qty"/>
<TfrxMemoView Name="Memo14" Left="551,81138" Top="18,8976500000001" Width="90,70872" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haCenter" ParentFont="False" Text="Total"/>
<TfrxMemoView Name="Memo31" Left="642,5201" Top="18,8976500000001" Width="71,81107" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Color="12632256" Frame.Typ="2" ParentFont="False" Text=""/>
</TfrxGroupHeader>
<TfrxMasterData Name="Band6" Height="0" Left="0" Top="272,12616" Width="755,906" Columns="1" ColumnWidth="200" ColumnGap="20" DataSet="ReportData.CustomersDS" DataSetName="Customers" RowCount="0"/>
<TfrxGroupFooter Name="Band7" Height="30,23624" Left="0" Top="430,86642" Width="755,906">
<TfrxMemoView Name="Memo28" Left="3,77953" Top="0" Width="710,55164" Height="18,89765" ShowHint="False" Color="12632256" DisplayFormat.FormatStr="%2.2m" DisplayFormat.Kind="fkNumeric" Frame.Color="12632256" Frame.Typ="11" Text="Total sales this customer: [Sum(&#60;Items.&#34;Qty&#34;&#62;*&#60;Parts.&#34;List Price&#34;&#62;)]"/>
</TfrxGroupFooter>
<TfrxGroupFooter Name="Band8" Height="22,67718" Left="0" Top="385,51206" Width="755,906">
<TfrxMemoView Name="Memo1" Left="3,77953" Top="0" Width="52,91342" Height="22,67718" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Color="12632256" Frame.Typ="1" ParentFont="False" Text=""/>
<TfrxMemoView Name="Memo15" Left="56,69295" Top="0" Width="585,82715" Height="22,67718" ShowHint="False" DisplayFormat.FormatStr="%2.2m" DisplayFormat.Kind="fkNumeric" Font.Charset="1" Font.Color="128" Font.Height="-13" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" Frame.Typ="4" HAlign="haRight" ParentFont="False" Text="Total this order: [Sum(&#60;Items.&#34;Qty&#34;&#62;*&#60;Parts.&#34;List Price&#34;&#62;)]"/>
<TfrxMemoView Name="Memo33" Left="642,5201" Top="0" Width="71,81107" Height="22,67718" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Color="12632256" Frame.Typ="2" ParentFont="False" Text=""/>
</TfrxGroupFooter>
<TfrxDetailData Name="DetailData1" Height="0" Left="0" Top="294,80334" Width="755,906" ColumnWidth="0" ColumnGap="0" DataSet="ReportData.OrdersDS" DataSetName="Orders" RowCount="0"/>
<TfrxSubdetailData Name="SubdetailData1" Height="0" Left="0" Top="317,48052" Width="755,906" ColumnWidth="0" ColumnGap="0" DataSet="ReportData.ItemsDS" DataSetName="Items" RowCount="0"/>
<TfrxDataBand4 Name="DataBand41" Height="18,89765" Left="0" Top="340,1577" Width="755,906" ColumnWidth="0" ColumnGap="0" DataSet="ReportData.PartDS" DataSetName="Parts" RowCount="0">
<TfrxMemoView Name="Memo2" Left="3,77952755905512" Top="0" Width="52,91342" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Color="12632256" Frame.Typ="1" ParentFont="False" Text=""/>
<TfrxMemoView Name="Memo23" Left="56,91342" Top="0" Width="71,81107" Height="18,89765" ShowHint="False" DataSet="ReportData.QueryDS" DataSetName="Sales" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haCenter" ParentFont="False" Text="[Parts.&#34;Part No&#34;]"/>
<TfrxMemoView Name="Memo24" Left="128,72449" Top="0" Width="279,68522" Height="18,89765" ShowHint="False" DataSet="ReportData.QueryDS" DataSetName="Sales" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" ParentFont="False" Text="[Parts.&#34;Description&#34;]"/>
<TfrxMemoView Name="Memo25" Left="408,40971" Top="0" Width="83,14966" Height="18,89765" ShowHint="False" DataSet="ReportData.QueryDS" DataSetName="Sales" DisplayFormat.FormatStr="%2.2m" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haRight" ParentFont="False" Text="[Parts.&#34;List Price&#34;]"/>
<TfrxMemoView Name="Memo26" Left="491,55937" Top="0" Width="60,47248" Height="18,89765" ShowHint="False" DataSet="ReportData.QueryDS" DataSetName="Sales" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haCenter" ParentFont="False" Text="[Items.&#34;Qty&#34;]"/>
<TfrxMemoView Name="Memo27" Left="552,03185" Top="0" Width="90,70872" Height="18,89765" ShowHint="False" DisplayFormat.FormatStr="%2.2m" DisplayFormat.Kind="fkNumeric" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haRight" ParentFont="False" Text="[&#60;Items.&#34;Qty&#34;&#62;*&#60;Parts.&#34;List Price&#34;&#62;]"/>
<TfrxMemoView Name="Memo32" Left="642,74057" Top="0" Width="71,81107" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Color="12632256" Frame.Typ="2" ParentFont="False" Text=""/>
</TfrxDataBand4>
</TfrxReportPage>
</TfrxReport>

24
Demos/Main/31.fr3 Normal file
View File

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<TfrxReport Name="" DotMatrixReport="False" EngineOptions.MaxMemSize="10000000" IniFile="\Software\Fast Reports" PreviewOptions.Buttons="2047" PreviewOptions.Zoom="1" PrintOptions.Printer="Default" ReportOptions.CreateDate="37875,5872434375" ReportOptions.Description.Text="New rotation types, fill styles, shadow, shapes." ReportOptions.LastChange="38112,9189174769" ScriptLanguage="PascalScript" ScriptText.Text="begin&#13;&#10;&#13;&#10;end." PropData="044C65667403880003546F7003B0000844617461736574730E00095661726961626C65730E00055374796C650E00">
<TfrxReportPage Name="Page1" PaperWidth="210" PaperHeight="297" PaperSize="9" LeftMargin="10" RightMargin="10" TopMargin="10" BottomMargin="10" ColumnWidth="0" ColumnPositions.Text="" HGuides.Text="" VGuides.Text="">
<TfrxMemoView Name="Memo1" Left="151,1812" Top="37,7953" Width="75,5906" Height="79,37013" Frame.Typ="15" HAlign="haCenter" Memo.Text="Rotated text" Rotation="45" VAlign="vaCenter"/>
<TfrxMemoView Name="Memo2" Left="264,5671" Top="37,7953" Width="75,5906" Height="79,37013" Frame.Typ="15" HAlign="haCenter" Memo.Text="Rotated text" Rotation="90" VAlign="vaCenter"/>
<TfrxMemoView Name="Memo3" Left="377,953" Top="37,7953" Width="75,5906" Height="79,37013" Frame.Typ="15" HAlign="haCenter" Memo.Text="Rotated text" Rotation="180" VAlign="vaCenter"/>
<TfrxMemoView Name="Memo4" Left="491,3389" Top="37,7953" Width="75,5906" Height="79,37013" Frame.Typ="15" HAlign="haCenter" Memo.Text="Rotated text" Rotation="270" VAlign="vaCenter"/>
<TfrxMemoView Name="Memo5" Left="37,7953" Top="188,9765" Width="75,5906" Height="75,5906" BrushStyle="bsHorizontal" Frame.Typ="15" HAlign="haCenter" Memo.Text="New fills" VAlign="vaCenter"/>
<TfrxMemoView Name="Memo6" Left="151,1812" Top="188,9765" Width="75,5906" Height="75,5906" BrushStyle="bsVertical" Frame.Typ="15" HAlign="haCenter" Memo.Text="New fills" VAlign="vaCenter"/>
<TfrxMemoView Name="Memo7" Left="264,5671" Top="188,9765" Width="75,5906" Height="75,5906" BrushStyle="bsFDiagonal" Frame.Typ="15" HAlign="haCenter" Memo.Text="New fills" VAlign="vaCenter"/>
<TfrxMemoView Name="Memo8" Left="377,953" Top="188,9765" Width="75,5906" Height="75,5906" BrushStyle="bsBDiagonal" Frame.Typ="15" HAlign="haCenter" Memo.Text="New fills" VAlign="vaCenter"/>
<TfrxMemoView Name="Memo9" Left="491,3389" Top="188,9765" Width="75,5906" Height="75,5906" BrushStyle="bsCross" Frame.Typ="15" HAlign="haCenter" Memo.Text="New fills" VAlign="vaCenter"/>
<TfrxMemoView Name="Memo10" Left="604,7248" Top="188,9765" Width="75,5906" Height="75,5906" BrushStyle="bsDiagCross" Frame.Typ="15" HAlign="haCenter" Memo.Text="New fills" VAlign="vaCenter"/>
<TfrxMemoView Name="Memo11" Left="94,48825" Top="343,93723" Width="75,5906" Height="75,5906" Frame.DropShadow="True" Frame.ShadowColor="8421504" Frame.Typ="15" HAlign="haCenter" Memo.Text="shadow" VAlign="vaCenter"/>
<TfrxLineView Name="Line1" Left="90,70872" Top="495,11843" Width="75,5906" Height="75,5906" Diagonal="True"/>
<TfrxLineView Name="Line2" Left="166,29932" Top="570,70903" Width="75,5906" Height="-75,5906" Diagonal="True"/>
<TfrxLineView Name="Line3" Left="166,29932" Top="457,32313" Width="75,5906" Height="37,7953" Diagonal="True"/>
<TfrxLineView Name="Line4" Left="90,70872" Top="495,11843" Width="75,5906" Height="-37,7953" Diagonal="True"/>
<TfrxShapeView Name="Shape1" Left="207,87415" Top="343,93723" Width="75,5906" Height="75,5906" Shape="skRoundRectangle"/>
<TfrxShapeView Name="Shape2" Left="321,26005" Top="343,93723" Width="75,5906" Height="75,5906" Shape="skEllipse"/>
<TfrxShapeView Name="Shape3" Left="434,64595" Top="343,93723" Width="75,5906" Height="75,5906" Shape="skTriangle"/>
<TfrxShapeView Name="Shape4" Left="548,03185" Top="343,93723" Width="75,5906" Height="75,5906" Shape="skDiamond"/>
</TfrxReportPage>
</TfrxReport>

13
Demos/Main/32.fr3 Normal file
View File

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<TfrxReport Version="4.11.4" DotMatrixReport="False" IniFile="\Software\Fast Reports" PreviewOptions.Buttons="4095" PreviewOptions.Zoom="1" PrintOptions.Printer="Default" PrintOptions.PrintOnSheet="0" ReportOptions.CreateDate="37875,5945182523" ReportOptions.Description.Text="This report displays simple HTML tags inside a text object.&#13;&#10;To make a text object able to show simple HTML tags, set its AllowHTMLTags property to true." ReportOptions.LastChange="41019,7891795949" ScriptLanguage="PascalScript" ScriptText.Text="procedure Picture1OnBeforePrint(Sender: TfrxComponent);&#13;&#10;begin&#13;&#10; Picture1.FileLink := &#60;wPath&#62; +'awards.png'; &#13;&#10;end;&#13;&#10;&#13;&#10;begin&#13;&#10;&#13;&#10;end." PropData="044C656674025803546F700370010844617461736574730100095661726961626C65730100055374796C650100">
<TfrxDataPage Name="Data" Height="1000" Left="0" Top="0" Width="1000"/>
<TfrxReportPage Name="Page1" PaperWidth="210" PaperHeight="297" PaperSize="9" LeftMargin="10" RightMargin="10" TopMargin="10" BottomMargin="10" ColumnWidth="0" ColumnPositions.Text="" HGuides.Text="" VGuides.Text="">
<TfrxGradientView Name="Gradient2" Left="0" Top="306,14193" Width="718,1107" Height="30,23624" ShowHint="False" BeginColor="17408" EndColor="16777215" Style="gsVertical" Color="8364415"/>
<TfrxGradientView Name="Gradient1" Left="0" Top="3,77953" Width="718,1107" Height="34,01577" ShowHint="False" EndColor="17408" Style="gsVertical" Color="8430208"/>
<TfrxMemoView Name="Memo1" Align="baWidth" Left="0" Top="162,51979" Width="718,1107" Height="137,06308" ShowHint="False" AllowHTMLTags="True" Color="15790320" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Tahoma" Font.Style="0" HAlign="haBlock" ParentFont="False" Text="&#60;b&#62;Best Reporting Tool&#60;/b&#62;&#13;&#10;... It's been a long time coming, but &#60;b&#62;&#60;u&#62;&#60;font color=blue&#62;FastReport&#60;/b&#62;&#60;/u&#62;&#60;/font&#62; (Fast Reports) has finally taken first place (42%)&#13;&#10;&#13;&#10;&#60;b&#62;Product of the Year&#60;/b&#62;&#13;&#10;Surprise! It's another repeat - and another tie. Product of the Year goes to Help &#38; Manual (EC Software) for the second year in a row. This time however, it must share the honor with &#60;b&#62;&#60;u&#62;&#60;font color=blue&#62;FastReport&#60;/b&#62;&#60;/u&#62;&#60;/font&#62; (Fast Reports).&#13;&#10;&#13;&#10;(&#60;b&#62;&#60;u&#62;&#60;font color=blue&#62;Delphi Informant Magazine&#60;/b&#62;&#60;/u&#62;&#60;/font&#62;)"/>
<TfrxMemoView Name="Memo3" Left="0" Top="3,77953" Width="718,1107" Height="30,23624" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-16" Font.Name="Tahoma" Font.Style="1" ParentFont="False" VAlign="vaCenter" Text="What is FastReport®? "/>
<TfrxPictureView Name="Picture1" Align="baCenter" Left="84,55535" Top="37,7953" Width="549" Height="120" OnBeforePrint="Picture1OnBeforePrint" ShowHint="False" AutoSize="True" HightQuality="False" Transparent="False" TransparentColor="16777215"/>
<TfrxMemoView Name="Memo2" Align="baWidth" Left="706,77211" Top="306,14193" Width="11,33859" Height="30,23624" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-16" Font.Name="Tahoma" Font.Style="1" ParentFont="False" VAlign="vaCenter" Text=""/>
<TfrxMemoView Name="Memo4" Left="491,3389" Top="309,92146" Width="215,43321" Height="22,67718" ShowHint="False" URL="http://fast-report.com/en/awards" Font.Charset="1" Font.Color="17408" Font.Height="-13" Font.Name="Arial" Font.Style="5" HAlign="haRight" ParentFont="False" Text="See all our awards"/>
</TfrxReportPage>
</TfrxReport>

55
Demos/Main/33.FR3 Normal file
View File

@ -0,0 +1,55 @@
<?xml version="1.0" encoding="utf-8"?>
<TfrxReport Version="4.11.4" DotMatrixReport="False" IniFile="\Software\Fast Reports" PreviewOptions.Buttons="4095" PreviewOptions.Zoom="1" PrintOptions.Printer="Default" PrintOptions.PrintOnSheet="0" ReportOptions.CreateDate="37871,9959574884" ReportOptions.Description.Text="This report shows how to keep all group records together on the page." ReportOptions.LastChange="41019,9909308912" ScriptLanguage="PascalScript" ScriptText.Text="begin&#13;&#10;&#13;&#10;end." PropData="044C656674025803546F7003700108446174617365747301010C3900000020446174615365743D225265706F7274446174612E437573746F6D65727344532220446174615365744E616D653D22437573746F6D6572732200010C3100000020446174615365743D225265706F7274446174612E4974656D7344532220446174615365744E616D653D224974656D732200010C3300000020446174615365743D225265706F7274446174612E4F726465727344532220446174615365744E616D653D224F72646572732200010C3000000020446174615365743D225265706F7274446174612E5061727444532220446174615365744E616D653D225061727473220000095661726961626C65730100055374796C650100">
<TfrxDataPage Name="Data" Height="1000" Left="0" Top="0" Width="1000"/>
<TfrxReportPage Name="Page1" PaperWidth="210" PaperHeight="297" PaperSize="9" LeftMargin="5" RightMargin="5" TopMargin="5" BottomMargin="5" Columns="1" ColumnWidth="210" ColumnPositions.Text="0" PrintOnPreviousPage="True" HGuides.Text="" VGuides.Text="">
<TfrxPageFooter Name="Band1" Height="22,67718" Left="0" Top="525,35467" Width="755,906">
<TfrxMemoView Name="Memo5" Left="3,77953" Top="3,77953" Width="710,55164" Height="15,11812" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Typ="4" Frame.Width="2" HAlign="haRight" ParentFont="False" Text="[Page#]"/>
</TfrxPageFooter>
<TfrxReportTitle Name="Band2" Height="30,23624" Left="0" Top="18,89765" Width="755,906">
<TfrxMemoView Name="Memo6" Left="3,77953" Top="3,77953" Width="710,55164" Height="22,67718" ShowHint="False" Color="8421504" Font.Charset="1" Font.Color="16777215" Font.Height="-16" Font.Name="Arial" Font.Style="1" HAlign="haCenter" ParentFont="False" Text="Customers"/>
</TfrxReportTitle>
<TfrxPageHeader Name="Band3" Height="22,67718" Left="0" Top="68,03154" Width="755,906" PrintOnFirstPage="False">
<TfrxMemoView Name="Memo16" Left="3,77953" Top="3,77953" Width="710,55164" Height="15,11812" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Typ="4" Frame.Width="2" ParentFont="False" Text=""/>
</TfrxPageHeader>
<TfrxGroupHeader Name="Band4" Height="45,35436" Left="0" Top="151,1812" Width="755,906" Condition="Customers.&#34;Cust No&#34;" KeepTogether="True">
<TfrxGradientView Name="Gradient1" Left="3,77953" Top="0" Width="710,55164" Height="45,35436" ShowHint="False" EndColor="128" Style="gsVertical" Color="8421568"/>
<TfrxMemoView Name="Memo17" Left="3,77953" Top="0" Width="287,24428" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" Frame.Typ="5" GapX="6" ParentFont="False" Text="Company"/>
<TfrxMemoView Name="Memo19" Left="291,02381" Top="0" Width="177,63791" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" Frame.Typ="4" ParentFont="False" Text="Phone"/>
<TfrxMemoView Name="Memo20" Left="468,66172" Top="0" Width="245,66945" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" Frame.Typ="6" ParentFont="False" Text="Fax"/>
<TfrxMemoView Name="Memo21" Left="291,02381" Top="18,89765" Width="177,63791" Height="26,45671" ShowHint="False" Font.Charset="1" Font.Color="16777215" Font.Height="-19" Font.Name="Arial" Font.Style="2" Frame.Color="12632256" ParentFont="False" Text="[Customers.&#34;Phone&#34;]"/>
<TfrxMemoView Name="Memo22" Left="468,66172" Top="18,89765" Width="245,66945" Height="26,45671" ShowHint="False" Font.Charset="1" Font.Color="16777215" Font.Height="-19" Font.Name="Arial" Font.Style="2" Frame.Color="12632256" Frame.Typ="2" ParentFont="False" Text="[Customers.&#34;FAX&#34;]"/>
<TfrxMemoView Name="Memo18" Left="3,77953" Top="18,89765" Width="287,24428" Height="26,45671" ShowHint="False" Font.Charset="1" Font.Color="16777215" Font.Height="-19" Font.Name="Arial" Font.Style="2" Frame.Color="12632256" Frame.Typ="1" GapX="6" ParentFont="False" Text="[Customers.&#34;Company&#34;]"/>
</TfrxGroupHeader>
<TfrxGroupHeader Name="Band5" Height="37,7953" Left="0" Top="215,43321" Width="755,906" Condition="Orders.&#34;Order No&#34;">
<TfrxMemoView Name="Memo3" Left="3,77953" Top="18,89765" Width="52,91342" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Color="12632256" Frame.Typ="1" ParentFont="False" Text=""/>
<TfrxMemoView Name="Memo8" Left="3,77953" Top="0" Width="124,72449" Height="18,89765" ShowHint="False" Color="12632256" Frame.Color="12632256" Frame.Typ="1" GapX="4" Text="Order No [Orders.&#34;Order No&#34;]"/>
<TfrxMemoView Name="Memo9" Left="128,50402" Top="0" Width="585,82715" Height="18,89765" ShowHint="False" Color="12632256" Frame.Color="12632256" Frame.Typ="2" Text="Date [Orders.&#34;Sale Date&#34;]"/>
<TfrxMemoView Name="Memo10" Left="56,69295" Top="18,89765" Width="71,81107" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haCenter" ParentFont="False" Text="Part"/>
<TfrxMemoView Name="Memo11" Left="128,50402" Top="18,89765" Width="279,68522" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haCenter" ParentFont="False" Text="Description"/>
<TfrxMemoView Name="Memo12" Left="408,18924" Top="18,89765" Width="83,14966" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haCenter" ParentFont="False" Text="Price"/>
<TfrxMemoView Name="Memo13" Left="491,3389" Top="18,89765" Width="60,47248" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haCenter" ParentFont="False" Text="Qty"/>
<TfrxMemoView Name="Memo14" Left="551,81138" Top="18,89765" Width="90,70872" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haCenter" ParentFont="False" Text="Total"/>
<TfrxMemoView Name="Memo31" Left="642,5201" Top="18,89765" Width="71,81107" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Color="12632256" Frame.Typ="2" ParentFont="False" Text=""/>
</TfrxGroupHeader>
<TfrxMasterData Name="Band6" Height="0" Left="0" Top="272,12616" Width="755,906" Columns="1" ColumnWidth="200" ColumnGap="20" DataSet="ReportData.CustomersDS" DataSetName="Customers" RowCount="0"/>
<TfrxGroupFooter Name="Band7" Height="30,23624" Left="0" Top="430,86642" Width="755,906">
<TfrxMemoView Name="Memo28" Left="3,77953" Top="0" Width="710,55164" Height="18,89765" ShowHint="False" Color="12632256" DisplayFormat.FormatStr="%2.2m" DisplayFormat.Kind="fkNumeric" Frame.Color="12632256" Frame.Typ="11" Text="Total sales this customer: [Sum(&#60;Items.&#34;Qty&#34;&#62;*&#60;Parts.&#34;List Price&#34;&#62;)]"/>
</TfrxGroupFooter>
<TfrxGroupFooter Name="Band8" Height="22,67718" Left="0" Top="385,51206" Width="755,906">
<TfrxMemoView Name="Memo1" Left="3,77953" Top="0" Width="52,91342" Height="22,67718" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Color="12632256" Frame.Typ="1" ParentFont="False" Text=""/>
<TfrxMemoView Name="Memo15" Left="56,69295" Top="0" Width="585,82715" Height="22,67718" ShowHint="False" DisplayFormat.FormatStr="%2.2m" DisplayFormat.Kind="fkNumeric" Font.Charset="1" Font.Color="128" Font.Height="-13" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" Frame.Typ="4" HAlign="haRight" ParentFont="False" Text="Total this order: [Sum(&#60;Items.&#34;Qty&#34;&#62;*&#60;Parts.&#34;List Price&#34;&#62;)]"/>
<TfrxMemoView Name="Memo33" Left="642,5201" Top="0" Width="71,81107" Height="22,67718" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Color="12632256" Frame.Typ="2" ParentFont="False" Text=""/>
</TfrxGroupFooter>
<TfrxDetailData Name="DetailData1" Height="0" Left="0" Top="294,80334" Width="755,906" ColumnWidth="0" ColumnGap="0" DataSet="ReportData.OrdersDS" DataSetName="Orders" RowCount="0"/>
<TfrxSubdetailData Name="SubdetailData1" Height="0" Left="0" Top="317,48052" Width="755,906" ColumnWidth="0" ColumnGap="0" DataSet="ReportData.ItemsDS" DataSetName="Items" RowCount="0"/>
<TfrxDataBand4 Name="DataBand41" Height="18,89765" Left="0" Top="340,1577" Width="755,906" ColumnWidth="0" ColumnGap="0" DataSet="ReportData.PartDS" DataSetName="Parts" RowCount="0">
<TfrxMemoView Name="Memo2" Left="3,77952755905512" Top="0" Width="52,91342" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Color="12632256" Frame.Typ="1" ParentFont="False" Text=""/>
<TfrxMemoView Name="Memo23" Left="56,91342" Top="0" Width="71,81107" Height="18,89765" ShowHint="False" DataSet="ReportData.QueryDS" DataSetName="Sales" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haCenter" ParentFont="False" Text="[Parts.&#34;Part No&#34;]"/>
<TfrxMemoView Name="Memo24" Left="128,72449" Top="0" Width="279,68522" Height="18,89765" ShowHint="False" DataSet="ReportData.QueryDS" DataSetName="Sales" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" ParentFont="False" Text="[Parts.&#34;Description&#34;]"/>
<TfrxMemoView Name="Memo25" Left="408,40971" Top="0" Width="83,14966" Height="18,89765" ShowHint="False" DataSet="ReportData.QueryDS" DataSetName="Sales" DisplayFormat.FormatStr="%2.2m" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haRight" ParentFont="False" Text="[Parts.&#34;List Price&#34;]"/>
<TfrxMemoView Name="Memo26" Left="491,55937" Top="0" Width="60,47248" Height="18,89765" ShowHint="False" DataSet="ReportData.QueryDS" DataSetName="Sales" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haCenter" ParentFont="False" Text="[Items.&#34;Qty&#34;]"/>
<TfrxMemoView Name="Memo27" Left="552,03185" Top="0" Width="90,70872" Height="18,89765" ShowHint="False" DisplayFormat.FormatStr="%2.2m" DisplayFormat.Kind="fkNumeric" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haRight" ParentFont="False" Text="[&#60;Items.&#34;Qty&#34;&#62;*&#60;Parts.&#34;List Price&#34;&#62;]"/>
<TfrxMemoView Name="Memo32" Left="642,74057" Top="0" Width="71,81107" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Color="12632256" Frame.Typ="2" ParentFont="False" Text=""/>
</TfrxDataBand4>
</TfrxReportPage>
</TfrxReport>

55
Demos/Main/34.FR3 Normal file
View File

@ -0,0 +1,55 @@
<?xml version="1.0" encoding="utf-8"?>
<TfrxReport Version="4.11.4" DotMatrixReport="False" IniFile="\Software\Fast Reports" PreviewOptions.Buttons="4095" PreviewOptions.OutlineVisible="True" PreviewOptions.OutlineWidth="180" PreviewOptions.Zoom="1" PrintOptions.Printer="Default" PrintOptions.PrintOnSheet="0" ReportOptions.CreateDate="37871,9959574884" ReportOptions.Description.Text="This report shows how to put items in the preview outline control. Some bands (all data bands and group headers) have OutlineText property. You can put a value into this property and FR will automatically build a report outline. You can use it for navigation in the preview." ReportOptions.LastChange="41019,9911826389" ScriptLanguage="PascalScript" ScriptText.Text="begin&#13;&#10;&#13;&#10;end." PropData="044C656674025803546F7003700108446174617365747301010C3900000020446174615365743D225265706F7274446174612E437573746F6D65727344532220446174615365744E616D653D22437573746F6D6572732200010C3100000020446174615365743D225265706F7274446174612E4974656D7344532220446174615365744E616D653D224974656D732200010C3300000020446174615365743D225265706F7274446174612E4F726465727344532220446174615365744E616D653D224F72646572732200010C3000000020446174615365743D225265706F7274446174612E5061727444532220446174615365744E616D653D225061727473220000095661726961626C65730100055374796C650100">
<TfrxDataPage Name="Data" Height="1000" Left="0" Top="0" Width="1000"/>
<TfrxReportPage Name="Page1" PaperWidth="210" PaperHeight="297" PaperSize="9" LeftMargin="5" RightMargin="5" TopMargin="5" BottomMargin="5" Columns="1" ColumnWidth="210" ColumnPositions.Text="0" PrintOnPreviousPage="True" HGuides.Text="" VGuides.Text="">
<TfrxPageFooter Name="Band1" Height="22,67718" Left="0" Top="525,35467" Width="755,906">
<TfrxMemoView Name="Memo5" Left="3,77953" Top="3,77953000000002" Width="710,55164" Height="15,11812" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Typ="4" Frame.Width="2" HAlign="haRight" ParentFont="False" Text="[Page#]"/>
</TfrxPageFooter>
<TfrxReportTitle Name="Band2" Height="30,23624" Left="0" Top="18,89765" Width="755,906">
<TfrxMemoView Name="Memo6" Left="3,77953" Top="3,77953" Width="710,55164" Height="22,67718" ShowHint="False" Color="8421504" Font.Charset="1" Font.Color="16777215" Font.Height="-16" Font.Name="Arial" Font.Style="1" HAlign="haCenter" ParentFont="False" Wysiwyg="False" Text="Customers"/>
</TfrxReportTitle>
<TfrxPageHeader Name="Band3" Height="22,67718" Left="0" Top="68,03154" Width="755,906" PrintOnFirstPage="False">
<TfrxMemoView Name="Memo16" Left="3,77953" Top="3,77952999999999" Width="710,55164" Height="15,11812" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Typ="4" Frame.Width="2" ParentFont="False" Text=""/>
</TfrxPageHeader>
<TfrxGroupHeader Name="Band4" Height="45,35436" Left="0" Top="151,1812" Width="755,906" Condition="Customers.&#34;Cust No&#34;" OutlineText="&#60;Customers.&#34;Company&#34;&#62;">
<TfrxGradientView Name="Gradient1" Left="3,77953" Top="0" Width="710,55164" Height="45,35436" ShowHint="False" EndColor="128" Style="gsVertical" Color="8421568"/>
<TfrxMemoView Name="Memo17" Left="3,77953" Top="0" Width="287,24428" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" Frame.Typ="5" GapX="6" ParentFont="False" Wysiwyg="False" Text="Company"/>
<TfrxMemoView Name="Memo19" Left="291,02381" Top="0" Width="177,63791" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" Frame.Typ="4" ParentFont="False" Wysiwyg="False" Text="Phone"/>
<TfrxMemoView Name="Memo20" Left="468,66172" Top="0" Width="245,66945" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" Frame.Typ="6" ParentFont="False" Wysiwyg="False" Text="Fax"/>
<TfrxMemoView Name="Memo21" Left="291,02381" Top="18,89765" Width="177,63791" Height="26,45671" ShowHint="False" Font.Charset="1" Font.Color="16777215" Font.Height="-19" Font.Name="Arial" Font.Style="2" Frame.Color="12632256" ParentFont="False" Wysiwyg="False" Text="[Customers.&#34;Phone&#34;]"/>
<TfrxMemoView Name="Memo22" Left="468,66172" Top="18,89765" Width="245,66945" Height="26,45671" ShowHint="False" Font.Charset="1" Font.Color="16777215" Font.Height="-19" Font.Name="Arial" Font.Style="2" Frame.Color="12632256" Frame.Typ="2" ParentFont="False" Wysiwyg="False" Text="[Customers.&#34;FAX&#34;]"/>
<TfrxMemoView Name="Memo18" Left="3,77953" Top="18,89765" Width="287,24428" Height="26,45671" ShowHint="False" Font.Charset="1" Font.Color="16777215" Font.Height="-19" Font.Name="Arial" Font.Style="2" Frame.Color="12632256" Frame.Typ="1" GapX="6" ParentFont="False" Wysiwyg="False" Text="[Customers.&#34;Company&#34;]"/>
</TfrxGroupHeader>
<TfrxGroupHeader Name="Band5" Height="37,7953" Left="0" Top="215,43321" Width="755,906" Condition="Orders.&#34;Order No&#34;" OutlineText="&#60;Orders.&#34;Order No&#34;&#62;">
<TfrxMemoView Name="Memo3" Left="3,77953" Top="18,89765" Width="52,91342" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Color="12632256" Frame.Typ="1" ParentFont="False" Wysiwyg="False" Text=""/>
<TfrxMemoView Name="Memo8" Left="3,77953" Top="0" Width="124,72449" Height="18,89765" ShowHint="False" Color="12632256" Frame.Color="12632256" Frame.Typ="1" GapX="4" Wysiwyg="False" Text="Order No [Orders.&#34;Order No&#34;]"/>
<TfrxMemoView Name="Memo9" Left="128,50402" Top="0" Width="585,82715" Height="18,89765" ShowHint="False" Color="12632256" Frame.Color="12632256" Frame.Typ="2" Wysiwyg="False" Text="Date [Orders.&#34;Sale Date&#34;]"/>
<TfrxMemoView Name="Memo10" Left="56,69295" Top="18,89765" Width="71,81107" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haCenter" ParentFont="False" Wysiwyg="False" Text="Part"/>
<TfrxMemoView Name="Memo11" Left="128,50402" Top="18,89765" Width="279,68522" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haCenter" ParentFont="False" Wysiwyg="False" Text="Description"/>
<TfrxMemoView Name="Memo12" Left="408,18924" Top="18,89765" Width="83,14966" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haCenter" ParentFont="False" Wysiwyg="False" Text="Price"/>
<TfrxMemoView Name="Memo13" Left="491,3389" Top="18,89765" Width="60,47248" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haCenter" ParentFont="False" Wysiwyg="False" Text="Qty"/>
<TfrxMemoView Name="Memo14" Left="551,81138" Top="18,89765" Width="90,70872" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haCenter" ParentFont="False" Wysiwyg="False" Text="Total"/>
<TfrxMemoView Name="Memo31" Left="642,5201" Top="18,89765" Width="71,81107" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Color="12632256" Frame.Typ="2" ParentFont="False" Wysiwyg="False" Text=""/>
</TfrxGroupHeader>
<TfrxMasterData Name="Band6" Height="0" Left="0" Top="272,12616" Width="755,906" Columns="1" ColumnWidth="200" ColumnGap="20" DataSet="ReportData.CustomersDS" DataSetName="Customers" RowCount="0"/>
<TfrxGroupFooter Name="Band7" Height="30,23624" Left="0" Top="430,86642" Width="755,906">
<TfrxMemoView Name="Memo28" Left="3,77953" Top="0" Width="710,55164" Height="18,89765" ShowHint="False" Color="12632256" DisplayFormat.FormatStr="%2.2m" DisplayFormat.Kind="fkNumeric" Frame.Color="12632256" Frame.Typ="11" Wysiwyg="False" Text="Total sales this customer: [Sum(&#60;Items.&#34;Qty&#34;&#62;*&#60;Parts.&#34;List Price&#34;&#62;)]"/>
</TfrxGroupFooter>
<TfrxGroupFooter Name="Band8" Height="22,67718" Left="0" Top="385,51206" Width="755,906">
<TfrxMemoView Name="Memo1" Left="3,77953" Top="0" Width="52,91342" Height="22,67718" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Color="12632256" Frame.Typ="1" ParentFont="False" Wysiwyg="False" Text=""/>
<TfrxMemoView Name="Memo15" Left="56,69295" Top="0" Width="585,82715" Height="22,67718" ShowHint="False" DisplayFormat.FormatStr="%2.2m" DisplayFormat.Kind="fkNumeric" Font.Charset="1" Font.Color="128" Font.Height="-13" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" Frame.Typ="4" HAlign="haRight" ParentFont="False" Wysiwyg="False" Text="Total this order: [Sum(&#60;Items.&#34;Qty&#34;&#62;*&#60;Parts.&#34;List Price&#34;&#62;)]"/>
<TfrxMemoView Name="Memo33" Left="642,5201" Top="0" Width="71,81107" Height="22,67718" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Color="12632256" Frame.Typ="2" ParentFont="False" Wysiwyg="False" Text=""/>
</TfrxGroupFooter>
<TfrxDetailData Name="DetailData1" Height="0" Left="0" Top="294,80334" Width="755,906" ColumnWidth="0" ColumnGap="0" DataSet="ReportData.OrdersDS" DataSetName="Orders" RowCount="0"/>
<TfrxSubdetailData Name="SubdetailData1" Height="0" Left="0" Top="317,48052" Width="755,906" ColumnWidth="0" ColumnGap="0" DataSet="ReportData.ItemsDS" DataSetName="Items" RowCount="0"/>
<TfrxDataBand4 Name="DataBand41" Height="18,89765" Left="0" Top="340,1577" Width="755,906" ColumnWidth="0" ColumnGap="0" DataSet="ReportData.PartDS" DataSetName="Parts" OutlineText="&#60;Parts.&#34;Description&#34;&#62;" RowCount="0">
<TfrxMemoView Name="Memo2" Left="3,77952755905512" Top="0" Width="52,91342" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Color="12632256" Frame.Typ="1" ParentFont="False" Wysiwyg="False" Text=""/>
<TfrxMemoView Name="Memo23" Left="56,91342" Top="0" Width="71,81107" Height="18,89765" ShowHint="False" DataSet="ReportData.QueryDS" DataSetName="Sales" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haCenter" ParentFont="False" Wysiwyg="False" Text="[Parts.&#34;Part No&#34;]"/>
<TfrxMemoView Name="Memo24" Left="128,72449" Top="0" Width="279,68522" Height="18,89765" ShowHint="False" DataSet="ReportData.QueryDS" DataSetName="Sales" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" ParentFont="False" Wysiwyg="False" Text="[Parts.&#34;Description&#34;]"/>
<TfrxMemoView Name="Memo25" Left="408,40971" Top="0" Width="83,14966" Height="18,89765" ShowHint="False" DataSet="ReportData.QueryDS" DataSetName="Sales" DisplayFormat.FormatStr="%2.2m" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haRight" ParentFont="False" Wysiwyg="False" Text="[Parts.&#34;List Price&#34;]"/>
<TfrxMemoView Name="Memo26" Left="491,55937" Top="0" Width="60,47248" Height="18,89765" ShowHint="False" DataSet="ReportData.QueryDS" DataSetName="Sales" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haCenter" ParentFont="False" Wysiwyg="False" Text="[Items.&#34;Qty&#34;]"/>
<TfrxMemoView Name="Memo27" Left="552,03185" Top="0" Width="90,70872" Height="18,89765" ShowHint="False" DisplayFormat.FormatStr="%2.2m" DisplayFormat.Kind="fkNumeric" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haRight" ParentFont="False" Wysiwyg="False" Text="[&#60;Items.&#34;Qty&#34;&#62;*&#60;Parts.&#34;List Price&#34;&#62;]"/>
<TfrxMemoView Name="Memo32" Left="642,74057" Top="0" Width="71,81107" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Color="12632256" Frame.Typ="2" ParentFont="False" Wysiwyg="False" Text=""/>
</TfrxDataBand4>
</TfrxReportPage>
</TfrxReport>

65
Demos/Main/35.fr3 Normal file
View File

@ -0,0 +1,65 @@
<?xml version="1.0" encoding="utf-8"?>
<TfrxReport Version="4.11.4" DotMatrixReport="False" EngineOptions.DoublePass="True" IniFile="\Software\Fast Reports" PreviewOptions.Buttons="4095" PreviewOptions.Zoom="1" PrintOptions.Printer="Default" PrintOptions.PrintOnSheet="0" ReportOptions.CreateDate="37871,9959574884" ReportOptions.Description.Text="This report demonstrates how to use URLs and anchors.&#13;&#10;&#13;&#10;To assign an URL to an object, just fill in its URL property. If first symbol of this property is '#', this is an anchor (it should be added in the script by Engine.AddAnchor method). First '@' symbol means a page number. Otherwise it is treated as an URL (for example, http://www.someurl.com)." ReportOptions.LastChange="41019,991546088" ScriptLanguage="PascalScript" ScriptText.Text="procedure Band4OnBeforePrint(Sender: TfrxComponent);&#13;&#10;begin&#13;&#10; Engine.AddAnchor(&#60;Customers.&#34;Company&#34;&#62;);&#13;&#10;end;&#13;&#10;&#13;&#10;begin&#13;&#10;&#13;&#10;end." PropData="044C656674025803546F7003700108446174617365747301010C3900000020446174615365743D225265706F7274446174612E437573746F6D65727344532220446174615365744E616D653D22437573746F6D6572732200010C3100000020446174615365743D225265706F7274446174612E4974656D7344532220446174615365744E616D653D224974656D732200010C3300000020446174615365743D225265706F7274446174612E4F726465727344532220446174615365744E616D653D224F72646572732200010C3000000020446174615365743D225265706F7274446174612E5061727444532220446174615365744E616D653D225061727473220000095661726961626C65730100055374796C650100">
<TfrxDataPage Name="Data" Height="1000" Left="0" Top="0" Width="1000"/>
<TfrxReportPage Name="Page2" PaperWidth="210" PaperHeight="297" PaperSize="9" LeftMargin="10" RightMargin="10" TopMargin="10" BottomMargin="10" ColumnWidth="0" ColumnPositions.Text="" HGuides.Text="" VGuides.Text="">
<TfrxGroupHeader Name="GroupHeader1" Height="22,67718" Left="0" Top="151,1812" Width="718,1107" Condition="Customers.&#34;Cust No&#34;">
<TfrxMemoView Name="Memo29" Left="0" Top="0" Width="238,11039" Height="18,89765" ShowHint="False" URL="#[Customers.&#34;Company&#34;]" DataSet="ReportData.QueryDS" DataSetName="Sales" Font.Charset="1" Font.Color="16711680" Font.Height="-13" Font.Name="Arial" Font.Style="5" ParentFont="False" Wysiwyg="False" Text="[Customers.&#34;Company&#34;]"/>
<TfrxMemoView Name="Memo31" Left="355,27582" Top="0" Width="343,93723" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" HAlign="haRight" ParentFont="False" Wysiwyg="False" Text="[Engine.GetAnchorPage(&#60;Customers.&#34;Company&#34;&#62;)]"/>
</TfrxGroupHeader>
<TfrxMasterData Name="MasterData1" Height="0" Left="0" Top="192,75603" Width="718,1107" ColumnWidth="0" ColumnGap="0" DataSet="ReportData.CustomersDS" DataSetName="Customers" RowCount="0"/>
<TfrxReportTitle Name="ReportTitle1" Height="71,81107" Left="0" Top="18,89765" Width="718,1107">
<TfrxMemoView Name="Memo30" Left="0" Top="37,7953" Width="699,21305" Height="26,45671" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-19" Font.Name="Arial" Font.Style="1" HAlign="haCenter" ParentFont="False" Wysiwyg="False" Text="Table of contents"/>
<TfrxMemoView Name="Memo32" Left="385,51206" Top="0" Width="313,70099" Height="18,89765" ShowHint="False" HAlign="haRight" Wysiwyg="False" Text="This report is created in the FastReport"/>
<TfrxMemoView Name="Memo33" Left="385,51206" Top="18,89765" Width="313,70099" Height="18,89765" ShowHint="False" URL="http://www.fast-report.com" Font.Charset="1" Font.Color="16711680" Font.Height="-13" Font.Name="Arial" Font.Style="4" HAlign="haRight" ParentFont="False" Wysiwyg="False" Text="http://www.fast-report.com"/>
</TfrxReportTitle>
</TfrxReportPage>
<TfrxReportPage Name="Page1" PaperWidth="210" PaperHeight="297" PaperSize="9" LeftMargin="5" RightMargin="5" TopMargin="5" BottomMargin="5" Columns="1" ColumnWidth="210" ColumnPositions.Text="0" HGuides.Text="" VGuides.Text="">
<TfrxPageFooter Name="Band1" Height="22,67718" Left="0" Top="480,00031" Width="755,906">
<TfrxMemoView Name="Memo5" Left="109,60637" Top="3,77953000000002" Width="604,7248" Height="15,11812" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Typ="4" Frame.Width="2" HAlign="haRight" ParentFont="False" Text="[Page#]"/>
<TfrxMemoView Name="Memo34" Left="0" Top="3,77953000000002" Width="109,60637" Height="15,11812" ShowHint="False" URL="@1" Font.Charset="1" Font.Color="16711680" Font.Height="-11" Font.Name="Arial" Font.Style="4" Frame.Typ="4" Frame.Width="2" ParentFont="False" Wysiwyg="False" Text="&#60;&#60; back to first page"/>
</TfrxPageFooter>
<TfrxReportTitle Name="Band2" Height="26,45671" Left="0" Top="18,89765" Width="755,906">
<TfrxMemoView Name="Memo6" Left="0" Top="3,77953" Width="714,33117" Height="18,89765" ShowHint="False" Color="8421504" Font.Charset="1" Font.Color="16777215" Font.Height="-16" Font.Name="Arial" Font.Style="1" HAlign="haCenter" ParentFont="False" Wysiwyg="False" Text="Customers"/>
</TfrxReportTitle>
<TfrxGroupHeader Name="Band4" Height="45,35436" Left="0" Top="105,82684" Width="755,906" OnBeforePrint="Band4OnBeforePrint" Condition="Customers.&#34;Cust No&#34;">
<TfrxGradientView Name="Gradient1" Left="3,77953" Top="0" Width="710,55164" Height="45,35436" ShowHint="False" EndColor="128" Style="gsVertical" Color="8421568"/>
<TfrxMemoView Name="Memo17" Left="3,77953" Top="0" Width="287,24428" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" Frame.Typ="5" GapX="6" ParentFont="False" Wysiwyg="False" Text="Company"/>
<TfrxMemoView Name="Memo19" Left="291,02381" Top="0" Width="177,63791" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" Frame.Typ="4" ParentFont="False" Wysiwyg="False" Text="Phone"/>
<TfrxMemoView Name="Memo20" Left="468,66172" Top="0" Width="245,66945" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" Frame.Typ="6" ParentFont="False" Wysiwyg="False" Text="Fax"/>
<TfrxMemoView Name="Memo21" Left="291,02381" Top="18,89765" Width="177,63791" Height="26,45671" ShowHint="False" Font.Charset="1" Font.Color="16777215" Font.Height="-19" Font.Name="Arial" Font.Style="2" Frame.Color="12632256" ParentFont="False" Wysiwyg="False" Text="[Customers.&#34;Phone&#34;]"/>
<TfrxMemoView Name="Memo22" Left="468,66172" Top="18,89765" Width="245,66945" Height="26,45671" ShowHint="False" Font.Charset="1" Font.Color="16777215" Font.Height="-19" Font.Name="Arial" Font.Style="2" Frame.Color="12632256" Frame.Typ="2" ParentFont="False" Wysiwyg="False" Text="[Customers.&#34;FAX&#34;]"/>
<TfrxMemoView Name="Memo18" Left="3,77953" Top="18,89765" Width="287,24428" Height="26,45671" ShowHint="False" Font.Charset="1" Font.Color="16777215" Font.Height="-19" Font.Name="Arial" Font.Style="2" Frame.Color="12632256" Frame.Typ="1" GapX="6" ParentFont="False" Wysiwyg="False" Text="[Customers.&#34;Company&#34;]"/>
</TfrxGroupHeader>
<TfrxGroupHeader Name="Band5" Height="37,7953" Left="0" Top="170,07885" Width="755,906" Condition="Orders.&#34;Order No&#34;">
<TfrxMemoView Name="Memo3" Left="3,77953" Top="18,89765" Width="52,91342" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Color="12632256" Frame.Typ="1" ParentFont="False" Wysiwyg="False" Text=""/>
<TfrxMemoView Name="Memo8" Left="3,77953" Top="0" Width="124,72449" Height="18,89765" ShowHint="False" Color="12632256" Frame.Color="12632256" Frame.Typ="1" GapX="4" Wysiwyg="False" Text="Order No [Orders.&#34;Order No&#34;]"/>
<TfrxMemoView Name="Memo9" Left="128,50402" Top="0" Width="585,82715" Height="18,89765" ShowHint="False" Color="12632256" Frame.Color="12632256" Frame.Typ="2" Wysiwyg="False" Text="Date [Orders.&#34;Sale Date&#34;]"/>
<TfrxMemoView Name="Memo10" Left="56,69295" Top="18,89765" Width="71,81107" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haCenter" ParentFont="False" Wysiwyg="False" Text="Part"/>
<TfrxMemoView Name="Memo11" Left="128,50402" Top="18,89765" Width="279,68522" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haCenter" ParentFont="False" Wysiwyg="False" Text="Description"/>
<TfrxMemoView Name="Memo12" Left="408,18924" Top="18,8976500000001" Width="83,14966" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haCenter" ParentFont="False" Wysiwyg="False" Text="Price"/>
<TfrxMemoView Name="Memo13" Left="491,3389" Top="18,8976500000001" Width="60,47248" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haCenter" ParentFont="False" Wysiwyg="False" Text="Qty"/>
<TfrxMemoView Name="Memo14" Left="551,81138" Top="18,8976500000001" Width="90,70872" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haCenter" ParentFont="False" Wysiwyg="False" Text="Total"/>
<TfrxMemoView Name="Memo1" Left="642,5201" Top="18,8976500000001" Width="71,81107" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Color="12632256" Frame.Typ="2" ParentFont="False" Wysiwyg="False" Text=""/>
</TfrxGroupHeader>
<TfrxMasterData Name="Band6" Height="0" Left="0" Top="226,7718" Width="755,906" Columns="1" ColumnWidth="200" ColumnGap="20" DataSet="ReportData.CustomersDS" DataSetName="Customers" RowCount="0"/>
<TfrxGroupFooter Name="Band7" Height="30,23624" Left="0" Top="385,51206" Width="755,906">
<TfrxMemoView Name="Memo28" Left="3,77953" Top="0" Width="710,55164" Height="18,89765" ShowHint="False" Color="12632256" DisplayFormat.FormatStr="%2.2m" DisplayFormat.Kind="fkNumeric" Frame.Color="12632256" Frame.Typ="11" Wysiwyg="False" Text="Total sales this customer: [Sum(&#60;Items.&#34;Qty&#34;&#62;*&#60;Parts.&#34;List Price&#34;&#62;)]"/>
</TfrxGroupFooter>
<TfrxGroupFooter Name="Band8" Height="22,67718" Left="0" Top="340,1577" Width="755,906">
<TfrxMemoView Name="Memo2" Left="3,77953" Top="0" Width="52,91342" Height="22,67718" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Color="12632256" Frame.Typ="1" ParentFont="False" Wysiwyg="False" Text=""/>
<TfrxMemoView Name="Memo15" Left="56,69295" Top="0" Width="585,82715" Height="22,67718" ShowHint="False" DisplayFormat.FormatStr="%2.2m" DisplayFormat.Kind="fkNumeric" Font.Charset="1" Font.Color="128" Font.Height="-13" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" Frame.Typ="4" HAlign="haRight" ParentFont="False" Wysiwyg="False" Text="Total this order: [Sum(&#60;Items.&#34;Qty&#34;&#62;*&#60;Parts.&#34;List Price&#34;&#62;)]"/>
<TfrxMemoView Name="Memo4" Left="642,5201" Top="0" Width="71,81107" Height="22,67718" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Color="12632256" Frame.Typ="2" ParentFont="False" Wysiwyg="False" Text=""/>
</TfrxGroupFooter>
<TfrxDetailData Name="DetailData1" Height="0" Left="0" Top="249,44898" Width="755,906" ColumnWidth="0" ColumnGap="0" DataSet="ReportData.OrdersDS" DataSetName="Orders" RowCount="0"/>
<TfrxSubdetailData Name="SubdetailData1" Height="0" Left="0" Top="272,12616" Width="755,906" ColumnWidth="0" ColumnGap="0" DataSet="ReportData.ItemsDS" DataSetName="Items" RowCount="0"/>
<TfrxDataBand4 Name="DataBand41" Height="18,89765" Left="0" Top="294,80334" Width="755,906" ColumnWidth="0" ColumnGap="0" DataSet="ReportData.PartDS" DataSetName="Parts" RowCount="0">
<TfrxMemoView Name="Memo7" Left="3,77952755905512" Top="0" Width="52,91342" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Color="12632256" Frame.Typ="1" ParentFont="False" Wysiwyg="False" Text=""/>
<TfrxMemoView Name="Memo23" Left="56,91342" Top="0" Width="71,81107" Height="18,89765" ShowHint="False" DataSet="ReportData.QueryDS" DataSetName="Sales" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haCenter" ParentFont="False" Wysiwyg="False" Text="[Parts.&#34;Part No&#34;]"/>
<TfrxMemoView Name="Memo24" Left="128,72449" Top="0" Width="279,68522" Height="18,89765" ShowHint="False" DataSet="ReportData.QueryDS" DataSetName="Sales" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" ParentFont="False" Wysiwyg="False" Text="[Parts.&#34;Description&#34;]"/>
<TfrxMemoView Name="Memo25" Left="408,40971" Top="0" Width="83,14966" Height="18,89765" ShowHint="False" DataSet="ReportData.QueryDS" DataSetName="Sales" DisplayFormat.FormatStr="%2.2m" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haRight" ParentFont="False" Wysiwyg="False" Text="[Parts.&#34;List Price&#34;]"/>
<TfrxMemoView Name="Memo26" Left="491,55937" Top="0" Width="60,47248" Height="18,89765" ShowHint="False" DataSet="ReportData.QueryDS" DataSetName="Sales" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haCenter" ParentFont="False" Wysiwyg="False" Text="[Items.&#34;Qty&#34;]"/>
<TfrxMemoView Name="Memo27" Left="552,03185" Top="0" Width="90,70872" Height="18,89765" ShowHint="False" DisplayFormat.FormatStr="%2.2m" DisplayFormat.Kind="fkNumeric" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haRight" ParentFont="False" Wysiwyg="False" Text="[&#60;Items.&#34;Qty&#34;&#62;*&#60;Parts.&#34;List Price&#34;&#62;]"/>
<TfrxMemoView Name="Memo16" Left="642,74057" Top="0" Width="71,81107" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Color="12632256" Frame.Typ="2" ParentFont="False" Wysiwyg="False" Text=""/>
</TfrxDataBand4>
</TfrxReportPage>
</TfrxReport>

19
Demos/Main/36.fr3 Normal file
View File

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<TfrxReport Name="" Version="3.20" DotMatrixReport="False" EngineOptions.DoublePass="True" EngineOptions.UseFileCache="True" IniFile="\Software\Fast Reports" PreviewOptions.Buttons="4095" PreviewOptions.OutlineWidth="180" PreviewOptions.Zoom="1" PrintOptions.Printer="Default" ReportOptions.Author="FastReport" ReportOptions.ConnectionName="FR Demo Base" ReportOptions.CreateDate="37871,9953986921" ReportOptions.Description.Text="Demonstrates how to create simple unicode report." ReportOptions.Name="Unicode report" ReportOptions.LastChange="38804,0465254861" ScriptLanguage="PascalScript" ScriptText.Text="begin&#13;&#10;&#13;&#10;end." OnStartReport="frxReport1OnStartReport" PropData="08446174617365747301010C2800000020446174615365743D22556E69636F64652220446174615365744E616D653D22556E69636F6465220000095661726961626C657301010C0F000000204E616D653D22204D79566172732200010C0E000000204E616D653D22506172616D312200010C0E000000204E616D653D22506172616D322200010C11000000204E616D653D222044617461626173652200010C2C000000204E616D653D2250617468546F4461746142617365222056616C75653D22272E2E5C64656D6F2E6D646227220000055374796C650100">
<TfrxReportPage Name="Page1" PaperWidth="210" PaperHeight="297" PaperSize="9" LeftMargin="10" RightMargin="10" TopMargin="10" BottomMargin="10" Columns="1" ColumnWidth="210" ColumnPositions.Text="0" PrintOnPreviousPage="True" HGuides.Text="" VGuides.Text="">
<TfrxReportTitle Name="Band1" Height="26,45671" Left="0" Top="18,89765" Width="718,1107">
<TfrxMemoView Name="Memo1" Align="baWidth" Left="0" Top="3,77953" Width="718,1107" Height="22,67718" Color="8421376" Font.Charset="1" Font.Color="16777215" Font.Height="-16" Font.Name="Arial" Font.Style="1" HAlign="haCenter" ParentFont="False" VAlign="vaCenter" Text="Unicode example"/>
</TfrxReportTitle>
<TfrxPageHeader Name="Band2" Height="34,01577" Left="0" Top="68,03154" Width="718,1107">
<TfrxMemoView Name="Memo4" Align="baRight" Left="370,39394" Top="7,55906" Width="347,71676" Height="18,89765" Color="16777215" Font.Charset="1" Font.Color="128" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Typ="8" ParentFont="False" Text="Value"/>
<TfrxMemoView Name="Memo3" Align="baLeft" Left="0" Top="7,55906" Width="362,83488" Height="18,89765" Color="16777215" Font.Charset="1" Font.Color="128" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Typ="8" ParentFont="False" Text="Description"/>
</TfrxPageHeader>
<TfrxPageFooter Name="Band3" Height="26,45671" Left="0" Top="245,66945" Width="718,1107">
<TfrxMemoView Name="Memo2" Align="baWidth" Left="0" Top="7,55905999999999" Width="718,1107" Height="15,11812" Color="16777215" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Typ="4" Frame.Width="2" HAlign="haRight" ParentFont="False" Text="Page [Page] of [TotalPages]"/>
</TfrxPageFooter>
<TfrxMasterData Name="Band4" Height="22,67718" Left="0" Top="162,51979" Width="718,1107" Columns="1" ColumnWidth="200" ColumnGap="20" DataSet="Unicode" DataSetName="Unicode" RowCount="0">
<TfrxMemoView Name="Memo9" Align="baRight" Left="366,61441" Top="0" Width="351,49629" Height="18,89765" DataField="Value" DataSet="Unicode" DataSetName="Unicode" Text="[Unicode.&#34;Value&#34;]"/>
<TfrxMemoView Name="Memo8" Align="baLeft" Left="0" Top="0" Width="359,05535" Height="18,89765" DataSet="Unicode" DataSetName="Unicode" Text="[Unicode.&#34;Description&#34;]"/>
</TfrxMasterData>
</TfrxReportPage>
</TfrxReport>

54
Demos/Main/4.FR3 Normal file
View File

@ -0,0 +1,54 @@
<?xml version="1.0" encoding="utf-8"?>
<TfrxReport Version="4.11.4" DotMatrixReport="False" IniFile="\Software\Fast Reports" PreviewOptions.Buttons="4095" PreviewOptions.Zoom="1" PrintOptions.Printer="Default" PrintOptions.PrintOnSheet="0" ReportOptions.CreateDate="37871,9961568403" ReportOptions.Description.Text="Demonstrates how to create Master/Detail/SubDetail report. This report contains three data-bands which are connected to datasets." ReportOptions.LastChange="41019,9902173032" ScriptLanguage="PascalScript" ScriptText.Text="begin&#13;&#10;&#13;&#10;end." PropData="044C656674025803546F7003700108446174617365747301010C3900000020446174615365743D225265706F7274446174612E437573746F6D65727344532220446174615365744E616D653D22437573746F6D6572732200010C3100000020446174615365743D225265706F7274446174612E4974656D7344532220446174615365744E616D653D224974656D732200010C3300000020446174615365743D225265706F7274446174612E4F726465727344532220446174615365744E616D653D224F72646572732200010C3000000020446174615365743D225265706F7274446174612E5061727444532220446174615365744E616D653D225061727473220000095661726961626C65730100055374796C650100">
<TfrxDataPage Name="Data" Height="1000" Left="0" Top="0" Width="1000"/>
<TfrxReportPage Name="Page1" PaperWidth="210" PaperHeight="297" PaperSize="9" LeftMargin="5" RightMargin="5" TopMargin="5" BottomMargin="5" Columns="1" ColumnWidth="210" ColumnPositions.Text="0" PrintOnPreviousPage="True" HGuides.Text="" VGuides.Text="">
<TfrxPageFooter Name="Band1" Height="22,67718" Left="0" Top="423,30736" Width="755,906">
<TfrxMemoView Name="Memo5" Left="3,77953" Top="3,77953000000008" Width="706,77211" Height="15,11812" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Typ="4" Frame.Width="2" HAlign="haRight" ParentFont="False" Text="[Page#]"/>
</TfrxPageFooter>
<TfrxReportTitle Name="Band2" Height="30,23624" Left="0" Top="18,89765" Width="755,906">
<TfrxMemoView Name="Memo6" Left="3,77953" Top="3,77953" Width="706,77211" Height="22,67718" ShowHint="False" Color="8421504" Font.Charset="1" Font.Color="16777215" Font.Height="-16" Font.Name="Arial" Font.Style="1" HAlign="haCenter" ParentFont="False" Wysiwyg="False" Text="Customers"/>
</TfrxReportTitle>
<TfrxMasterData Name="Band4" Height="45,35436" Left="0" Top="105,82684" Width="755,906" Columns="1" ColumnWidth="200" ColumnGap="20" DataSet="ReportData.CustomersDS" DataSetName="Customers" RowCount="0">
<TfrxGradientView Name="Gradient1" Left="3,77953" Top="0" Width="706,77211" Height="45,35436" ShowHint="False" EndColor="128" Style="gsVertical" Color="8421568"/>
<TfrxMemoView Name="Memo23" Left="11,33859" Top="0" Width="283,46475" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" Frame.Typ="4" ParentFont="False" Wysiwyg="False" VAlign="vaBottom" Text="Company"/>
<TfrxMemoView Name="Memo24" Left="11,33859" Top="18,89765" Width="283,46475" Height="26,45671" ShowHint="False" DataField="Company" DataSet="ReportData.CustomersDS" DataSetName="Customers" Font.Charset="1" Font.Color="16777215" Font.Height="-19" Font.Name="Arial" Font.Style="2" Frame.Color="12632256" ParentFont="False" Wysiwyg="False" VAlign="vaBottom" Text="[Customers.&#34;Company&#34;]"/>
<TfrxMemoView Name="Memo25" Left="294,80334" Top="0" Width="173,85838" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" Frame.Typ="4" ParentFont="False" Wysiwyg="False" VAlign="vaBottom" Text="Phone"/>
<TfrxMemoView Name="Memo26" Left="468,66172" Top="0" Width="162,51979" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" Frame.Typ="4" ParentFont="False" Wysiwyg="False" VAlign="vaBottom" Text="Fax"/>
<TfrxMemoView Name="Memo27" Left="294,80334" Top="18,89765" Width="173,85838" Height="26,45671" ShowHint="False" DataField="Phone" DataSet="ReportData.CustomersDS" DataSetName="Customers" Font.Charset="1" Font.Color="16777215" Font.Height="-19" Font.Name="Arial" Font.Style="2" Frame.Color="12632256" ParentFont="False" Wysiwyg="False" VAlign="vaBottom" Text="[Customers.&#34;Phone&#34;]"/>
<TfrxMemoView Name="Memo28" Left="468,66172" Top="18,89765" Width="162,51979" Height="26,45671" ShowHint="False" DataField="FAX" DataSet="ReportData.CustomersDS" DataSetName="Customers" Font.Charset="1" Font.Color="16777215" Font.Height="-19" Font.Name="Arial" Font.Style="2" Frame.Color="12632256" ParentFont="False" Wysiwyg="False" VAlign="vaBottom" Text="[Customers.&#34;FAX&#34;]"/>
<TfrxMemoView Name="Memo29" Left="631,18151" Top="0" Width="79,37013" Height="45,35436" ShowHint="False" Font.Charset="1" Font.Color="16777215" Font.Height="-19" Font.Name="Arial" Font.Style="3" Frame.Color="12632256" Frame.Typ="6" ParentFont="False" VAlign="vaCenter" Text=""/>
<TfrxMemoView Name="Memo7" Left="3,77953" Top="0" Width="7,55906" Height="45,35436" ShowHint="False" Font.Charset="1" Font.Color="16777215" Font.Height="-19" Font.Name="Arial" Font.Style="3" Frame.Color="12632256" Frame.Typ="5" ParentFont="False" VAlign="vaCenter" Text=""/>
</TfrxMasterData>
<TfrxDetailData Name="Band5" Height="18,89765" Left="0" Top="170,07885" Width="755,906" Columns="1" ColumnWidth="200" ColumnGap="20" DataSet="ReportData.OrdersDS" DataSetName="Orders" RowCount="0">
<TfrxMemoView Name="Memo4" Left="3,77953" Top="0" Width="3,77953" Height="18,89765" ShowHint="False" Color="12632256" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Color="12632256" Frame.Typ="1" ParentFont="False" Wysiwyg="False" Text=""/>
<TfrxMemoView Name="Memo8" Left="7,55906" Top="0" Width="117,16543" Height="18,89765" ShowHint="False" Color="12632256" Wysiwyg="False" Text="Order No [Orders.&#34;Order No&#34;]"/>
<TfrxMemoView Name="Memo9" Left="124,72449" Top="0" Width="585,82715" Height="18,89765" ShowHint="False" Color="12632256" Frame.Color="12632256" Frame.Typ="2" Wysiwyg="False" Text="Date [Orders.&#34;Sale Date&#34;]"/>
</TfrxDetailData>
<TfrxFooter Name="Band6" Height="26,45671" Left="0" Top="215,43321" Width="755,906">
<TfrxMemoView Name="Memo10" Left="3,77953" Top="0" Width="706,77211" Height="18,89765" ShowHint="False" Color="12632256" DisplayFormat.FormatStr="%2.2m" DisplayFormat.Kind="fkNumeric" Frame.Color="12632256" Frame.Typ="11" Wysiwyg="False" Text="Total sales this customer: [Sum(&#60;Items.&#34;Qty&#34;&#62;*&#60;Parts.&#34;Cost&#34;&#62;, Band8)]"/>
</TfrxFooter>
<TfrxHeader Name="Band7" Height="18,89765" Left="0" Top="260,78757" Width="755,906">
<TfrxMemoView Name="Memo3" Left="3,77953" Top="0" Width="41,57483" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Color="12632256" Frame.Typ="1" ParentFont="False" Wysiwyg="False" Text=""/>
<TfrxMemoView Name="Memo11" Left="45,35436" Top="0" Width="56,69295" Height="15,11812" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" HAlign="haCenter" ParentFont="False" Wysiwyg="False" Text="Part"/>
<TfrxMemoView Name="Memo12" Left="109,60637" Top="0" Width="226,7718" Height="15,11812" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" HAlign="haCenter" ParentFont="False" Wysiwyg="False" Text="Description"/>
<TfrxMemoView Name="Memo13" Left="343,93723" Top="0" Width="79,37013" Height="15,11812" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" HAlign="haCenter" ParentFont="False" Wysiwyg="False" Text="Price"/>
<TfrxMemoView Name="Memo14" Left="430,86642" Top="0" Width="56,69295" Height="15,11812" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" HAlign="haCenter" ParentFont="False" Wysiwyg="False" Text="Qty"/>
<TfrxMemoView Name="Memo15" Left="495,11843" Top="0" Width="79,37013" Height="15,11812" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" HAlign="haCenter" ParentFont="False" Wysiwyg="False" Text="Total"/>
<TfrxMemoView Name="Memo30" Left="574,48856" Top="0" Width="136,06308" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Color="12632256" Frame.Typ="2" ParentFont="False" Wysiwyg="False" Text=""/>
</TfrxHeader>
<TfrxSubdetailData Name="Band8" Height="15,11812" Left="0" Top="306,14193" Width="755,906" Columns="1" ColumnWidth="200" ColumnGap="20" DataSet="ReportData.ItemsDS" DataSetName="Items" RowCount="0">
<TfrxMemoView Name="Memo2" Left="3,77953" Top="0" Width="41,57483" Height="15,11812" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Color="12632256" Frame.Typ="1" ParentFont="False" Wysiwyg="False" Text=""/>
<TfrxMemoView Name="Memo16" Left="45,35436" Top="0" Width="56,69295" Height="15,11812" ShowHint="False" DataField="Part No" DataSet="ReportData.PartDS" DataSetName="Parts" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" HAlign="haCenter" ParentFont="False" Wysiwyg="False" Text="[Parts.&#34;Part No&#34;]"/>
<TfrxMemoView Name="Memo17" Left="109,60637" Top="0" Width="226,7718" Height="15,11812" ShowHint="False" DataField="Description" DataSet="ReportData.PartDS" DataSetName="Parts" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" ParentFont="False" Wysiwyg="False" Text="[Parts.&#34;Description&#34;]"/>
<TfrxMemoView Name="Memo18" Left="343,93723" Top="0" Width="79,37013" Height="15,11812" ShowHint="False" DataField="Cost" DataSet="ReportData.PartDS" DataSetName="Parts" DisplayFormat.FormatStr="%2.2m" DisplayFormat.Kind="fkNumeric" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" HAlign="haRight" ParentFont="False" Wysiwyg="False" Text="[Parts.&#34;Cost&#34;]"/>
<TfrxMemoView Name="Memo19" Left="430,86642" Top="0" Width="56,69295" Height="15,11812" ShowHint="False" DataField="Qty" DataSet="ReportData.ItemsDS" DataSetName="Items" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" HAlign="haCenter" ParentFont="False" Wysiwyg="False" Text="[Items.&#34;Qty&#34;]"/>
<TfrxMemoView Name="Memo20" Left="495,11843" Top="0" Width="79,37013" Height="15,11812" ShowHint="False" DisplayFormat.FormatStr="%2.2m" DisplayFormat.Kind="fkNumeric" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" HAlign="haRight" ParentFont="False" Wysiwyg="False" Text="[&#60;Items.&#34;Qty&#34;&#62;*&#60;Parts.&#34;Cost&#34;&#62;]"/>
<TfrxMemoView Name="Memo31" Left="574,48856" Top="0" Width="136,06308" Height="15,11812" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Color="12632256" Frame.Typ="2" ParentFont="False" Wysiwyg="False" Text=""/>
</TfrxSubdetailData>
<TfrxFooter Name="Band9" Height="22,67718" Left="0" Top="340,1577" Width="755,906">
<TfrxMemoView Name="Memo1" Left="3,77953" Top="0" Width="41,57483" Height="22,67718" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Color="12632256" Frame.Typ="1" ParentFont="False" Wysiwyg="False" Text=""/>
<TfrxMemoView Name="Memo21" Left="45,35436" Top="0" Width="529,1342" Height="18,89765" ShowHint="False" DisplayFormat.FormatStr="%2.2m" DisplayFormat.Kind="fkNumeric" Font.Charset="1" Font.Color="128" Font.Height="-13" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" Frame.Typ="4" HAlign="haRight" ParentFont="False" Wysiwyg="False" Text="Total this order: [Sum(&#60;Items.&#34;Qty&#34;&#62;*&#60;Parts.&#34;Cost&#34;&#62;, Band8)]"/>
<TfrxMemoView Name="Memo32" Left="574,48856" Top="0" Width="136,06308" Height="22,67718" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Color="12632256" Frame.Typ="2" ParentFont="False" Wysiwyg="False" Text=""/>
</TfrxFooter>
</TfrxReportPage>
</TfrxReport>

11
Demos/Main/41.FR3 Normal file
View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<TfrxReport Name="" DotMatrixReport="False" EngineOptions.MaxMemSize="10000000" IniFile="\Software\Fast Reports" PreviewOptions.Buttons="2047" PreviewOptions.Zoom="1" PrintOptions.Printer="Default" ReportOptions.CreateDate="37875,6208219213" ReportOptions.Description.Text="Demonstrates how to add a dialog form to the report.&#13;&#10;If you press OK button you will see the report. Otherwise report will be cancelled." ReportOptions.LastChange="38344,7228706366" ScriptLanguage="PascalScript" ScriptText.Text="procedure Label2OnClick(Sender: TfrxComponent);&#13;&#10;begin&#13;&#10;&#13;&#10;end;&#13;&#10;&#13;&#10;begin&#13;&#10;&#13;&#10;end." PropData="044C65667403880003546F7003B0000844617461736574730100095661726961626C65730100055374796C650100">
<TfrxDialogPage Name="DialogPage1" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Tahoma" Font.Style="0" BorderStyle="bsSingle" Height="139" Left="265" Top="150" Width="300">
<TfrxButtonControl Name="Button1" Left="68" Top="64" Width="75" Height="25" Caption="OK" ModalResult="1"/>
<TfrxLabelControl Name="Label1" Left="104" Top="28" Width="84" Height="13" Alignment="taCenter" Caption="Hello FastReport!" Color="-2147483633"/>
<TfrxButtonControl Name="Button2" Left="148" Top="64" Width="75" Height="25" Caption="Cancel" ModalResult="2"/>
</TfrxDialogPage>
<TfrxReportPage Name="Page1" PaperWidth="210" PaperHeight="297" PaperSize="9" LeftMargin="10" RightMargin="10" TopMargin="10" BottomMargin="10" ColumnWidth="0" ColumnPositions.Text="" HGuides.Text="" VGuides.Text="">
<TfrxMemoView Name="Memo1" Left="75,5906" Top="37,7953" Width="566,9295" Height="37,7953" Font.Charset="1" Font.Color="0" Font.Height="-16" Font.Name="Arial" Font.Style="1" HAlign="haCenter" Memo.Text="THE REPORT" ParentFont="False"/>
</TfrxReportPage>
</TfrxReport>

13
Demos/Main/42.FR3 Normal file
View File

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<TfrxReport Name="" DotMatrixReport="False" EngineOptions.MaxMemSize="10000000" IniFile="\Software\Fast Reports" PreviewOptions.Buttons="2047" PreviewOptions.Zoom="1" PrintOptions.Printer="Default" ReportOptions.CreateDate="37875,6208219213" ReportOptions.Description.Text="Demonstrates how to pass a parameter from dialog form to the report." ReportOptions.LastChange="38344,7227262268" ScriptLanguage="PascalScript" ScriptText.Text="begin&#13;&#10;&#13;&#10;end." PropData="044C65667403880003546F7003B0000844617461736574730100095661726961626C65730100055374796C650100">
<TfrxDialogPage Name="DialogPage1" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Tahoma" Font.Style="0" BorderStyle="bsSingle" Height="139" Left="265" Top="150" Width="300">
<TfrxButtonControl Name="Button1" Left="68" Top="64" Width="75" Height="25" Caption="OK" ModalResult="1"/>
<TfrxButtonControl Name="Button2" Left="148" Top="64" Width="75" Height="25" Caption="Cancel" ModalResult="2"/>
<TfrxLabelControl Name="Label1" Left="12" Top="12" Width="95" Height="13" Caption="Print any text here:" Color="-2147483633"/>
<TfrxEditControl Name="Edit1" Left="112" Top="8" Width="169" Height="21" Color="-2147483643" MaxLength="0" PasswordChar="0" Text=" "/>
<TfrxLabelControl Name="Label2" Left="112" Top="32" Width="170" Height="13" Caption="it will be displayed in the report title" Color="-2147483633"/>
</TfrxDialogPage>
<TfrxReportPage Name="Page1" PaperWidth="210" PaperHeight="297" PaperSize="9" LeftMargin="10" RightMargin="10" TopMargin="10" BottomMargin="10" ColumnWidth="0" ColumnPositions.Text="" HGuides.Text="" VGuides.Text="">
<TfrxMemoView Name="Memo1" Left="75,5906" Top="37,7953" Width="566,9295" Height="45,35436" Font.Charset="1" Font.Color="0" Font.Height="-16" Font.Name="Arial" Font.Style="1" HAlign="haCenter" Memo.Text="The text you've entered:&#13;&#10;[Edit1.Text]" ParentFont="False"/>
</TfrxReportPage>
</TfrxReport>

15
Demos/Main/43.FR3 Normal file
View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<TfrxReport Version="2.0" DotMatrixReport="False" PreviewOptions.Buttons="4095" PreviewOptions.Zoom="1" PrintOptions.Printer="Default" PrintOptions.PrintOnSheet="0" ReportOptions.CreateDate="37875,6208219213" ReportOptions.Description.Text="Demonstrates simple script that enables or disables some controls depending on state of another controls.&#10;" ReportOptions.LastChange="44071,8018407639" ReportOptions.IsFMXReport="True" ScriptLanguage="PascalScript" ScriptText.Text="procedure CheckBox1OnChange(Sender: TfrxComponent);&#10;begin&#10; Edit1.Enabled := CheckBox1.Checked;&#10;end;&#10;&#10;procedure CheckBox2OnChange(Sender: TfrxComponent);&#10;begin&#10; Edit2.Enabled := CheckBox2.Checked;&#10;end;&#10;&#10;begin&#10;&#10;end.&#10;" PropData="0844617461736574730100095661726961626C65730100055374796C650100">
<TfrxDataPage Name="Data" Height="1000" Left="0" Top="0" Width="1000"/>
<TfrxDialogPage Name="DialogPage1" Font.Name="Tahoma" Font.PixelsPerInch="96" Font.Style="0" Font.Color="0" Font.Height="-11" Color="-657931" Height="165" ClientHeight="165" Left="265" Top="150" Width="300" ClientWidth="300">
<TfrxButtonControl Name="Button1" Left="68" Top="96" Width="75" Height="25" ShowHint="False" Caption="OK" ModalResult="1"/>
<TfrxButtonControl Name="Button2" Left="148" Top="96" Width="75" Height="25" ShowHint="False" Caption="Cancel" ModalResult="2"/>
<TfrxCheckBoxControl Name="CheckBox1" Left="8" Top="12" Width="97" Height="17" ShowHint="False" Caption="Enable Edit1" Checked="True" OnChange="CheckBox1OnChange"/>
<TfrxCheckBoxControl Name="CheckBox2" Left="8" Top="48" Width="97" Height="17" ShowHint="False" Caption="Enable Edit2" Checked="True" OnChange="CheckBox2OnChange" OnClick="CheckBox2OnClick"/>
<TfrxEditControl Name="Edit1" Left="120" Top="12" Width="121" Height="21" ShowHint="False" MaxLength="0" PasswordChar="45" Text="Edit1"/>
<TfrxEditControl Name="Edit2" Left="120" Top="48" Width="121" Height="21" ShowHint="False" MaxLength="0" PasswordChar="45" Text="Edit2"/>
</TfrxDialogPage>
<TfrxReportPage Name="Page1" PaperWidth="210" PaperHeight="297" PaperSize="9" LeftMargin="10" RightMargin="10" TopMargin="10" BottomMargin="10" ColumnWidth="0" ColumnPositions.Text="" Frame.Color="-16777216" Frame.ShadowColor="-16777216" HGuides.Text="" VGuides.Text="">
<TfrxMemoView Name="Memo1" Left="75,5906" Top="37,7953" Width="566,9295" Height="37,7953" ShowHint="False" Font.Name="Arial" Font.PixelsPerInch="96" Font.Style="1" Font.Color="-16777216" Font.Height="-16" Frame.Color="-16777216" Frame.ShadowColor="-16777216" HAlign="haCenter" ParentFont="False" Text="THE REPORT"/>
</TfrxReportPage>
</TfrxReport>

14
Demos/Main/5.FR3 Normal file
View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<TfrxReport Name="" Version="3.21" DotMatrixReport="False" IniFile="\Software\Fast Reports" PreviewOptions.Buttons="4095" PreviewOptions.Zoom="1" PrintOptions.Printer="Default" ReportOptions.CreateDate="37871,996337662" ReportOptions.Description.Text="Demonstrates how to create Master/Detail/Detail reports. Just put on the page one MasterData band and two DetailData bands and connect each of them to the appropriate dataset. Of course, you can create Master/Master, Master/Detail/Detail/Detail and other reports with the same way." ReportOptions.LastChange="38842,9283153009" ScriptLanguage="PascalScript" ScriptText.Text="begin&#13;&#10;&#13;&#10;end." PropData="044C65667403880003546F7003B0000844617461736574730100095661726961626C657301010C14000000204E616D653D22204465736372697074696F6E2200010C35010000204E616D653D224465736372697074696F6E222056616C75653D2244656D6F6E7374726174657320686F7720746F20637265617465204D61737465722F44657461696C2F44657461696C207265706F7274732E204A75737420707574206F6E207468652070616765206F6E65204D6173746572446174612062616E6420616E642074776F2044657461696C446174612062616E647320616E6420636F6E6E6563742065616368206F66207468656D20746F2074686520617070726F70726961746520646174617365742E204F6620636F757273652C20796F752063616E20637265617465204D61737465722F4D61737465722C204D61737465722F44657461696C2F44657461696C2F44657461696C20616E64206F74686572207265706F7274732077697468207468652073616D65207761792E220000055374796C650100">
<TfrxReportPage Name="Page1" PaperWidth="210" PaperHeight="297" PaperSize="9" LeftMargin="5" RightMargin="5" TopMargin="5" BottomMargin="5" Columns="1" ColumnWidth="210" ColumnPositions.Text="0" HGuides.Text="" VGuides.Text="">
<TfrxMasterData Name="Band2" Height="18,89765" Left="0" Top="18,89765" Width="755,906" Columns="1" ColumnWidth="200" ColumnGap="20" RowCount="5">
<TfrxMemoView Name="Memo2" Left="3,77953" Top="0" Width="710,55164" Height="18,89765" Color="128" Font.Charset="1" Font.Color="16777215" Font.Height="-13" Font.Name="Arial" Font.Style="0" ParentFont="False" Text="[LINE#]. master"/>
</TfrxMasterData>
<TfrxDetailData Name="Band4" Height="22,67718" Left="0" Top="71,81107" Width="755,906" Columns="1" ColumnWidth="200" ColumnGap="20" RowCount="6">
<TfrxMemoView Name="Memo4" Left="3,77953" Top="0" Width="245,66945" Height="18,89765" Color="13421772" Text="[LINE#]. detail1"/>
</TfrxDetailData>
<TfrxDetailData Name="Band5" Height="41,57483" Left="0" Top="128,50402" Width="755,906" Columns="1" ColumnWidth="200" ColumnGap="20" RowCount="4">
<TfrxMemoView Name="Memo5" Left="3,77953" Top="0" Width="245,66945" Height="37,7953" Color="15000804" Text="[LINE#]. detail2"/>
</TfrxDetailData>
</TfrxReportPage>
</TfrxReport>

26
Demos/Main/6.FR3 Normal file
View File

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<TfrxReport Version="4.9" DotMatrixReport="False" IniFile="\Software\Fast Reports" PreviewOptions.Buttons="4095" PreviewOptions.Zoom="1" PrintOptions.Printer="Default" PrintOptions.PrintOnSheet="0" ReportOptions.CreateDate="37871,9964986574" ReportOptions.Description.Text="Demonstrates how to create simple report with columns. Just set number of columns in page options." ReportOptions.LastChange="40197,6038912384" ScriptLanguage="PascalScript" ScriptText.Text="begin&#13;&#10;&#13;&#10;end." PropData="044C656674025803546F7003700108446174617365747301010C3900000020446174615365743D225265706F7274446174612E437573746F6D65727344532220446174615365744E616D653D22437573746F6D657273220000095661726961626C65730100055374796C650100">
<TfrxDataPage Name="Data" Height="1000" Left="0" Top="0" Width="1000"/>
<TfrxReportPage Name="Page1" PaperWidth="210" PaperHeight="297" PaperSize="9" LeftMargin="5,08" RightMargin="5,08" TopMargin="5,08" BottomMargin="5,08" Columns="2" ColumnWidth="100,076" ColumnPositions.Text="0&#13;&#10;100,08" PrintOnPreviousPage="True" HGuides.Text="" VGuides.Text="">
<TfrxReportTitle Name="Band1" Height="26,45671" Left="0" Top="18,89765" Width="755,3012752">
<TfrxMemoView Name="Memo1" Left="0" Top="0" Width="737,00835" Height="22,67718" ShowHint="False" Color="8421504" Font.Charset="1" Font.Color="16777215" Font.Height="-16" Font.Name="Arial" Font.Style="1" HAlign="haCenter" ParentFont="False" VAlign="vaCenter" Text="Customers"/>
</TfrxReportTitle>
<TfrxPageFooter Name="Band2" Height="31,77953" Left="0" Top="309,92146" Width="755,3012752">
<TfrxMemoView Name="Memo2" Left="0" Top="8" Width="712" Height="16" ShowHint="False" Color="16777215" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Typ="4" Frame.Width="2" HAlign="haRight" ParentFont="False" Text="Page [PAGE#] of [TOTALPAGES#]"/>
</TfrxPageFooter>
<TfrxMasterData Name="Band3" Height="139,84261" Left="0" Top="105,82684" Width="378,24024428" Columns="1" ColumnWidth="200" ColumnGap="20" DataSet="ReportData.CustomersDS" DataSetName="Customers" RowCount="0">
<TfrxGradientView Name="Gradient1" Left="0" Top="22,67718" Width="329,86889333" Height="94,48825" ShowHint="False" EndColor="128" Style="gsHorizontal"/>
<TfrxMemoView Name="Memo3" Left="0" Top="22,67718" Width="132,28355" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="128" Font.Height="-13" Font.Name="Arial" Font.Style="1" ParentFont="False" Text="Company"/>
<TfrxMemoView Name="Memo4" Left="0" Top="41,57483" Width="132,28355" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="128" Font.Height="-13" Font.Name="Arial" Font.Style="1" ParentFont="False" Text="Address"/>
<TfrxMemoView Name="Memo5" Left="0" Top="60,47248" Width="132,28355" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="128" Font.Height="-13" Font.Name="Arial" Font.Style="1" ParentFont="False" Text="Contact"/>
<TfrxMemoView Name="Memo6" Left="0" Top="79,37013" Width="132,28355" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="128" Font.Height="-13" Font.Name="Arial" Font.Style="1" ParentFont="False" Text="Phone"/>
<TfrxMemoView Name="Memo7" Left="0" Top="98,26778" Width="132,28355" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="128" Font.Height="-13" Font.Name="Arial" Font.Style="1" ParentFont="False" Text="Fax"/>
<TfrxMemoView Name="Memo8" Left="132,28355" Top="22,67718" Width="196,53556" Height="18,89765" ShowHint="False" DataField="Company" DataSet="ReportData.CustomersDS" DataSetName="Customers" Font.Charset="1" Font.Color="16777215" Font.Height="-13" Font.Name="Arial" Font.Style="0" ParentFont="False" Text="[Customers.&#34;Company&#34;]"/>
<TfrxMemoView Name="Memo9" Left="132,28355" Top="41,57483" Width="196,53556" Height="18,89765" ShowHint="False" DataField="Addr1" DataSet="ReportData.CustomersDS" DataSetName="Customers" Font.Charset="1" Font.Color="16777215" Font.Height="-13" Font.Name="Arial" Font.Style="0" ParentFont="False" Text="[Customers.&#34;Addr1&#34;]"/>
<TfrxMemoView Name="Memo10" Left="132,28355" Top="60,47248" Width="196,53556" Height="18,89765" ShowHint="False" DataField="Contact" DataSet="ReportData.CustomersDS" DataSetName="Customers" Font.Charset="1" Font.Color="16777215" Font.Height="-13" Font.Name="Arial" Font.Style="0" ParentFont="False" Text="[Customers.&#34;Contact&#34;]"/>
<TfrxMemoView Name="Memo11" Left="132,28355" Top="79,37013" Width="196,53556" Height="18,89765" ShowHint="False" DataField="Phone" DataSet="ReportData.CustomersDS" DataSetName="Customers" Font.Charset="1" Font.Color="16777215" Font.Height="-13" Font.Name="Arial" Font.Style="0" ParentFont="False" Text="[Customers.&#34;Phone&#34;]"/>
<TfrxMemoView Name="Memo12" Left="132,28355" Top="98,26778" Width="196,53556" Height="18,89765" ShowHint="False" DataField="FAX" DataSet="ReportData.CustomersDS" DataSetName="Customers" Font.Charset="1" Font.Color="16777215" Font.Height="-13" Font.Name="Arial" Font.Style="0" ParentFont="False" Text="[Customers.&#34;FAX&#34;]"/>
<TfrxMemoView Name="Memo13" Left="0" Top="3,77952999999999" Width="132,28355" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Color="15790320" Frame.Typ="4" ParentFont="False" Text="[LINE]."/>
</TfrxMasterData>
</TfrxReportPage>
</TfrxReport>

10
Demos/Main/60.fr3 Normal file

File diff suppressed because one or more lines are too long

10
Demos/Main/61.FR3 Normal file

File diff suppressed because one or more lines are too long

10
Demos/Main/62.FR3 Normal file

File diff suppressed because one or more lines are too long

10
Demos/Main/63.FR3 Normal file

File diff suppressed because one or more lines are too long

32
Demos/Main/64.FR3 Normal file

File diff suppressed because one or more lines are too long

10
Demos/Main/65.FR3 Normal file

File diff suppressed because one or more lines are too long

10
Demos/Main/66.FR3 Normal file

File diff suppressed because one or more lines are too long

18
Demos/Main/67.FR3 Normal file

File diff suppressed because one or more lines are too long

10
Demos/Main/68.FR3 Normal file

File diff suppressed because one or more lines are too long

7
Demos/Main/69.FR3 Normal file

File diff suppressed because one or more lines are too long

12
Demos/Main/7.FR3 Normal file
View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<TfrxReport Name="" Version="3.21" DotMatrixReport="False" IniFile="\Software\Fast Reports" PreviewOptions.Buttons="4095" PreviewOptions.Zoom="1" PrintOptions.Printer="Default" ReportOptions.CreateDate="37871,9966810995" ReportOptions.Description.Text="This example shows how to print multi-column bands. To make data-band multi-column, set its Columns property to 2 or more." ReportOptions.LastChange="38842,9201587847" ScriptLanguage="PascalScript" ScriptText.Text="begin&#13;&#10;&#13;&#10;end." PropData="044C65667403880003546F7003B00008446174617365747301010C3900000020446174615365743D225265706F7274446174612E437573746F6D65727344532220446174615365744E616D653D22437573746F6D657273220000095661726961626C65730100055374796C650100">
<TfrxReportPage Name="Page1" PaperWidth="210" PaperHeight="297" PaperSize="9" LeftMargin="5" RightMargin="5" TopMargin="5" BottomMargin="5" Columns="1" ColumnWidth="210" ColumnPositions.Text="0" HGuides.Text="" VGuides.Text="">
<TfrxReportTitle Name="Band1" Height="45,35436" Left="0" Top="18,89765" Width="755,906">
<TfrxMemoView Name="Memo1" Left="3,77953" Top="3,77953" Width="710,55164" Height="22,67718" Color="8421504" Font.Charset="1" Font.Color="16777215" Font.Height="-16" Font.Name="Arial" Font.Style="1" HAlign="haCenter" ParentFont="False" VAlign="vaCenter" Text="Customers"/>
</TfrxReportTitle>
<TfrxMasterData Name="Band4" Height="26,45671" Left="0" Top="136,06308" Width="755,906" Columns="3" ColumnWidth="200" ColumnGap="10" DataSet="ReportData.CustomersDS" DataSetName="Customers" RowCount="0">
<TfrxMemoView Name="Memo8" Left="7,55906" Top="0" Width="192,75603" Height="18,89765" DataField="Company" DataSet="ReportData.CustomersDS" DataSetName="Customers" Text="[Customers.&#34;Company&#34;]"/>
<TfrxLineView Name="Line1" Left="7,55906" Top="22,67718" Width="211,65368" Height="0" Frame.Color="12632256" Frame.Typ="4"/>
</TfrxMasterData>
</TfrxReportPage>
</TfrxReport>

21
Demos/Main/70.fr3 Normal file
View File

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<TfrxReport Name="" DotMatrixReport="False" EngineOptions.MaxMemSize="10000000" IniFile="\Software\Fast Reports" PreviewOptions.Buttons="2047" PreviewOptions.DoubleBuffered="False" PreviewOptions.Zoom="1" PrintOptions.Printer="Default" ReportOptions.CreateDate="38190,9834943287" ReportOptions.Description.Text="Demonstrates old-style cross-tabs." ReportOptions.LastChange="38191,736528588" ScriptLanguage="PascalScript" ScriptText.Text="var&#13;&#10; Cell, Total: Integer;&#13;&#10;&#13;&#10;procedure Memo1OnBeforePrint(Sender: TfrxComponent);&#13;&#10;begin&#13;&#10; Inc(Cell);&#13;&#10;end;&#13;&#10;&#13;&#10;procedure Memo3OnBeforePrint(Sender: TfrxComponent);&#13;&#10;begin&#13;&#10; Total := Total + &#60;SUM(Cell, MasterData1)&#62;;&#13;&#10;end;&#13;&#10;&#13;&#10;begin&#13;&#10; Total := 0;&#13;&#10;end." PropData="044C65667403880003546F7003B0000844617461736574730E00095661726961626C65730E00055374796C650E00">
<TfrxReportPage Name="Page1" PaperWidth="210" PaperHeight="297" PaperSize="9" LeftMargin="10" RightMargin="10" TopMargin="10" BottomMargin="10" ColumnWidth="0" ColumnPositions.Text="" HGuides.Text="" VGuides.Text="">
<TfrxMasterData Name="MasterData1" Height="18,89765" Left="0" Top="102,04731" Width="718,1107" ColumnWidth="0" ColumnGap="0" RowCount="5">
<TfrxMemoView Name="Memo1" Left="188,9765" Top="0" Width="45,35436" Height="18,89765" OnBeforePrint="Memo1OnBeforePrint" Frame.Typ="15" HAlign="haRight" Memo.Text="[Cell]"/>
<TfrxMemoView Name="Memo2" Left="302,3624" Top="0" Width="45,35436" Height="18,89765" Color="13296895" Frame.Typ="15" HAlign="haRight" Memo.Text="[Sum(Cell, MasterData2)]"/>
</TfrxMasterData>
<TfrxFooter Name="Footer1" Height="22,67718" Left="0" Top="143,62214" Width="718,1107">
<TfrxMemoView Name="Memo3" Left="188,9765" Top="0" Width="45,35436" Height="18,89765" OnBeforePrint="Memo3OnBeforePrint" Color="13296895" Frame.Typ="15" HAlign="haRight" Memo.Text="[Sum(Cell, MasterData1)]"/>
<TfrxMemoView Name="Memo4" Left="302,3624" Top="0" Width="45,35436" Height="18,89765" Color="13434828" Frame.Typ="15" HAlign="haRight" Memo.Text="[Total]"/>
</TfrxFooter>
<TfrxMasterData Name="MasterData2" Height="1046,92981" Left="188,9765" Top="0" Vertical="True" Width="45,35436" ColumnWidth="0" ColumnGap="0" RowCount="20"/>
<TfrxFooter Name="Footer2" Height="1046,92981" Left="302,3624" Top="0" Vertical="True" Width="45,35436"/>
<TfrxReportTitle Name="ReportTitle1" Height="22,67718" Left="0" Top="18,89765" Width="718,1107">
<TfrxMemoView Name="Memo5" Left="151,1812" Top="0" Width="377,953" Height="22,67718" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" HAlign="haCenter" Memo.Text="Cross-bands example" ParentFont="False"/>
</TfrxReportTitle>
<TfrxPageFooter Name="PageFooter1" Height="22,67718" Left="0" Top="226,7718" Width="718,1107">
<TfrxMemoView Name="Memo6" Left="634,96104" Top="0" Width="79,37013" Height="18,89765" HAlign="haRight" Memo.Text="[Page]"/>
</TfrxPageFooter>
</TfrxReportPage>
</TfrxReport>

44
Demos/Main/71.fr3 Normal file
View File

@ -0,0 +1,44 @@
<?xml version="1.0" encoding="utf-8"?>
<TfrxReport Version="4.9" DotMatrixReport="False" IniFile="\Software\Fast Reports" PreviewOptions.Buttons="4095" PreviewOptions.Zoom="1" PrintOptions.Printer="Default" PrintOptions.PrintOnSheet="0" ReportOptions.CreateDate="38264,8615800926" ReportOptions.Description.Text="Demonstrates how to print simple year calendar using old-style cross tab and script." ReportOptions.LastChange="40273,6832695602" ScriptLanguage="PascalScript" ScriptText.Text="var&#13;&#10; Months: array[1..12] of string;&#13;&#10; Days: array[1..7] of string;&#13;&#10; Year, Month, TheMonth: Integer;&#13;&#10; DayLine, StartDay, LastDay: Integer;&#13;&#10; Day: String;&#13;&#10;&#13;&#10;function StartOfMonth(Year, Month: Integer): Integer;&#13;&#10;begin&#13;&#10; Result := DayOfWeek(EncodeDate(Year, Month, 1));&#13;&#10;end;&#13;&#10;&#13;&#10;procedure MasterData1OnBeforePrint(Sender: TfrxComponent);&#13;&#10;begin&#13;&#10; TheMonth := (&#60;Line&#62; - 1) * 3;&#13;&#10;end;&#13;&#10;&#13;&#10;procedure Header1OnBeforePrint(Sender: TfrxComponent);&#13;&#10;begin&#13;&#10; Month := TheMonth + 1;&#13;&#10; DayLine := 0;&#13;&#10; StartDay := StartOfMonth(Year, Month);&#13;&#10; LastDay := DaysInMonth(Year, Month);&#13;&#10;end;&#13;&#10;&#13;&#10;procedure Header2OnBeforePrint(Sender: TfrxComponent);&#13;&#10;begin&#13;&#10; Month := TheMonth + 2;&#13;&#10; DayLine := 0;&#13;&#10; StartDay := StartOfMonth(Year, Month);&#13;&#10; LastDay := DaysInMonth(Year, Month);&#13;&#10;end;&#13;&#10;&#13;&#10;procedure Header3OnBeforePrint(Sender: TfrxComponent);&#13;&#10;begin&#13;&#10; Month := TheMonth + 3;&#13;&#10; DayLine := 0;&#13;&#10; StartDay := StartOfMonth(Year, Month);&#13;&#10; LastDay := DaysInMonth(Year, Month);&#13;&#10;end;&#13;&#10;&#13;&#10;procedure MasterData3OnBeforePrint(Sender: TfrxComponent);&#13;&#10;begin&#13;&#10; Inc(DayLine);&#13;&#10;end;&#13;&#10;&#13;&#10;procedure Memo1OnBeforePrint(Sender: TfrxComponent);&#13;&#10;var&#13;&#10; CellNo: Integer;&#13;&#10;begin&#13;&#10; CellNo := DayLine + (&#60;Line&#62; - 1) * 7;&#13;&#10; if (CellNo &#60; StartDay) or&#13;&#10; (CellNo - StartDay + 1 &#62; LastDay) then&#13;&#10; Day := '' else&#13;&#10; Day := IntToStr(CellNo - StartDay + 1);&#13;&#10;&#13;&#10; if Day = '' then&#13;&#10; TfrxMemoView(Sender).Frame.Typ := 0&#13;&#10; else&#13;&#10; TfrxMemoView(Sender).Frame.Typ := ftLeft + ftRight + ftTop + ftBottom;&#13;&#10;end;&#13;&#10;&#13;&#10;begin&#13;&#10; Year := YearOf(Now); &#13;&#10;&#13;&#10; Months[1] := 'January';&#13;&#10; Months[2] := 'February';&#13;&#10; Months[3] := 'March';&#13;&#10; Months[4] := 'April';&#13;&#10; Months[5] := 'May';&#13;&#10; Months[6] := 'June';&#13;&#10; Months[7] := 'July';&#13;&#10; Months[8] := 'August';&#13;&#10; Months[9] := 'September';&#13;&#10; Months[10] := 'October';&#13;&#10; Months[11] := 'November';&#13;&#10; Months[12] := 'December';&#13;&#10;&#13;&#10; Days[1] := 'Su';&#13;&#10; Days[2] := 'Mo';&#13;&#10; Days[3] := 'Tu';&#13;&#10; Days[4] := 'We';&#13;&#10; Days[5] := 'Th';&#13;&#10; Days[6] := 'Fr';&#13;&#10; Days[7] := 'Sa';&#13;&#10;end." PropData="044C656674025803546F700370010844617461736574730100095661726961626C65730100055374796C650100">
<TfrxDataPage Name="Data" Height="1000" Left="0" Top="0" Width="1000"/>
<TfrxReportPage Name="Page1" PaperWidth="210" PaperHeight="297" PaperSize="9" LeftMargin="10" RightMargin="10" TopMargin="10" BottomMargin="10" ColumnWidth="0" ColumnPositions.Text="" HGuides.Text="" VGuides.Text="">
<TfrxMasterData Name="MasterData1" Height="22,67718" Left="0" Top="113,3859" Width="718,1107" OnBeforePrint="MasterData1OnBeforePrint" Child="Child1" ColumnWidth="0" ColumnGap="0" RowCount="4" Stretched="True">
<TfrxSubreport Name="Subreport1" Left="0" Top="0" Width="94,48825" Height="18,89765" ShowHint="False" Page="Page2"/>
<TfrxSubreport Name="Subreport2" Left="188,9765" Top="0" Width="94,48825" Height="18,89765" ShowHint="False" Page="Page3"/>
<TfrxSubreport Name="Subreport3" Left="351,49629" Top="0" Width="94,48825" Height="18,89765" ShowHint="False" Page="Page4"/>
</TfrxMasterData>
<TfrxChild Name="Child1" Height="34,01577" Left="0" Top="158,74026" Width="718,1107"/>
<TfrxReportTitle Name="ReportTitle1" Height="34,01577" Left="0" Top="18,89765" Width="718,1107">
<TfrxMemoView Name="Memo8" Left="0" Top="0" Width="718,1107" Height="22,67718" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-21" Font.Name="Arial" Font.Style="1" HAlign="haCenter" ParentFont="False" Text="Calendar - [Year]"/>
</TfrxReportTitle>
</TfrxReportPage>
<TfrxReportPage Name="Page2" PaperWidth="210" PaperHeight="297" PaperSize="9" LeftMargin="10" RightMargin="10" TopMargin="10" BottomMargin="10" ColumnWidth="0" ColumnPositions.Text="" HGuides.Text="" VGuides.Text="">
<TfrxMasterData Name="MasterData3" Height="22,67718" Left="0" Top="60,47248" Width="718,1107" OnBeforePrint="MasterData3OnBeforePrint" ColumnWidth="0" ColumnGap="0" RowCount="7">
<TfrxMemoView Name="Memo1" Left="260,78757" Top="0" Width="22,67718" Height="22,67718" OnBeforePrint="Memo1OnBeforePrint" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Typ="15" HAlign="haCenter" ParentFont="False" VAlign="vaCenter" Text="[Day]"/>
<TfrxMemoView Name="Memo7" Left="211,65368" Top="0" Width="22,67718" Height="22,67718" ShowHint="False" Color="14211288" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="1" HAlign="haCenter" ParentFont="False" VAlign="vaCenter" Text="[Days[DayLine]]"/>
</TfrxMasterData>
<TfrxMasterData Name="MasterData4" Height="1046,92981" Left="260,78757" Top="0" Vertical="True" Width="22,67718" ColumnWidth="0" ColumnGap="0" RowCount="6"/>
<TfrxHeader Name="Header1" Height="18,89765" Left="0" Top="18,89765" Width="718,1107" OnBeforePrint="Header1OnBeforePrint">
<TfrxMemoView Name="Memo4" Left="22,67718" Top="0" Width="136,06308" Height="18,89765" ShowHint="False" Color="14211288" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="1" HAlign="haCenter" ParentFont="False" VAlign="vaCenter" Text="[Months[Month]]"/>
</TfrxHeader>
<TfrxHeader Name="Header4" Height="1046,92981" Left="211,65368" Top="0" Vertical="True" Width="22,67718"/>
</TfrxReportPage>
<TfrxReportPage Name="Page3" PaperWidth="210" PaperHeight="297" PaperSize="9" LeftMargin="10" RightMargin="10" TopMargin="10" BottomMargin="10" ColumnWidth="0" ColumnPositions.Text="" HGuides.Text="" VGuides.Text="">
<TfrxMasterData Name="MasterData2" Height="22,67718" Left="0" Top="60,47248" Width="718,1107" OnBeforePrint="MasterData3OnBeforePrint" ColumnWidth="0" ColumnGap="0" RowCount="7">
<TfrxMemoView Name="Memo2" Left="200,31509" Top="0" Width="22,67718" Height="22,67718" OnBeforePrint="Memo1OnBeforePrint" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Typ="15" HAlign="haCenter" ParentFont="False" VAlign="vaCenter" Text="[Day]"/>
</TfrxMasterData>
<TfrxMasterData Name="MasterData5" Height="1046,92981" Left="200,31509" Top="0" Vertical="True" Width="22,67718" ColumnWidth="0" ColumnGap="0" RowCount="6"/>
<TfrxHeader Name="Header2" Height="18,89765" Left="0" Top="18,89765" Width="718,1107" OnBeforePrint="Header2OnBeforePrint">
<TfrxMemoView Name="Memo5" Left="0" Top="0" Width="136,06308" Height="18,89765" ShowHint="False" Color="14211288" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="1" HAlign="haCenter" ParentFont="False" VAlign="vaCenter" Text="[Months[Month]]"/>
</TfrxHeader>
</TfrxReportPage>
<TfrxReportPage Name="Page4" PaperWidth="210" PaperHeight="297" PaperSize="9" LeftMargin="10" RightMargin="10" TopMargin="10" BottomMargin="10" ColumnWidth="0" ColumnPositions.Text="" HGuides.Text="" VGuides.Text="">
<TfrxMasterData Name="MasterData6" Height="22,67718" Left="0" Top="60,47248" Width="718,1107" OnBeforePrint="MasterData3OnBeforePrint" ColumnWidth="0" ColumnGap="0" RowCount="7">
<TfrxMemoView Name="Memo3" Left="211,65368" Top="0" Width="22,67718" Height="22,67718" OnBeforePrint="Memo1OnBeforePrint" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Typ="15" HAlign="haCenter" ParentFont="False" VAlign="vaCenter" Text="[Day]"/>
</TfrxMasterData>
<TfrxMasterData Name="MasterData7" Height="1046,92981" Left="211,65368" Top="0" Vertical="True" Width="22,67718" ColumnWidth="0" ColumnGap="0" RowCount="6"/>
<TfrxHeader Name="Header3" Height="18,89765" Left="0" Top="18,89765" Width="718,1107" OnBeforePrint="Header3OnBeforePrint">
<TfrxMemoView Name="Memo6" Left="0" Top="0" Width="136,06308" Height="18,89765" ShowHint="False" Color="14211288" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="1" HAlign="haCenter" ParentFont="False" VAlign="vaCenter" Text="[Months[Month]]"/>
</TfrxHeader>
</TfrxReportPage>
</TfrxReport>

57
Demos/Main/72.fr3 Normal file

File diff suppressed because one or more lines are too long

10
Demos/Main/73.fr3 Normal file

File diff suppressed because one or more lines are too long

17
Demos/Main/8.FR3 Normal file
View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<TfrxReport Name="" Version="3.21" DotMatrixReport="False" IniFile="\Software\Fast Reports" PreviewOptions.Buttons="4095" PreviewOptions.Zoom="1" PrintOptions.Printer="Default" ReportOptions.CreateDate="37871,9968403472" ReportOptions.Description.Text="Demonstrates how to create simple list report with images and memos from DB fields." ReportOptions.LastChange="38842,9337197222" ScriptLanguage="PascalScript" ScriptText.Text="begin&#13;&#10;&#13;&#10;end." PropData="044C65667403880003546F7003B00008446174617365747301010C2D00000020446174615365743D225265706F7274446174612E42696F44532220446174615365744E616D653D2242696F220000095661726961626C65730100055374796C650100">
<TfrxReportPage Name="Page1" PaperWidth="210" PaperHeight="297" PaperSize="9" LeftMargin="5" RightMargin="5" TopMargin="5" BottomMargin="5" Columns="1" ColumnWidth="210" ColumnPositions.Text="0" HGuides.Text="" VGuides.Text="">
<TfrxReportTitle Name="Band1" Height="34,01577" Left="0" Top="18,89765" Width="755,906">
<TfrxMemoView Name="Memo1" Left="0" Top="3,77953" Width="718,1107" Height="22,67718" Color="8421504" Font.Charset="1" Font.Color="16777215" Font.Height="-16" Font.Name="Arial" Font.Style="1" HAlign="haCenter" ParentFont="False" VAlign="vaCenter" Text="Fishes"/>
</TfrxReportTitle>
<TfrxMasterData Name="Band3" Height="120,94496" Left="0" Top="124,72449" Width="755,906" Columns="1" ColumnWidth="200" ColumnGap="20" DataSet="ReportData.BioDS" DataSetName="Bio" RowCount="0" Stretched="True">
<TfrxMemoView Name="Memo5" Left="0" Top="90,70872" Width="445,98454" Height="26,45671" StretchMode="smMaxHeight" DataField="Notes" DataSet="ReportData.BioDS" DataSetName="Bio" Font.Charset="1" Font.Color="8421504" Font.Height="-11" Font.Name="Arial" Font.Style="0" HAlign="haBlock" HideZeros="True" ParentFont="False" Text="[Bio.&#34;Notes&#34;]"/>
<TfrxMemoView Name="Memo3" Left="0" Top="11,33859" Width="445,98454" Height="71,81107" Font.Charset="1" Font.Color="8421504" Font.Height="-13" Font.Name="Arial" Font.Style="1" ParentFont="False" Text="Number: [Bio.&#34;Species No&#34;]&#13;&#10;Name: [Bio.&#34;Common Name&#34;]&#13;&#10;Spec name: [Bio.&#34;Species Name&#34;]&#13;&#10;Length (cm): [Bio.&#34;Length (cm)&#34;]"/>
<TfrxPictureView Name="Picture1" Left="502,67749" Top="18,89765" Width="128,50402" Height="86,92919" DataField="Graphic" DataSet="ReportData.BioDS" DataSetName="Bio" Frame.Color="12632256" Frame.Typ="15" Frame.Width="2"/>
<TfrxLineView Name="Line1" Left="0" Top="0" Width="631,18151" Height="0" Frame.Color="12632256" Frame.Typ="4"/>
</TfrxMasterData>
<TfrxPageFooter Name="Band4" Height="22,67718" Left="0" Top="317,48052" Width="755,906">
<TfrxMemoView Name="Memo6" Left="0" Top="3,77953000000002" Width="718,1107" Height="15,11812" Color="16777215" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Typ="4" Frame.Width="2" HAlign="haRight" ParentFont="False" Text="[Page#]"/>
</TfrxPageFooter>
</TfrxReportPage>
</TfrxReport>

24
Demos/Main/80.fr3 Normal file
View File

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<TfrxReport Name="" DotMatrixReport="True" EngineOptions.MaxMemSize="10000000" IniFile="\Software\Fast Reports" PreviewOptions.Buttons="2047" PreviewOptions.Zoom="1" PrintOptions.Printer="Default" ReportOptions.CreateDate="38064,0206020833" ReportOptions.Description.Text="Demonstrates dot-matrix functionality." ReportOptions.LastChange="38134,6810417824" ScriptLanguage="PascalScript" ScriptText.Text="begin&#13;&#10;&#13;&#10;end." PropData="044C65667403880003546F7003B0000844617461736574730E01074461746153657407165265706F7274446174612E437573746F6D65727344530B446174615365744E616D650609437573746F6D6572730000095661726961626C65730E00055374796C650E00">
<TfrxDMPPage Name="Page1" PaperWidth="198,119872047583" PaperHeight="277,839202228849" PaperSize="256" LeftMargin="0" RightMargin="0" TopMargin="0" BottomMargin="0" ColumnWidth="0" ColumnPositions.Text="" HGuides.Text="" VGuides.Text="" FontStyle="0" FontType="fsxRegular">
<TfrxReportTitle Name="ReportTitle1" Height="54,3156" Left="0" Top="18,1052" Width="748,8">
<TfrxDMPMemoView Name="DMPMemo1" Align="baWidth" Left="0" Top="18,1052" Width="748,8" Height="18,1052" FontStyle="3" HAlign="haCenter" Memo.Text="Customer list" ParentFont="False" VAlign="vaCenter"/>
</TfrxReportTitle>
<TfrxPageHeader Name="PageHeader1" Height="36,2104" Left="0" Top="90,526" Width="748,8">
<TfrxDMPMemoView Name="DMPMemo3" Left="9,6" Top="0" Width="240" Height="18,1052" FontStyle="1" Memo.Text="Company" ParentFont="False"/>
<TfrxDMPMemoView Name="DMPMemo4" Left="259,2" Top="0" Width="220,8" Height="18,1052" FontStyle="1" Memo.Text="Address" ParentFont="False"/>
<TfrxDMPMemoView Name="DMPMemo5" Left="489,6" Top="0" Width="124,8" Height="18,1052" FontStyle="1" Memo.Text="Phone" ParentFont="False"/>
<TfrxDMPMemoView Name="DMPMemo6" Left="624" Top="0" Width="124,8" Height="18,1052" FontStyle="1" Memo.Text="FAX" ParentFont="False"/>
</TfrxPageHeader>
<TfrxMasterData Name="MasterData1" Height="18,1052" Left="0" Top="162,9468" Width="748,8" ColumnWidth="0" ColumnGap="0" DataSet="ReportData.CustomersDS" DataSetName="Customers" RowCount="0" Stretched="True">
<TfrxDMPMemoView Name="DMPMemo2" Left="9,6" Top="0" Width="240" Height="18,1052" StretchMode="smMaxHeight" DataField="Company" DataSet="ReportData.CustomersDS" DataSetName="Customers" Memo.Text="Customers.&#34;Company&#34;"/>
<TfrxDMPMemoView Name="DMPMemo7" Left="259,2" Top="0" Width="220,8" Height="18,1052" StretchMode="smMaxHeight" DataField="Addr1" DataSet="ReportData.CustomersDS" DataSetName="Customers" Memo.Text="Customers.&#34;Addr1&#34;"/>
<TfrxDMPMemoView Name="DMPMemo8" Left="489,6" Top="0" Width="124,8" Height="18,1052" StretchMode="smMaxHeight" DataField="Phone" DataSet="ReportData.CustomersDS" DataSetName="Customers" Memo.Text="Customers.&#34;Phone&#34;"/>
<TfrxDMPMemoView Name="DMPMemo9" Left="624" Top="0" Width="124,8" Height="18,1052" StretchMode="smMaxHeight" DataField="FAX" DataSet="ReportData.CustomersDS" DataSetName="Customers" Memo.Text="Customers.&#34;FAX&#34;"/>
</TfrxMasterData>
<TfrxPageFooter Name="PageFooter1" Height="18,1052" Left="0" Top="217,2624" Width="748,8">
<TfrxDMPMemoView Name="DMPMemo11" Left="9,6" Top="0" Width="124,8" Height="18,1052" AutoWidth="True" Memo.Text="[Date] [Time]"/>
<TfrxDMPMemoView Name="DMPMemo12" Align="baRight" Left="672" Top="0" Width="76,8" Height="18,1052" HAlign="haRight" Memo.Text="Page [Page#]"/>
</TfrxPageFooter>
</TfrxDMPPage>
</TfrxReport>

26
Demos/Main/81.fr3 Normal file
View File

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<TfrxReport Name="" DotMatrixReport="True" EngineOptions.MaxMemSize="10000000" IniFile="\Software\Fast Reports" PreviewOptions.Buttons="2047" PreviewOptions.DoubleBuffered="False" PreviewOptions.Zoom="1" PrintOptions.Printer="Default" ReportOptions.CreateDate="38064,0169684028" ReportOptions.Description.Text="Demonstrates dot-matrix functionality." ReportOptions.LastChange="38078,9322686343" ScriptLanguage="PascalScript" ScriptText.Text="begin&#13;&#10;&#13;&#10;end." PropData="044C65667403880003546F7003B0000844617461736574730E01074461746153657407105265706F7274446174612E42696F44530B446174615365744E616D65060342696F0000095661726961626C65730E00055374796C650E00">
<TfrxDMPPage Name="Page1" PaperWidth="200" PaperHeight="280" PaperSize="256" LeftMargin="0" RightMargin="0" TopMargin="0" BottomMargin="3,8" ColumnWidth="0" ColumnPositions.Text="" HGuides.Text="" VGuides.Text="" FontStyle="0" FontType="fsxRegular">
<TfrxReportTitle Name="ReportTitle1" Height="18,1052" Left="0" Top="18,1052" Width="755,906">
<TfrxDMPMemoView Name="DMPMemo1" Align="baWidth" Left="0" Top="0" Width="758,4" Height="18,1052" FontStyle="3" HAlign="haCenter" Memo.Text="Fish list" ParentFont="False" VAlign="vaCenter"/>
</TfrxReportTitle>
<TfrxMasterData Name="MasterData1" Height="162,9468" Left="0" Top="72,4208" Width="755,906" ColumnWidth="0" ColumnGap="0" DataSet="ReportData.BioDS" DataSetName="Bio" RowCount="0" Stretched="True">
<TfrxDMPMemoView Name="DMPMemo5" Left="9,6" Top="18,1052" Width="115,2" Height="18,1052" FontStyle="1" Memo.Text="Species No" ParentFont="False"/>
<TfrxDMPMemoView Name="DMPMemo6" Left="9,6" Top="36,2104" Width="115,2" Height="18,1052" FontStyle="1" Memo.Text="Category" ParentFont="False"/>
<TfrxDMPMemoView Name="DMPMemo7" Left="9,6" Top="54,3156" Width="115,2" Height="18,1052" FontStyle="1" Memo.Text="Common Name" ParentFont="False"/>
<TfrxDMPMemoView Name="DMPMemo8" Left="9,6" Top="72,4208" Width="115,2" Height="18,1052" FontStyle="1" Memo.Text="Length (cm)" ParentFont="False"/>
<TfrxDMPMemoView Name="DMPMemo9" Left="134,4" Top="18,1052" Width="76,8" Height="18,1052" DataField="Species No" DataSet="ReportData.BioDS" DataSetName="Bio" FontStyle="0" Memo.Text="90310" ParentFont="False"/>
<TfrxDMPMemoView Name="DMPMemo10" Left="134,4" Top="36,2104" Width="115,2" Height="18,1052" DataField="Category" DataSet="ReportData.BioDS" DataSetName="Bio" FontStyle="0" Memo.Text="Smelt" ParentFont="False"/>
<TfrxDMPMemoView Name="DMPMemo11" Left="134,4" Top="54,3156" Width="240" Height="18,1052" DataField="Common Name" DataSet="ReportData.BioDS" DataSetName="Bio" FontStyle="0" Memo.Text="Surf Smelt" ParentFont="False"/>
<TfrxDMPMemoView Name="DMPMemo12" Left="134,4" Top="72,4208" Width="76,8" Height="18,1052" DataField="Length (cm)" DataSet="ReportData.BioDS" DataSetName="Bio" FontStyle="0" Memo.Text="25" ParentFont="False"/>
<TfrxDMPMemoView Name="DMPMemo13" Left="9,6" Top="144,8416" Width="729,6" Height="18,1052" StretchMode="smActualHeight" DataField="Notes" DataSet="ReportData.BioDS" DataSetName="Bio" FontStyle="32" Memo.Text="(MEMO)" ParentFont="False"/>
<TfrxDMPMemoView Name="DMPMemo14" Left="9,6" Top="108,6312" Width="124,8" Height="18,1052" FontStyle="5" Memo.Text="Description:" ParentFont="False"/>
<TfrxDMPLineView Name="DMPLine1" Left="14,4" Top="9,0526" Width="720" Height="0"/>
</TfrxMasterData>
<TfrxPageFooter Name="PageFooter1" Height="18,1052" Left="0" Top="271,578" Width="755,906">
<TfrxDMPMemoView Name="DMPMemo2" Align="baWidth" Left="0" Top="0" Width="758,4" Height="0" FontStyle="0" Memo.Text="" ParentFont="False"/>
<TfrxDMPMemoView Name="DMPMemo3" Left="9,6" Top="0" Width="124,8" Height="18,1052" AutoWidth="True" FontStyle="0" Memo.Text="[Date] [Time]" ParentFont="False"/>
<TfrxDMPMemoView Name="DMPMemo4" Left="652,8" Top="0" Width="86,4" Height="18,1052" FontStyle="0" HAlign="haRight" Memo.Text="Page [Page#]" ParentFont="False"/>
</TfrxPageFooter>
</TfrxDMPPage>
</TfrxReport>

10
Demos/Main/82.fr3 Normal file

File diff suppressed because one or more lines are too long

17
Demos/Main/9.FR3 Normal file
View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<TfrxReport Name="" Version="3.21" DotMatrixReport="False" IniFile="\Software\Fast Reports" PreviewOptions.Buttons="4095" PreviewOptions.Zoom="1" PrintOptions.Printer="Default" ReportOptions.CreateDate="37871,9970438889" ReportOptions.Description.Text="Demonstrates how to break long memos. Set &#34;Stretched&#34; and &#34;AllowSplit&#34; options of the MasterData band and &#34;Stretched&#34; option of the object with long memo." ReportOptions.LastChange="38842,9393345023" ScriptLanguage="PascalScript" ScriptText.Text="begin&#13;&#10;&#13;&#10;end." PropData="044C65667403880003546F7003B00008446174617365747301010C2D00000020446174615365743D225265706F7274446174612E42696F44532220446174615365744E616D653D2242696F220000095661726961626C65730100055374796C650100">
<TfrxReportPage Name="Page1" PaperWidth="210" PaperHeight="297" PaperSize="9" LeftMargin="5" RightMargin="5" TopMargin="5" BottomMargin="5" Columns="2" ColumnWidth="100" ColumnPositions.Text="0&#13;&#10;100" HGuides.Text="" VGuides.Text="">
<TfrxReportTitle Name="Band1" Height="37,7953" Left="0" Top="18,89765" Width="755,906">
<TfrxMemoView Name="Memo1" Left="0" Top="0" Width="748,34694" Height="22,67718" Color="8421504" Font.Charset="1" Font.Color="16777215" Font.Height="-16" Font.Name="Arial" Font.Style="1" HAlign="haCenter" ParentFont="False" VAlign="vaCenter" Text="Fishes"/>
</TfrxReportTitle>
<TfrxMasterData Name="Band3" Height="105,82684" Left="0" Top="128,50402" Width="755,906" AllowSplit="True" Columns="1" ColumnWidth="200" ColumnGap="20" DataSet="ReportData.BioDS" DataSetName="Bio" RowCount="0" Stretched="True">
<TfrxMemoView Name="Memo3" Left="0" Top="15,11812" Width="272,12616" Height="68,03154" Color="16777215" Font.Charset="1" Font.Color="8421504" Font.Height="-13" Font.Name="Arial" Font.Style="1" ParentFont="False" Text="Number: [Bio.&#34;Species No&#34;]&#13;&#10;Name: [Bio.&#34;Common Name&#34;]&#13;&#10;Spec name: [Bio.&#34;Species Name&#34;]&#13;&#10;Length (cm): [Bio.&#34;Length (cm)&#34;]"/>
<TfrxMemoView Name="Memo4" Left="0" Top="86,92919" Width="272,12616" Height="18,89765" StretchMode="smMaxHeight" Color="16777215" DataField="Notes" DataSet="ReportData.BioDS" DataSetName="Bio" Font.Charset="1" Font.Color="8421504" Font.Height="-11" Font.Name="Arial" Font.Style="0" HAlign="haBlock" HideZeros="True" ParentFont="False" Text="[Bio.&#34;Notes&#34;]"/>
<TfrxPictureView Name="Picture1" Left="275,90569" Top="15,11812" Width="83,14966" Height="68,03154" DataField="Graphic" DataSet="ReportData.BioDS" DataSetName="Bio" Frame.Color="12632256" Frame.Typ="15" Frame.Width="2"/>
<TfrxLineView Name="Line1" Left="0" Top="0" Width="359,05535" Height="0" Frame.Color="12632256" Frame.Typ="4"/>
</TfrxMasterData>
<TfrxPageFooter Name="Band4" Height="22,67718" Left="0" Top="306,14193" Width="755,906">
<TfrxMemoView Name="Memo5" Left="0" Top="3,77953000000002" Width="748,34694" Height="15,11812" Color="16777215" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Typ="4" Frame.Width="2" HAlign="haRight" ParentFont="False" Text="[Page#]"/>
</TfrxPageFooter>
</TfrxReportPage>
</TfrxReport>

19
Demos/Main/93.fr3 Normal file
View File

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<TfrxReport Version="4.8.28" DotMatrixReport="False" IniFile="\Software\Fast Reports" PreviewOptions.Buttons="4095" PreviewOptions.Zoom="1" PrintOptions.Printer="Default" PrintOptions.PrintOnSheet="0" ReportOptions.CreateDate="38976.8939483796" ReportOptions.Description.Text="This report demonstrates endless page mode. To set this mode, go Page options dialog and set the &#34;Endless page&#34; checkbox. Page will grow depending on number of data records on it." ReportOptions.LastChange="40128.688188287" ScriptLanguage="PascalScript" ScriptText.Text="begin&#13;&#10;&#13;&#10;end." PropData="044C656674025803546F7003700108446174617365747301010C3900000020446174615365743D225265706F7274446174612E437573746F6D65727344532220446174615365744E616D653D22437573746F6D657273220000095661726961626C65730100055374796C650100">
<TfrxDataPage Name="Data" Height="1000" Left="0" Top="0" Width="1000"/>
<TfrxReportPage Name="Page1" PaperWidth="210" PaperHeight="297" PaperSize="9" LeftMargin="10" RightMargin="10" TopMargin="10" BottomMargin="10" ColumnWidth="0" ColumnPositions.Text="" EndlessHeight="True" HGuides.Text="" VGuides.Text="">
<TfrxMasterData Name="MasterData1" Height="86.92919" Left="0" Top="124.72449" Width="718.1107" ColumnWidth="0" ColumnGap="0" DataSet="ReportData.CustomersDS" DataSetName="Customers" RowCount="0">
<TfrxShapeView Name="Shape1" Left="7.55906" Top="3.77952999999999" Width="702.99258" Height="79.37013" ShowHint="False" Frame.Color="12632256" Shape="skRoundRectangle"/>
<TfrxMemoView Name="Memo2" Left="260.78757" Top="11.33859" Width="442.205010000001" Height="18.89765" ShowHint="False" Color="15790320" DataField="Company" DataSet="ReportData.CustomersDS" DataSetName="Customers" Font.Charset="1" Font.Color="-2147483640" Font.Height="-13" Font.Name="Arial" Font.Style="0" ParentFont="False" Text="[Customers.&#34;Company&#34;]"/>
<TfrxMemoView Name="Memo3" Left="260.78757" Top="34.01577" Width="442.205010000001" Height="18.89765" ShowHint="False" Color="15790320" DataField="Phone" DataSet="ReportData.CustomersDS" DataSetName="Customers" Font.Charset="1" Font.Color="-2147483640" Font.Height="-13" Font.Name="Arial" Font.Style="0" ParentFont="False" Text="[Customers.&#34;Phone&#34;]"/>
<TfrxMemoView Name="Memo4" Left="260.78757" Top="56.69295" Width="442.205010000001" Height="18.89765" ShowHint="False" Color="15790320" DataField="FAX" DataSet="ReportData.CustomersDS" DataSetName="Customers" Font.Charset="1" Font.Color="-2147483640" Font.Height="-13" Font.Name="Arial" Font.Style="0" ParentFont="False" Text="[Customers.&#34;FAX&#34;]"/>
<TfrxMemoView Name="Memo5" Left="15.11812" Top="11.33859" Width="238.11039" Height="18.89765" ShowHint="False" Font.Charset="1" Font.Color="-2147483640" Font.Height="-13" Font.Name="Arial" Font.Style="1" ParentFont="False" Text="Company"/>
<TfrxMemoView Name="Memo6" Left="15.11812" Top="34.01577" Width="120.94496" Height="18.89765" ShowHint="False" Font.Charset="1" Font.Color="-2147483640" Font.Height="-13" Font.Name="Arial" Font.Style="1" ParentFont="False" Text="Phone"/>
<TfrxMemoView Name="Memo7" Left="15.11812" Top="56.69295" Width="120.94496" Height="18.89765" ShowHint="False" Font.Charset="1" Font.Color="-2147483640" Font.Height="-13" Font.Name="Arial" Font.Style="1" ParentFont="False" Text="FAX"/>
</TfrxMasterData>
<TfrxReportTitle Name="ReportTitle1" Height="45.35436" Left="0" Top="18.89765" Width="718.1107">
<TfrxGradientView Name="Gradient1" Left="3.77953" Top="0" Width="710.55164" Height="26.45671" ShowHint="False" Style="gsVertical"/>
<TfrxMemoView Name="Memo1" Align="baWidth" Left="0" Top="0" Width="718.1107" Height="22.67718" ShowHint="False" DisplayFormat.DecimalSeparator="," Font.Charset="1" Font.Color="-2147483640" Font.Height="-13" Font.Name="Arial" Font.Style="1" HAlign="haCenter" ParentFont="False" VAlign="vaCenter" Text="OUR CUSTOMERS"/>
</TfrxReportTitle>
</TfrxReportPage>
</TfrxReport>

18
Demos/Main/94.fr3 Normal file
View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<TfrxReport Version="4.0a" DotMatrixReport="False" IniFile="\Software\Fast Reports" PreviewOptions.Buttons="4095" PreviewOptions.DoubleBuffered="False" PreviewOptions.Zoom="1" PrintOptions.PagesOnSheet="0" PrintOptions.Printer="Default" PrintOptions.PrintOnSheet="0" ReportOptions.CreateDate="38976,8939483796" ReportOptions.Description.Text="This report demonstrates endless page mode. To set this mode, go Page options dialog and set the &#34;Endless page&#34; checkbox. Page will grow depending on number of data records on it." ReportOptions.LastChange="38991,6683960764" ScriptLanguage="PascalScript" ScriptText.Text="var&#13;&#10; X, Y: Integer;&#13;&#10;&#13;&#10;procedure MasterData1OnBeforePrint(Sender: TfrxComponent);&#13;&#10;begin&#13;&#10; Inc(Y);&#13;&#10;end;&#13;&#10;&#13;&#10;procedure Header2OnBeforePrint(Sender: TfrxComponent);&#13;&#10;begin&#13;&#10; X := 0;&#13;&#10;end;&#13;&#10;&#13;&#10;procedure MasterData2OnBeforePrint(Sender: TfrxComponent);&#13;&#10;begin&#13;&#10; Inc(X);&#13;&#10;end;&#13;&#10;&#13;&#10;begin&#13;&#10; X := 0;&#13;&#10; Y := 0;&#13;&#10;end." PropData="044C65667403AC0003546F700378010844617461736574730100095661726961626C65730100055374796C650100">
<TfrxDataPage Name="Data" Height="1000" Left="0" Top="0" Width="1000"/>
<TfrxReportPage Name="Page1" PaperWidth="210" PaperHeight="297" PaperSize="9" LeftMargin="10" RightMargin="10" TopMargin="10" BottomMargin="10" ColumnWidth="0" ColumnPositions.Text="" EndlessHeight="True" EndlessWidth="True" HGuides.Text="" VGuides.Text="">
<TfrxReportTitle Name="ReportTitle1" Height="45,35436" Left="0" Top="18,89765" Width="718,1107">
<TfrxMemoView Name="Memo1" Align="baWidth" Left="0" Top="0" Width="718,1107" Height="30,23624" Color="15000804" DisplayFormat.DecimalSeparator="," Font.Charset="1" Font.Color="-2147483640" Font.Height="-21" Font.Name="Arial" Font.Style="1" HAlign="haCenter" ParentFont="False" VAlign="vaCenter" Text="The multiplication table"/>
</TfrxReportTitle>
<TfrxMasterData Name="MasterData1" Height="113,3859" Left="0" Top="260,78757" Width="718,1107" OnBeforePrint="MasterData1OnBeforePrint" ColumnWidth="0" ColumnGap="0" RowCount="10">
<TfrxMemoView Name="Memo2" Left="264,5671" Top="0" Width="113,3859" Height="113,3859" DisplayFormat.DecimalSeparator="," Font.Charset="1" Font.Color="-2147483640" Font.Height="-27" Font.Name="Arial" Font.Style="0" Frame.Typ="15" Frame.Width="2" HAlign="haCenter" Highlight.Font.Charset="1" Highlight.Font.Color="0" Highlight.Font.Height="-27" Highlight.Font.Name="Arial" Highlight.Font.Style="0" Highlight.Color="12632256" Highlight.Condition="X = Y" ParentFont="False" VAlign="vaCenter" Text="[X * Y]"/>
<TfrxMemoView Name="Memo3" Left="124,72449" Top="0" Width="113,3859" Height="113,3859" Color="15790320" DisplayFormat.DecimalSeparator="," Font.Charset="1" Font.Color="-2147483640" Font.Height="-27" Font.Name="Arial" Font.Style="0" Frame.Typ="15" Frame.Width="2" HAlign="haCenter" ParentFont="False" VAlign="vaCenter" Text="[Y]"/>
</TfrxMasterData>
<TfrxMasterData Name="MasterData2" Height="1046,92981" Left="264,5671" Top="0" Vertical="True" Width="113,3859" OnBeforePrint="MasterData2OnBeforePrint" ColumnWidth="0" ColumnGap="0" RowCount="10"/>
<TfrxHeader Name="Header1" Height="113,3859" Left="0" Top="124,72449" Width="718,1107">
<TfrxMemoView Name="Memo4" Left="264,5671" Top="0" Width="113,3859" Height="113,3859" Color="15790320" DisplayFormat.DecimalSeparator="," Font.Charset="1" Font.Color="-2147483640" Font.Height="-27" Font.Name="Arial" Font.Style="0" Frame.Typ="15" Frame.Width="2" HAlign="haCenter" ParentFont="False" VAlign="vaCenter" Text="[X]"/>
</TfrxHeader>
<TfrxHeader Name="Header2" Height="1046,92981" Left="124,72449" Top="0" Vertical="True" Width="113,3859" OnBeforePrint="Header2OnBeforePrint"/>
</TfrxReportPage>
</TfrxReport>

19
Demos/Main/95.fr3 Normal file
View File

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<TfrxReport Version="4.8.28" DotMatrixReport="False" IniFile="\Software\Fast Reports" PreviewOptions.Buttons="4095" PreviewOptions.Zoom="1" PrintOptions.Printer="Default" PrintOptions.PrintMode="pmSplit" PrintOptions.PrintOnSheet="9" ReportOptions.CreateDate="38976.8939483796" ReportOptions.Description.Text="This report demonstrates the new print mode, splitting big pages (A3) on several small (A4). &#13;&#10;&#13;&#10;You can set this mode either in the print dialog, or in the designer (select Report.PrintOptions in the Object Inspector and set PrintMode, PrintOnSheet properties).&#13;&#10;&#13;&#10;Print the report to see the result." ReportOptions.LastChange="40128.6892225463" ScriptLanguage="PascalScript" ScriptText.Text="begin&#13;&#10;&#13;&#10;end." PropData="044C656674025803546F7003700108446174617365747301010C3900000020446174615365743D225265706F7274446174612E437573746F6D65727344532220446174615365744E616D653D22437573746F6D657273220000095661726961626C65730100055374796C650100">
<TfrxDataPage Name="Data" Height="1000" Left="0" Top="0" Width="1000"/>
<TfrxReportPage Name="Page1" PaperWidth="297" PaperHeight="420" PaperSize="8" LeftMargin="10" RightMargin="10" TopMargin="10" BottomMargin="10" Columns="2" ColumnWidth="138.5" ColumnPositions.Text="0&#13;&#10;138,50" HGuides.Text="" VGuides.Text="">
<TfrxMasterData Name="MasterData1" Height="86.92919" Left="0" Top="124.72449" Width="523.464905" ColumnWidth="0" ColumnGap="0" DataSet="ReportData.CustomersDS" DataSetName="Customers" RowCount="0">
<TfrxShapeView Name="Shape1" Left="7.55906" Top="3.77952999999999" Width="506.45702" Height="79.37013" ShowHint="False" Frame.Color="12632256" Shape="skRoundRectangle"/>
<TfrxMemoView Name="Memo2" Left="264.5671" Top="11.33859" Width="238.11039" Height="18.89765" ShowHint="False" Color="15790320" DataField="Company" DataSet="ReportData.CustomersDS" DataSetName="Customers" Font.Charset="1" Font.Color="-2147483640" Font.Height="-13" Font.Name="Arial" Font.Style="0" ParentFont="False" Text="[Customers.&#34;Company&#34;]"/>
<TfrxMemoView Name="Memo3" Left="264.5671" Top="34.01577" Width="238.11039" Height="18.89765" ShowHint="False" Color="15790320" DataField="Phone" DataSet="ReportData.CustomersDS" DataSetName="Customers" Font.Charset="1" Font.Color="-2147483640" Font.Height="-13" Font.Name="Arial" Font.Style="0" ParentFont="False" Text="[Customers.&#34;Phone&#34;]"/>
<TfrxMemoView Name="Memo4" Left="264.5671" Top="56.69295" Width="238.11039" Height="18.89765" ShowHint="False" Color="15790320" DataField="FAX" DataSet="ReportData.CustomersDS" DataSetName="Customers" Font.Charset="1" Font.Color="-2147483640" Font.Height="-13" Font.Name="Arial" Font.Style="0" ParentFont="False" Text="[Customers.&#34;FAX&#34;]"/>
<TfrxMemoView Name="Memo5" Left="15.11812" Top="11.33859" Width="238.11039" Height="18.89765" ShowHint="False" Font.Charset="1" Font.Color="-2147483640" Font.Height="-13" Font.Name="Arial" Font.Style="1" ParentFont="False" Text="Company"/>
<TfrxMemoView Name="Memo6" Left="15.11812" Top="34.01577" Width="120.94496" Height="18.89765" ShowHint="False" Font.Charset="1" Font.Color="-2147483640" Font.Height="-13" Font.Name="Arial" Font.Style="1" ParentFont="False" Text="Phone"/>
<TfrxMemoView Name="Memo7" Left="15.11812" Top="56.69295" Width="120.94496" Height="18.89765" ShowHint="False" Font.Charset="1" Font.Color="-2147483640" Font.Height="-13" Font.Name="Arial" Font.Style="1" ParentFont="False" Text="FAX"/>
</TfrxMasterData>
<TfrxReportTitle Name="ReportTitle1" Height="45.35436" Left="0" Top="18.89765" Width="1046.92981">
<TfrxGradientView Name="Gradient1" Left="3.77953" Top="0" Width="1039.37075" Height="26.45671" ShowHint="False" Style="gsVertical"/>
<TfrxMemoView Name="Memo1" Align="baWidth" Left="0" Top="0" Width="1046.92981" Height="22.67718" ShowHint="False" DisplayFormat.DecimalSeparator="," Font.Charset="1" Font.Color="-2147483640" Font.Height="-13" Font.Name="Arial" Font.Style="1" HAlign="haCenter" ParentFont="False" VAlign="vaCenter" Text="OUR CUSTOMERS"/>
</TfrxReportTitle>
</TfrxReportPage>
</TfrxReport>

19
Demos/Main/96.fr3 Normal file
View File

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<TfrxReport Version="4.8.28" DotMatrixReport="False" IniFile="\Software\Fast Reports" PreviewOptions.Buttons="4095" PreviewOptions.Zoom="1" PrintOptions.Printer="Default" PrintOptions.PrintMode="pmJoin" PrintOptions.PrintOnSheet="9" ReportOptions.CreateDate="38976.8939483796" ReportOptions.Description.Text="This report demonstrates the new print mode, joining several small pages (A5) on one big (A4).&#13;&#10;&#13;&#10;You can set this mode either in the print dialog, or in the designer (select Report.PrintOptions in the Object Inspector and set PrintMode, PrintOnSheet properties).&#13;&#10;&#13;&#10;Print the report to see the result." ReportOptions.LastChange="40128.690739294" ScriptLanguage="PascalScript" ScriptText.Text="begin&#13;&#10;&#13;&#10;end." PropData="044C656674025803546F7003700108446174617365747301010C3900000020446174615365743D225265706F7274446174612E437573746F6D65727344532220446174615365744E616D653D22437573746F6D657273220000095661726961626C65730100055374796C650100">
<TfrxDataPage Name="Data" Height="1000" Left="0" Top="0" Width="1000"/>
<TfrxReportPage Name="Page1" PaperWidth="148" PaperHeight="210" PaperSize="11" LeftMargin="10" RightMargin="10" TopMargin="10" BottomMargin="10" ColumnWidth="0" ColumnPositions.Text="" HGuides.Text="" VGuides.Text="">
<TfrxMasterData Name="MasterData1" Height="86.92919" Left="0" Top="124.72449" Width="483.77984" ColumnWidth="0" ColumnGap="0" DataSet="ReportData.CustomersDS" DataSetName="Customers" RowCount="0">
<TfrxShapeView Name="Shape1" Left="7.55906" Top="3.77952999999999" Width="468.66172" Height="79.37013" ShowHint="False" Frame.Color="12632256" Shape="skRoundRectangle"/>
<TfrxMemoView Name="Memo2" Left="162.51979" Top="11.33859" Width="302.3624" Height="18.89765" ShowHint="False" Color="15790320" DataField="Company" DataSet="ReportData.CustomersDS" DataSetName="Customers" Font.Charset="1" Font.Color="-2147483640" Font.Height="-13" Font.Name="Arial" Font.Style="0" ParentFont="False" Text="[Customers.&#34;Company&#34;]"/>
<TfrxMemoView Name="Memo3" Left="162.51979" Top="34.01577" Width="302.3624" Height="18.89765" ShowHint="False" Color="15790320" DataField="Phone" DataSet="ReportData.CustomersDS" DataSetName="Customers" Font.Charset="1" Font.Color="-2147483640" Font.Height="-13" Font.Name="Arial" Font.Style="0" ParentFont="False" Text="[Customers.&#34;Phone&#34;]"/>
<TfrxMemoView Name="Memo4" Left="162.51979" Top="56.69295" Width="302.3624" Height="18.89765" ShowHint="False" Color="15790320" DataField="FAX" DataSet="ReportData.CustomersDS" DataSetName="Customers" Font.Charset="1" Font.Color="-2147483640" Font.Height="-13" Font.Name="Arial" Font.Style="0" ParentFont="False" Text="[Customers.&#34;FAX&#34;]"/>
<TfrxMemoView Name="Memo5" Left="15.11812" Top="11.33859" Width="120.94496" Height="18.89765" ShowHint="False" Font.Charset="1" Font.Color="-2147483640" Font.Height="-13" Font.Name="Arial" Font.Style="1" ParentFont="False" Text="Company"/>
<TfrxMemoView Name="Memo6" Left="15.11812" Top="34.01577" Width="120.94496" Height="18.89765" ShowHint="False" Font.Charset="1" Font.Color="-2147483640" Font.Height="-13" Font.Name="Arial" Font.Style="1" ParentFont="False" Text="Phone"/>
<TfrxMemoView Name="Memo7" Left="15.11812" Top="56.69295" Width="120.94496" Height="18.89765" ShowHint="False" Font.Charset="1" Font.Color="-2147483640" Font.Height="-13" Font.Name="Arial" Font.Style="1" ParentFont="False" Text="FAX"/>
</TfrxMasterData>
<TfrxReportTitle Name="ReportTitle1" Height="45.35436" Left="0" Top="18.89765" Width="483.77984">
<TfrxGradientView Name="Gradient1" Left="3.77953" Top="0" Width="476.22078" Height="26.45671" ShowHint="False" Style="gsVertical"/>
<TfrxMemoView Name="Memo1" Align="baWidth" Left="0" Top="0" Width="483.77984" Height="22.67718" ShowHint="False" DisplayFormat.DecimalSeparator="," Font.Charset="1" Font.Color="-2147483640" Font.Height="-13" Font.Name="Arial" Font.Style="1" HAlign="haCenter" ParentFont="False" VAlign="vaCenter" Text="OUR CUSTOMERS"/>
</TfrxReportTitle>
</TfrxReportPage>
</TfrxReport>

34
Demos/Main/97.fr3 Normal file
View File

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="utf-8"?>
<TfrxReport Version="4.8.28" DotMatrixReport="False" EngineOptions.DoublePass="True" IniFile="\Software\Fast Reports" PreviewOptions.Buttons="4095" PreviewOptions.OutlineWidth="180" PreviewOptions.Zoom="1" PrintOptions.Printer="Default" PrintOptions.PrintOnSheet="0" ReportOptions.CreateDate="37871.9957952199" ReportOptions.Description.Text="Demonstrates how to create drill-down group report. To do this, set the group header's DrillDown property to true. &#13;&#10;When you click the group in the preview window, report is refreshed and the group becomes visible or hidden.&#13;&#10;&#13;&#10;You can control whether to expand all groups on first start by group header's ExpandDrillDown property. It is False by default." ReportOptions.LastChange="40128.693458287" ScriptLanguage="PascalScript" ScriptText.Text="begin&#13;&#10;&#13;&#10;end." PropData="044C656674025803546F7003700108446174617365747301010C3900000020446174615365743D225265706F7274446174612E437573746F6D65727344532220446174615365744E616D653D22437573746F6D657273220000095661726961626C65730100055374796C650100">
<TfrxDataPage Name="Data" Height="1000" Left="0" Top="0" Width="1000"/>
<TfrxReportPage Name="Page1" PaperWidth="210" PaperHeight="297" PaperSize="9" LeftMargin="5" RightMargin="5" TopMargin="5" BottomMargin="5" Columns="1" ColumnWidth="210" ColumnPositions.Text="0" PrintOnPreviousPage="True" HGuides.Text="" VGuides.Text="">
<TfrxReportTitle Name="Band1" Height="26.45671" Left="0" Top="18.89765" Width="755.906">
<TfrxGradientView Name="Gradient1" Left="3.77953" Top="0" Width="702.99258" Height="22.67718" ShowHint="False" Style="gsVertical"/>
<TfrxMemoView Name="Memo1" Left="0" Top="0" Width="710.55164" Height="22.67718" ShowHint="False" Font.Charset="1" Font.Color="16777215" Font.Height="-16" Font.Name="Arial" Font.Style="1" HAlign="haCenter" ParentFont="False" VAlign="vaCenter" Text="Customers"/>
</TfrxReportTitle>
<TfrxPageHeader Name="Band2" Height="34.01577" Left="0" Top="68.03154" Width="755.906">
<TfrxMemoView Name="Memo5" Left="0" Top="7.55906" Width="188.9765" Height="18.89765" ShowHint="False" Font.Charset="1" Font.Color="128" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Typ="8" ParentFont="False" Text="Company"/>
<TfrxMemoView Name="Memo6" Left="204.09462" Top="7.55906" Width="154.96073" Height="18.89765" ShowHint="False" Font.Charset="1" Font.Color="128" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Typ="8" ParentFont="False" Text="Address"/>
<TfrxMemoView Name="Memo7" Left="374.17347" Top="7.55906" Width="120.94496" Height="18.89765" ShowHint="False" Font.Charset="1" Font.Color="128" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Typ="8" ParentFont="False" Text="Contact"/>
<TfrxMemoView Name="Memo8" Left="510.23655" Top="7.55906" Width="83.14966" Height="18.89765" ShowHint="False" Font.Charset="1" Font.Color="128" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Typ="8" ParentFont="False" Text="Phone"/>
<TfrxMemoView Name="Memo9" Left="608.50433" Top="7.55906" Width="102.04731" Height="18.89765" ShowHint="False" Font.Charset="1" Font.Color="128" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Typ="8" ParentFont="False" Text="Fax"/>
</TfrxPageHeader>
<TfrxPageFooter Name="Band3" Height="26.45671" Left="0" Top="347.71676" Width="755.906">
<TfrxMemoView Name="Memo2" Left="0" Top="7.55905999999999" Width="710.55164" Height="15.11812" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Typ="4" Frame.Width="2" HAlign="haRight" ParentFont="False" Text="[Page] of [TotalPages]"/>
</TfrxPageFooter>
<TfrxMasterData Name="Band4" Height="22.67718" Left="0" Top="211.65368" Width="755.906" Columns="1" ColumnWidth="200" ColumnGap="20" DataSet="ReportData.CustomersDS" DataSetName="Customers" RowCount="0">
<TfrxMemoView Name="Memo10" Left="0" Top="0" Width="204.09462" Height="18.89765" ShowHint="False" DataField="Company" DataSet="ReportData.CustomersDS" DataSetName="Customers" Text="[Customers.&#34;Company&#34;]"/>
<TfrxMemoView Name="Memo11" Left="204.09462" Top="0" Width="170.07885" Height="18.89765" ShowHint="False" DataField="Addr1" DataSet="ReportData.CustomersDS" DataSetName="Customers" Text="[Customers.&#34;Addr1&#34;]"/>
<TfrxMemoView Name="Memo12" Left="374.17347" Top="0" Width="136.06308" Height="18.89765" ShowHint="False" DataField="Contact" DataSet="ReportData.CustomersDS" DataSetName="Customers" Text="[Customers.&#34;Contact&#34;]"/>
<TfrxMemoView Name="Memo13" Left="510.23655" Top="0" Width="98.26778" Height="18.89765" ShowHint="False" DataField="Phone" DataSet="ReportData.CustomersDS" DataSetName="Customers" Text="[Customers.&#34;Phone&#34;]"/>
<TfrxMemoView Name="Memo14" Left="608.50433" Top="0" Width="102.04731" Height="18.89765" ShowHint="False" DataField="FAX" DataSet="ReportData.CustomersDS" DataSetName="Customers" Text="[Customers.&#34;FAX&#34;]"/>
</TfrxMasterData>
<TfrxGroupHeader Name="GroupHeader1" Height="26.45671" Left="0" Top="162.51979" Width="755.906" Condition="Copy(&#60;Customers.&#34;Company&#34;&#62;, 1, 1)" DrillDown="True">
<TfrxGradientView Name="Gradient2" Left="0" Top="0" Width="710.55164" Height="22.67718" ShowHint="False" EndColor="16772846" Style="gsVertical"/>
<TfrxMemoView Name="Memo3" Left="0" Top="0" Width="710.55164" Height="22.67718" ShowHint="False" Font.Charset="1" Font.Color="128" Font.Height="-19" Font.Name="Arial" Font.Style="0" ParentFont="False" VAlign="vaCenter" Text="[Copy(&#60;Customers.&#34;Company&#34;&#62;, 1, 1)]"/>
</TfrxGroupHeader>
<TfrxGroupFooter Name="GroupFooter1" Height="30.23624" Left="0" Top="257.00804" Width="755.906">
<TfrxMemoView Name="Memo4" Left="0" Top="0" Width="710.55164" Height="18.89765" ShowHint="False" StretchMode="smMaxHeight" Frame.Color="12632256" Frame.Typ="4" HAlign="haRight" HideZeros="True" Text="Count: [Count(Band4)]"/>
</TfrxGroupFooter>
</TfrxReportPage>
</TfrxReport>

55
Demos/Main/98.fr3 Normal file
View File

@ -0,0 +1,55 @@
<?xml version="1.0" encoding="utf-8"?>
<TfrxReport Version="4.11.4" DotMatrixReport="False" IniFile="\Software\Fast Reports" PreviewOptions.Buttons="4095" PreviewOptions.Zoom="1" PrintOptions.Printer="Default" PrintOptions.PrintOnSheet="0" ReportOptions.CreateDate="37871,9959574884" ReportOptions.Description.Text="This report demonstrates drill-down with multiple groups. &#13;&#10;&#13;&#10;You can control whether to show or hide the group footer by group header's ShowFooterIfDrillDown property." ReportOptions.LastChange="41019,6943893982" ScriptLanguage="PascalScript" ScriptText.Text="procedure DataBand41OnBeforePrint(Sender: TfrxComponent);&#13;&#10;begin&#13;&#10; TfrxBand(Sender).Visible := Band6.Visible; &#13;&#10;end;&#13;&#10;&#13;&#10;begin&#13;&#10;&#13;&#10;end." PropData="044C656674025803546F7003700108446174617365747301010C3900000020446174615365743D225265706F7274446174612E437573746F6D65727344532220446174615365744E616D653D22437573746F6D6572732200010C3100000020446174615365743D225265706F7274446174612E4974656D7344532220446174615365744E616D653D224974656D732200010C3300000020446174615365743D225265706F7274446174612E4F726465727344532220446174615365744E616D653D224F72646572732200010C3000000020446174615365743D225265706F7274446174612E5061727444532220446174615365744E616D653D225061727473220000095661726961626C65730100055374796C650100">
<TfrxDataPage Name="Data" Height="1000" Left="0" Top="0" Width="1000"/>
<TfrxReportPage Name="Page1" PaperWidth="210" PaperHeight="297" PaperSize="9" LeftMargin="5" RightMargin="5" TopMargin="5" BottomMargin="5" Columns="1" ColumnWidth="210" ColumnPositions.Text="0" PrintOnPreviousPage="True" HGuides.Text="" VGuides.Text="">
<TfrxPageFooter Name="Band1" Height="22,67718" Left="0" Top="525,35467" Width="755,906">
<TfrxMemoView Name="Memo5" Left="3,77953" Top="3,77953000000002" Width="710,55164" Height="15,11812" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Typ="4" Frame.Width="2" HAlign="haRight" ParentFont="False" Text="[Page#]"/>
</TfrxPageFooter>
<TfrxReportTitle Name="Band2" Height="30,23624" Left="0" Top="18,89765" Width="755,906">
<TfrxMemoView Name="Memo6" Left="3,77953" Top="3,77953" Width="710,55164" Height="22,67718" ShowHint="False" Color="8421504" Font.Charset="1" Font.Color="16777215" Font.Height="-16" Font.Name="Arial" Font.Style="1" HAlign="haCenter" ParentFont="False" VAlign="vaCenter" Text="Customers"/>
</TfrxReportTitle>
<TfrxPageHeader Name="Band3" Height="22,67718" Left="0" Top="68,03154" Width="755,906" PrintOnFirstPage="False">
<TfrxMemoView Name="Memo16" Left="3,77953" Top="3,77952999999999" Width="710,55164" Height="15,11812" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Typ="4" Frame.Width="2" ParentFont="False" Text=""/>
</TfrxPageHeader>
<TfrxGroupHeader Name="Band4" Height="45,35436" Left="0" Top="151,1812" Width="755,906" Condition="Customers.&#34;Cust No&#34;" DrillDown="True">
<TfrxGradientView Name="Gradient1" Left="3,77953" Top="0" Width="710,55164" Height="45,35436" ShowHint="False" EndColor="128" Style="gsVertical" Color="8421568"/>
<TfrxMemoView Name="Memo17" Left="3,77953" Top="0" Width="287,24428" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" Frame.Typ="5" GapX="6" ParentFont="False" VAlign="vaCenter" Text="Company"/>
<TfrxMemoView Name="Memo19" Left="291,02381" Top="0" Width="177,63791" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" Frame.Typ="4" ParentFont="False" VAlign="vaCenter" Text="Phone"/>
<TfrxMemoView Name="Memo20" Left="468,66172" Top="0" Width="245,66945" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" Frame.Typ="6" ParentFont="False" VAlign="vaCenter" Text="Fax"/>
<TfrxMemoView Name="Memo21" Left="291,02381" Top="18,89765" Width="177,63791" Height="26,45671" ShowHint="False" Font.Charset="1" Font.Color="16777215" Font.Height="-19" Font.Name="Arial" Font.Style="2" Frame.Color="12632256" ParentFont="False" VAlign="vaCenter" Text="[Customers.&#34;Phone&#34;]"/>
<TfrxMemoView Name="Memo22" Left="468,66172" Top="18,89765" Width="245,66945" Height="26,45671" ShowHint="False" Font.Charset="1" Font.Color="16777215" Font.Height="-19" Font.Name="Arial" Font.Style="2" Frame.Color="12632256" Frame.Typ="2" ParentFont="False" VAlign="vaCenter" Text="[Customers.&#34;FAX&#34;]"/>
<TfrxMemoView Name="Memo18" Left="3,77953" Top="18,89765" Width="287,24428" Height="26,45671" ShowHint="False" Font.Charset="1" Font.Color="16777215" Font.Height="-19" Font.Name="Arial" Font.Style="2" Frame.Color="12632256" Frame.Typ="1" GapX="6" ParentFont="False" VAlign="vaCenter" Text="[Customers.&#34;Company&#34;]"/>
</TfrxGroupHeader>
<TfrxGroupHeader Name="Band5" Height="37,7953" Left="0" Top="215,43321" Width="755,906" Condition="Orders.&#34;Order No&#34;" DrillDown="True">
<TfrxMemoView Name="Memo3" Left="3,77953" Top="18,89765" Width="52,91342" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Color="12632256" Frame.Typ="1" ParentFont="False" Text=""/>
<TfrxMemoView Name="Memo8" Left="3,77953" Top="0" Width="124,72449" Height="18,89765" ShowHint="False" Color="12632256" Frame.Color="12632256" Frame.Typ="1" GapX="4" Text="Order No [Orders.&#34;Order No&#34;]"/>
<TfrxMemoView Name="Memo9" Left="128,50402" Top="0" Width="585,82715" Height="18,89765" ShowHint="False" Color="12632256" Frame.Color="12632256" Frame.Typ="2" Text="Date [Orders.&#34;Sale Date&#34;]"/>
<TfrxMemoView Name="Memo10" Left="56,69295" Top="18,89765" Width="71,81107" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haCenter" ParentFont="False" Text="Part"/>
<TfrxMemoView Name="Memo11" Left="128,50402" Top="18,89765" Width="279,68522" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haCenter" ParentFont="False" Text="Description"/>
<TfrxMemoView Name="Memo12" Left="408,18924" Top="18,8976500000001" Width="83,14966" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haCenter" ParentFont="False" Text="Price"/>
<TfrxMemoView Name="Memo13" Left="491,3389" Top="18,8976500000001" Width="60,47248" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haCenter" ParentFont="False" Text="Qty"/>
<TfrxMemoView Name="Memo14" Left="551,81138" Top="18,8976500000001" Width="90,70872" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haCenter" ParentFont="False" Text="Total"/>
<TfrxMemoView Name="Memo31" Left="642,5201" Top="18,8976500000001" Width="71,81107" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Color="12632256" Frame.Typ="2" ParentFont="False" Text=""/>
</TfrxGroupHeader>
<TfrxMasterData Name="Band6" Height="0" Left="0" Top="272,12616" Width="755,906" Columns="1" ColumnWidth="200" ColumnGap="20" DataSet="ReportData.CustomersDS" DataSetName="Customers" RowCount="0"/>
<TfrxGroupFooter Name="Band7" Height="30,23624" Left="0" Top="430,86642" Width="755,906">
<TfrxMemoView Name="Memo28" Left="3,77953" Top="0" Width="710,55164" Height="18,89765" ShowHint="False" Color="12632256" DisplayFormat.FormatStr="%2.2m" DisplayFormat.Kind="fkNumeric" Frame.Color="12632256" Frame.Typ="11" Text="Total sales this customer: [Sum(&#60;Items.&#34;Qty&#34;&#62;*&#60;Parts.&#34;List Price&#34;&#62;)]"/>
</TfrxGroupFooter>
<TfrxGroupFooter Name="Band8" Height="22,67718" Left="0" Top="385,51206" Width="755,906">
<TfrxMemoView Name="Memo1" Left="3,77953" Top="0" Width="52,91342" Height="22,67718" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Color="12632256" Frame.Typ="1" ParentFont="False" Text=""/>
<TfrxMemoView Name="Memo15" Left="56,69295" Top="0" Width="585,82715" Height="22,67718" ShowHint="False" DisplayFormat.FormatStr="%2.2m" DisplayFormat.Kind="fkNumeric" Font.Charset="1" Font.Color="128" Font.Height="-13" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" Frame.Typ="4" HAlign="haRight" ParentFont="False" Text="Total this order: [Sum(&#60;Items.&#34;Qty&#34;&#62;*&#60;Parts.&#34;List Price&#34;&#62;)]"/>
<TfrxMemoView Name="Memo33" Left="642,5201" Top="0" Width="71,81107" Height="22,67718" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Color="12632256" Frame.Typ="2" ParentFont="False" Text=""/>
</TfrxGroupFooter>
<TfrxDetailData Name="DetailData1" Height="0" Left="0" Top="294,80334" Width="755,906" OnBeforePrint="DataBand41OnBeforePrint" ColumnWidth="0" ColumnGap="0" DataSet="ReportData.OrdersDS" DataSetName="Orders" RowCount="0"/>
<TfrxSubdetailData Name="SubdetailData1" Font.Charset="1" Font.Color="0" Font.Height="-7" Font.Name="Arial" Font.Style="0" Height="0" Left="0" ParentFont="False" Top="317,48052" Width="755,906" OnBeforePrint="DataBand41OnBeforePrint" ColumnWidth="0" ColumnGap="0" DataSet="ReportData.ItemsDS" DataSetName="Items" RowCount="0"/>
<TfrxDataBand4 Name="DataBand41" Height="18,89765" Left="0" Top="340,1577" Width="755,906" OnBeforePrint="DataBand41OnBeforePrint" ColumnWidth="0" ColumnGap="0" DataSet="ReportData.PartDS" DataSetName="Parts" RowCount="0">
<TfrxMemoView Name="Memo2" Left="3,77952755905512" Top="0" Width="52,91342" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Color="12632256" Frame.Typ="1" ParentFont="False" Text=""/>
<TfrxMemoView Name="Memo23" Left="56,91342" Top="0" Width="71,81107" Height="18,89765" ShowHint="False" DataSet="ReportData.QueryDS" DataSetName="Sales" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haCenter" ParentFont="False" Text="[Parts.&#34;Part No&#34;]"/>
<TfrxMemoView Name="Memo24" Left="128,72449" Top="0" Width="279,68522" Height="18,89765" ShowHint="False" DataSet="ReportData.QueryDS" DataSetName="Sales" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" ParentFont="False" Text="[Parts.&#34;Description&#34;]"/>
<TfrxMemoView Name="Memo25" Left="408,40971" Top="0" Width="83,14966" Height="18,89765" ShowHint="False" DataSet="ReportData.QueryDS" DataSetName="Sales" DisplayFormat.FormatStr="%2.2m" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haRight" ParentFont="False" Text="[Parts.&#34;List Price&#34;]"/>
<TfrxMemoView Name="Memo26" Left="491,55937" Top="0" Width="60,47248" Height="18,89765" ShowHint="False" DataSet="ReportData.QueryDS" DataSetName="Sales" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haCenter" ParentFont="False" Text="[Items.&#34;Qty&#34;]"/>
<TfrxMemoView Name="Memo27" Left="552,03185" Top="0" Width="90,70872" Height="18,89765" ShowHint="False" DisplayFormat.FormatStr="%2.2m" DisplayFormat.Kind="fkNumeric" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haRight" ParentFont="False" Text="[&#60;Items.&#34;Qty&#34;&#62;*&#60;Parts.&#34;List Price&#34;&#62;]"/>
<TfrxMemoView Name="Memo32" Left="642,74057" Top="0" Width="71,81107" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Color="12632256" Frame.Typ="2" ParentFont="False" Text=""/>
</TfrxDataBand4>
</TfrxReportPage>
</TfrxReport>

52
Demos/Main/99.fr3 Normal file
View File

@ -0,0 +1,52 @@
<?xml version="1.0" encoding="utf-8"?>
<TfrxReport Version="4.9" DotMatrixReport="False" EngineOptions.DoublePass="True" IniFile="\Software\Fast Reports" PreviewOptions.Buttons="4095" PreviewOptions.Zoom="1" PrintOptions.Printer="Default" PrintOptions.PrintOnSheet="0" ReportOptions.CreateDate="37871,9959574884" ReportOptions.Description.Text="This report shows the new group feature, reset page numbers. Each group starts a new page and has its own page numbering (including total pages).&#13;&#10;&#13;&#10;To use it, set group header's properties StartNewPage and ResetPageNumbers to true." ReportOptions.LastChange="40197,6002576968" ScriptLanguage="PascalScript" ScriptText.Text="begin&#13;&#10;&#13;&#10;end." PropData="044C656674025803546F7003700108446174617365747301010C3100000020446174615365743D225265706F7274446174612E517565727944532220446174615365744E616D653D2253616C6573220000095661726961626C65730100055374796C650100">
<TfrxDataPage Name="Data" Height="1000" Left="0" Top="0" Width="1000"/>
<TfrxReportPage Name="Page1" PaperWidth="210" PaperHeight="297" PaperSize="9" LeftMargin="5" RightMargin="5" TopMargin="5" BottomMargin="5" Columns="1" ColumnWidth="210" ColumnPositions.Text="0" PrintOnPreviousPage="True" HGuides.Text="" VGuides.Text="">
<TfrxPageFooter Name="Band1" Height="22,67718" Left="0" Top="457,32313" Width="755,906">
<TfrxMemoView Name="Memo5" Left="3,77953" Top="3,77953000000002" Width="710,55164" Height="15,11812" ShowHint="False" DisplayFormat.DecimalSeparator="," Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Typ="4" Frame.Width="2" HAlign="haRight" ParentFont="False" Text="Page [Page] of [TotalPages]"/>
</TfrxPageFooter>
<TfrxReportTitle Name="Band2" Height="30,23624" Left="0" Top="18,89765" Width="755,906">
<TfrxMemoView Name="Memo6" Left="3,77953" Top="3,77953" Width="710,55164" Height="22,67718" ShowHint="False" Color="8421504" Font.Charset="1" Font.Color="16777215" Font.Height="-16" Font.Name="Arial" Font.Style="1" HAlign="haCenter" ParentFont="False" VAlign="vaCenter" Text="Customers"/>
</TfrxReportTitle>
<TfrxPageHeader Name="Band3" Height="22,67718" Left="0" Top="68,03154" Width="755,906" PrintOnFirstPage="False">
<TfrxMemoView Name="Memo16" Left="3,77953" Top="3,77952999999999" Width="710,55164" Height="15,11812" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Typ="4" Frame.Width="2" ParentFont="False" Text=""/>
</TfrxPageHeader>
<TfrxGroupHeader Name="Band4" Height="45,35436" Left="0" Top="151,1812" Width="755,906" Condition="Sales.&#34;Cust No&#34;" ResetPageNumbers="True" StartNewPage="True">
<TfrxGradientView Name="Gradient1" Left="3,77953" Top="0" Width="710,55164" Height="45,35436" ShowHint="False" EndColor="128" Style="gsVertical"/>
<TfrxMemoView Name="Memo17" Left="3,77953" Top="0" Width="287,24428" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" Frame.Typ="5" GapX="6" ParentFont="False" VAlign="vaCenter" Text="Company"/>
<TfrxMemoView Name="Memo19" Left="291,02381" Top="0" Width="177,63791" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" Frame.Typ="4" ParentFont="False" VAlign="vaCenter" Text="Phone"/>
<TfrxMemoView Name="Memo20" Left="468,66172" Top="0" Width="245,66945" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" Frame.Typ="6" ParentFont="False" VAlign="vaCenter" Text="Fax"/>
<TfrxMemoView Name="Memo21" Left="291,02381" Top="18,89765" Width="177,63791" Height="26,45671" ShowHint="False" Font.Charset="1" Font.Color="16777215" Font.Height="-19" Font.Name="Arial" Font.Style="2" Frame.Color="12632256" ParentFont="False" VAlign="vaCenter" Text="[Sales.&#34;Phone&#34;]"/>
<TfrxMemoView Name="Memo22" Left="468,66172" Top="18,89765" Width="245,66945" Height="26,45671" ShowHint="False" Font.Charset="1" Font.Color="16777215" Font.Height="-19" Font.Name="Arial" Font.Style="2" Frame.Color="12632256" Frame.Typ="2" ParentFont="False" VAlign="vaCenter" Text="[Sales.&#34;FAX&#34;]"/>
<TfrxMemoView Name="Memo18" Left="3,77953" Top="18,89765" Width="287,24428" Height="26,45671" ShowHint="False" Font.Charset="1" Font.Color="16777215" Font.Height="-19" Font.Name="Arial" Font.Style="2" Frame.Color="12632256" Frame.Typ="1" GapX="6" ParentFont="False" VAlign="vaCenter" Text="[Sales.&#34;Company&#34;]"/>
</TfrxGroupHeader>
<TfrxGroupHeader Name="Band5" Height="37,7953" Left="0" Top="215,43321" Width="755,906" Condition="Sales.&#34;Order No&#34;">
<TfrxMemoView Name="Memo3" Left="3,77953" Top="18,8976500000001" Width="52,91342" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Color="12632256" Frame.Typ="1" ParentFont="False" Text=""/>
<TfrxMemoView Name="Memo8" Left="3,77953" Top="0" Width="124,72449" Height="18,89765" ShowHint="False" Color="12632256" Frame.Color="12632256" Frame.Typ="1" GapX="4" Text="Order No [Sales.&#34;Order No&#34;]"/>
<TfrxMemoView Name="Memo9" Left="128,50402" Top="0" Width="585,82715" Height="18,89765" ShowHint="False" Color="12632256" Frame.Color="12632256" Frame.Typ="2" Text="Date [Sales.&#34;Sale Date&#34;]"/>
<TfrxMemoView Name="Memo10" Left="56,69295" Top="18,8976500000001" Width="71,81107" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haCenter" ParentFont="False" Text="Part"/>
<TfrxMemoView Name="Memo11" Left="128,50402" Top="18,8976500000001" Width="279,68522" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haCenter" ParentFont="False" Text="Description"/>
<TfrxMemoView Name="Memo12" Left="408,18924" Top="18,8976500000001" Width="83,14966" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haCenter" ParentFont="False" Text="Price"/>
<TfrxMemoView Name="Memo13" Left="491,3389" Top="18,8976500000001" Width="60,47248" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haCenter" ParentFont="False" Text="Qty"/>
<TfrxMemoView Name="Memo14" Left="551,81138" Top="18,8976500000001" Width="90,70872" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haCenter" ParentFont="False" Text="Total"/>
<TfrxMemoView Name="Memo31" Left="642,5201" Top="18,8976500000001" Width="71,81107" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Color="12632256" Frame.Typ="2" ParentFont="False" Text=""/>
</TfrxGroupHeader>
<TfrxMasterData Name="Band6" Height="18,89765" Left="0" Top="272,12616" Width="755,906" Columns="1" ColumnWidth="200" ColumnGap="20" DataSet="ReportData.QueryDS" DataSetName="Sales" RowCount="0">
<TfrxMemoView Name="Memo2" Left="3,77953" Top="0" Width="52,91342" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Color="12632256" Frame.Typ="1" ParentFont="False" Text=""/>
<TfrxMemoView Name="Memo23" Left="56,69295" Top="0" Width="71,81107" Height="18,89765" ShowHint="False" DataField="Part No" DataSet="ReportData.QueryDS" DataSetName="Sales" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haCenter" ParentFont="False" Text="[Sales.&#34;Part No&#34;]"/>
<TfrxMemoView Name="Memo24" Left="128,50402" Top="0" Width="279,68522" Height="18,89765" ShowHint="False" DataField="Description" DataSet="ReportData.QueryDS" DataSetName="Sales" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" ParentFont="False" Text="[Sales.&#34;Description&#34;]"/>
<TfrxMemoView Name="Memo25" Left="408,18924" Top="0" Width="83,14966" Height="18,89765" ShowHint="False" DataField="List Price" DataSet="ReportData.QueryDS" DataSetName="Sales" DisplayFormat.FormatStr="%2.2m" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haRight" ParentFont="False" Text="[Sales.&#34;List Price&#34;]"/>
<TfrxMemoView Name="Memo26" Left="491,3389" Top="0" Width="60,47248" Height="18,89765" ShowHint="False" DataField="Qty" DataSet="ReportData.QueryDS" DataSetName="Sales" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haCenter" ParentFont="False" Text="[Sales.&#34;Qty&#34;]"/>
<TfrxMemoView Name="Memo27" Left="551,81138" Top="0" Width="90,70872" Height="18,89765" ShowHint="False" DisplayFormat.FormatStr="%2.2m" DisplayFormat.Kind="fkNumeric" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" HAlign="haRight" ParentFont="False" Text="[&#60;Sales.&#34;Qty&#34;&#62;*&#60;Sales.&#34;List Price&#34;&#62;]"/>
<TfrxMemoView Name="Memo32" Left="642,5201" Top="0" Width="71,81107" Height="18,89765" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Color="12632256" Frame.Typ="2" ParentFont="False" Text=""/>
</TfrxMasterData>
<TfrxGroupFooter Name="Band7" Height="30,23624" Left="0" Top="362,83488" Width="755,906">
<TfrxMemoView Name="Memo28" Left="3,77953" Top="0" Width="710,55164" Height="18,89765" ShowHint="False" Color="12632256" DisplayFormat.FormatStr="%2.2m" DisplayFormat.Kind="fkNumeric" Frame.Color="12632256" Frame.Typ="11" Text="Total sales this customer: [Sum(&#60;Sales.&#34;Qty&#34;&#62;*&#60;Sales.&#34;List Price&#34;&#62;)]"/>
</TfrxGroupFooter>
<TfrxGroupFooter Name="Band8" Height="22,67718" Left="0" Top="317,48052" Width="755,906">
<TfrxMemoView Name="Memo1" Left="3,77953" Top="0" Width="52,91342" Height="22,67718" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Color="12632256" Frame.Typ="1" ParentFont="False" Text=""/>
<TfrxMemoView Name="Memo15" Left="56,69295" Top="0" Width="585,82715" Height="22,67718" ShowHint="False" DisplayFormat.FormatStr="%2.2m" DisplayFormat.Kind="fkNumeric" Font.Charset="1" Font.Color="128" Font.Height="-13" Font.Name="Arial" Font.Style="0" Frame.Color="12632256" Frame.Typ="4" HAlign="haRight" ParentFont="False" Text="Total this order: [Sum(&#60;Sales.&#34;Qty&#34;&#62;*&#60;Sales.&#34;List Price&#34;&#62;)]"/>
<TfrxMemoView Name="Memo33" Left="642,5201" Top="0" Width="71,81107" Height="22,67718" ShowHint="False" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Color="12632256" Frame.Typ="2" ParentFont="False" Text=""/>
</TfrxGroupFooter>
</TfrxReportPage>
</TfrxReport>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
<?xml version="1.0" standalone="yes"?> <DATAPACKET Version="2.0"><METADATA><FIELDS><FIELD attrname="Name" fieldtype="string.uni" WIDTH="40"/><FIELD attrname="Year" fieldtype="i2"/><FIELD attrname="Month" fieldtype="i4"/><FIELD attrname="Days" fieldtype="i4"/><FIELD attrname="Salary" fieldtype="fixed" DECIMALS="4" WIDTH="19"/></FIELDS><PARAMS/></METADATA><ROWDATA><ROW Name="Ann" Year="1999" Month="2" Days="1" Salary="1000.0000"/><ROW Name="Ann" Year="1999" Month="11" Days="1" Salary="1100.0000"/><ROW Name="Ann" Year="1999" Month="12" Days="1" Salary="1200.0000"/><ROW Name="Ann" Year="2000" Month="1" Days="1" Salary="1300.0000"/><ROW Name="Ann" Year="2000" Month="2" Days="2" Salary="1400.0000"/><ROW Name="Ann" Year="2001" Month="2" Days="2" Salary="1500.0000"/><ROW Name="Ann" Year="2001" Month="3" Days="2" Salary="1600.0000"/><ROW Name="Ann" Year="2002" Month="1" Days="2" Salary="1700.0000"/><ROW Name="Ben" Year="2002" Month="1" Days="2" Salary="1800.0000"/><ROW Name="Ben" Year="1999" Month="10" Days="2" Salary="1900.0000"/><ROW Name="Ben" Year="1999" Month="11" Days="2" Salary="2000.0000"/><ROW Name="Ben" Year="2000" Month="2" Days="2" Salary="2100.0000"/><ROW Name="Catherine" Year="1999" Month="10" Days="3" Salary="3000.0000"/><ROW Name="Catherine" Year="1999" Month="11" Days="3" Salary="3100.0000"/><ROW Name="Catherine" Year="2000" Month="3" Days="3" Salary="3200.0000"/><ROW Name="Den" Year="2001" Month="1" Days="3" Salary="4000.0000"/><ROW Name="Den" Year="2001" Month="2" Days="4" Salary="4100.0000"/><ROW Name="Den" Year="2000" Month="1" Days="4" Salary="3999.0000"/></ROWDATA></DATAPACKET>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
<?xml version="1.0" standalone="yes"?> <DATAPACKET Version="2.0"><METADATA><FIELDS><FIELD attrname="EmpNo" fieldtype="i4"><PARAM Name="PROVFLAGS" Value="7" Type="i4" Roundtrip="True"/></FIELD><FIELD attrname="LastName" fieldtype="string.uni" WIDTH="40"/><FIELD attrname="FirstName" fieldtype="string.uni" WIDTH="30"/><FIELD attrname="PhoneExt" fieldtype="string.uni" WIDTH="8"/><FIELD attrname="HireDate" fieldtype="dateTime"/><FIELD attrname="Salary" fieldtype="r8"/></FIELDS><PARAMS DEFAULT_ORDER="1" PRIMARY_KEY="1"/></METADATA><ROWDATA><ROW EmpNo="2" LastName="Nelson" FirstName="Roberto" PhoneExt="250" HireDate="19881228" Salary="40000"/><ROW EmpNo="4" LastName="Young" FirstName="Bruce" PhoneExt="233" HireDate="19881228" Salary="55500"/><ROW EmpNo="5" LastName="Lambert" FirstName="Kim" PhoneExt="22" HireDate="19890206" Salary="25000"/><ROW EmpNo="8" LastName="Johnson" FirstName="Leslie" PhoneExt="410" HireDate="19890405" Salary="25050"/><ROW EmpNo="9" LastName="Forest" FirstName="Phil" PhoneExt="229" HireDate="19890417" Salary="25050"/><ROW EmpNo="11" LastName="Weston" FirstName="K. J." PhoneExt="34" HireDate="19900117" Salary="33292.9375"/><ROW EmpNo="12" LastName="Lee" FirstName="Terri" PhoneExt="256" HireDate="19900501" Salary="45332"/><ROW EmpNo="14" LastName="Hall" FirstName="Stewart" PhoneExt="227" HireDate="19900604" Salary="34482.625"/><ROW EmpNo="15" LastName="Young" FirstName="Katherine" PhoneExt="231" HireDate="19900614" Salary="24400"/><ROW EmpNo="20" LastName="Papadopoulos" FirstName="Chris" PhoneExt="887" HireDate="19900101" Salary="25050"/><ROW EmpNo="24" LastName="Fisher" FirstName="Pete" PhoneExt="888" HireDate="19900912" Salary="23040"/><ROW EmpNo="28" LastName="Bennet" FirstName="Ann" PhoneExt="5" HireDate="19910201" Salary="34482.8"/><ROW EmpNo="29" LastName="De Souza" FirstName="Roger" PhoneExt="288" HireDate="19910218" Salary="25500"/><ROW EmpNo="34" LastName="Baldwin" FirstName="Janet" PhoneExt="2" HireDate="19910321" Salary="23300"/><ROW EmpNo="36" LastName="Reeves" FirstName="Roger" PhoneExt="6" HireDate="19910425" Salary="33620"/><ROW EmpNo="37" LastName="Stansbury" FirstName="Willie" PhoneExt="7" HireDate="19910425" Salary="39224"/><ROW EmpNo="44" LastName="Phong" FirstName="Leslie" PhoneExt="216" HireDate="19910603" Salary="40350"/><ROW EmpNo="45" LastName="Ramanathan" FirstName="Ashok" PhoneExt="209" HireDate="19910801" Salary="33292.94"/><ROW EmpNo="46" LastName="Steadman" FirstName="Walter" PhoneExt="210" HireDate="19910809" Salary="19599"/><ROW EmpNo="52" LastName="Nordstrom" FirstName="Carol" PhoneExt="420" HireDate="19911002" Salary="4500"/><ROW EmpNo="61" LastName="Leung" FirstName="Luke" PhoneExt="3" HireDate="19920218" Salary="34500"/><ROW EmpNo="65" LastName="O&apos;Brien" FirstName="Sue Anne" PhoneExt="877" HireDate="19920323" Salary="31275"/><ROW EmpNo="71" LastName="Burbank" FirstName="Jennifer M." PhoneExt="289" HireDate="19920415" Salary="45332"/><ROW EmpNo="72" LastName="Sutherland" FirstName="Claudia" HireDate="19920420" Salary="35699"/><ROW EmpNo="83" LastName="Bishop" FirstName="Dana" PhoneExt="290" HireDate="19920601" Salary="45000"/><ROW EmpNo="85" LastName="MacDonald" FirstName="Mary S." PhoneExt="477" HireDate="19920601" Salary="35699"/><ROW EmpNo="94" LastName="Williams" FirstName="Randy" PhoneExt="892" HireDate="19920808" Salary="28900"/><ROW EmpNo="105" LastName="Bender" FirstName="Oliver H." PhoneExt="255" HireDate="19921008" Salary="36799"/><ROW EmpNo="107" LastName="Cook" FirstName="Kevin" PhoneExt="894" HireDate="19930201" Salary="35500"/><ROW EmpNo="109" LastName="Brown" FirstName="Kelly" PhoneExt="202" HireDate="19930204" Salary="27000"/><ROW EmpNo="110" LastName="Ichida" FirstName="Yuki" PhoneExt="22" HireDate="19930204" Salary="25689"/><ROW EmpNo="113" LastName="Page" FirstName="Mary" PhoneExt="845" HireDate="19930412" Salary="48000"/><ROW EmpNo="114" LastName="Parker" FirstName="Bill" PhoneExt="247" HireDate="19930601" Salary="35000"/><ROW EmpNo="118" LastName="Yamamoto" FirstName="Takashi" PhoneExt="23" HireDate="19930701" Salary="32500"/><ROW EmpNo="121" LastName="Ferrari" FirstName="Roberto" PhoneExt="1" HireDate="19930712" Salary="40500"/><ROW EmpNo="127" LastName="Yanowski" FirstName="Michael" PhoneExt="492" HireDate="19930809" Salary="44000"/><ROW EmpNo="134" LastName="Glon" FirstName="Jacques" HireDate="19930823" Salary="24855"/><ROW EmpNo="136" LastName="Johnson" FirstName="Scott" PhoneExt="265" HireDate="19930913" Salary="30588.99"/><ROW EmpNo="138" LastName="Green" FirstName="T.J." PhoneExt="218" HireDate="19931101" Salary="36000"/><ROW EmpNo="141" LastName="Osborne" FirstName="Pierre" HireDate="19940103" Salary="35600"/><ROW EmpNo="144" LastName="Montgomery" FirstName="John" PhoneExt="820" HireDate="19940330" Salary="35699"/><ROW EmpNo="145" LastName="Guckenheimer" FirstName="Mark" PhoneExt="221" HireDate="19940502" Salary="32000"/></ROWDATA></DATAPACKET>

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
<?xml version="1.0" standalone="yes"?> <DATAPACKET Version="2.0"><METADATA><FIELDS><FIELD attrname="NewCust" fieldtype="r8"/></FIELDS><PARAMS/></METADATA><ROWDATA><ROW NewCust="9851"/></ROWDATA></DATAPACKET>

View File

@ -0,0 +1 @@
<?xml version="1.0" standalone="yes"?> <DATAPACKET Version="2.0"><METADATA><FIELDS><FIELD attrname="NewKey" fieldtype="r8"/></FIELDS><PARAMS/></METADATA><ROWDATA><ROW NewKey="1095"/></ROWDATA></DATAPACKET>

View File

@ -0,0 +1 @@
<?xml version="1.0" standalone="yes"?> <DATAPACKET Version="2.0"><METADATA><FIELDS><FIELD attrname="NewKey" fieldtype="r8"/></FIELDS><PARAMS/></METADATA><ROWDATA><ROW NewKey="1861"/></ROWDATA></DATAPACKET>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

17
Demos/Main/Project1.dpr Normal file
View File

@ -0,0 +1,17 @@
program Project1;
uses
FMX.Forms,
FMX.Types,
Unit2 in 'Unit2.pas' {Form2},
Unit3 in 'Unit3.pas' {DataModule3: TDataModule};
{$R *.res}
begin
GlobalUseDirect2D := False;
Application.Initialize;
Application.CreateForm(TDataModule3, DataModule3);
Application.CreateForm(TForm2, Form2);
Application.Run;
end.

1536
Demos/Main/Project1.dproj Normal file

File diff suppressed because it is too large Load Diff

BIN
Demos/Main/Project1.res Normal file

Binary file not shown.

735
Demos/Main/Unit2.fmx Normal file
View File

@ -0,0 +1,735 @@
object Form2: TForm2
Tag = 42
Left = 0
Top = 0
BorderStyle = bsSingle
Caption = 'FastReport for Firemonkey'
ClientHeight = 561
ClientWidth = 567
OnCreate = FormCreate
object ToolBar1: TToolBar
Align = alMostTop
Height = 67.000000000000000000
Width = 567.000000000000000000
object Image1: TImage
Bitmap.PNG = {
89504E470D0A1A0A0000000D4948445200000040000000400806000000AA6971
DE000013E249444154785EE55B7950D675B767154410455C90555476D9641511
01C17D4DC50541710BCD5D7349DC454184877D5F15DCC8356DBDDD32D3D79A6E
B7A96E534DDDA6E9BE4DF76D6A6A7AFFFEDCF3F9C2030F28CFEFC19CE91D6F33
6734447CCEE77BBEE77CCEE79CAFB9999919C4FE5FFF4700909090A06CCA9429
5D161F1F0FBD4D9E3C197A8B8B8B83B2499330A9D3626363418B898951161D1D
DD65515151A04546462A8B8888503671E2444C0C0F47B858585898B2D0D05065
212121CA828383954D983001414141CA0203039505040420C0DF1FFE627E7E7E
CA7C7D7DE1EBE3031FB1F1E3C72B1B376E1CC68D1D8BB162DEDEDECA3A0F5E1D
7E97F3393939A01D3C78102FBDF492B203070E60FFFEFDCAF6EDDB87BD7BF7E2
C5175FC49E3D7B94EDDEBD1BBB76EDC2CE9D3BB163C70E6CDFBE1DDBB66DC3D6
AD5B956DD9B2052FBCF002366FDE8C4D9B36213B3B1BCF3FFF3C366EDC880DEB
D763DDBA7558BB762DB2B2B2B066CD1AAC5EBD1A999999C8C8C8C0AA55AB909E
9E8E952B5660F9F2E558B66C19D2D2D2B074E9522C59B2048B9F7B0E8B162DC2
C2850BB160C102CC9F3F1FF3E6CEC59C3973307BF66CCC9A350B3367CEC48CE9
D3919A9A8A9494144C9B360D63C68C819797971E840E00F4CEBFF1C61BA0BDFE
FAEB78EDB5D770E7CE1DDCBE7D1BAFBCF20A6EDDBA859B376FE2FAF5EBB876ED
1AAE5EBD8A975F7E1957AE5CC1E5CB9771E9D2255CB870016D6D6D683DDF8A73
E7CEA1A5A5054D4D4D686C6C447D7D3DEAEAEA50535383EAAA2A545656A2BCBC
1C656565282929814EA743515111CE9E3D8B3367CE203F3F1FA74F9F466E6E2E
4E9E3881E3C78FE3E8D1A3387CF8300E751E140F8807A30EA5F33078103C0405
3E81CFDEA440DFB06103929392919898D81300863D0178F3CD3795F3FFFCE73F
F1C71F7FE0F7DF7FC76FBFFD865F7FFD15BFFCF20B7EFEF967FCE37FFF819F7E
FA093FFEF823FEFE3F7FC70F3FFC80EFBFFF1EDF7DF71DBEFDF65B7CF3CD37F8
FAEBAFF1E5975FE28B2FBEC0E79F7F8E4F3FFD149F7CF2093EFEF8637CF4D147
F8F0C30FF1F0E1433CB87F1FF7EEDDC3DDBB77F1CE3BEFE0EDB7DFC65BF21908
FEABAFBEAA80BFD50938C16E17A0F520B79E3FDF052E81ADADAD55A056545428
408B8B8B3BC02C28E800F2D429156D8CB4A953A7C2D3D3B33B020800C3FE5976
FEE4C993387EEC38D6C81563C4F709C0B378F27AE78F1C3982CC8C4C95E43D3C
3C7A4600131E43EF590B7B43E70F1D3AA4126BBC54347777F76E0058EA080093
DEB374E77B3B7F507C5CB972A52AE18F00C06CFA9A249E6725E13DCE79967296
5372173737B79E11400098799F856CDF97F37BA554924790B0B9B91A00408647
7458F3B54ADD7F4BA9FBFAABAF5579FBECB3CFE4D7FF7ABAA5AEBDBD83535CBC
A8F804B9047984A9A5CE98F3246D4B8540C544C7C0D5D5B53B020800C904EBAE
569DFFEACBAF70FFFD0758B16C0D621366C03F3C0EE38327C12B301A1EFE9170
F7FB73E6217F7FB8BB1F46B98D836E6636DA845091449952E7B59CDFB9632716
2F5EAC68F9E8D1A30D0090A4B04F282ED99E16C9F9F83FFE13AB3336C2D36B3C
06DA39C0CA7A002C2C2C61666E6EC8AFFFDCEFE567595BDB2036663A6ED5B6A3
B9A959484EB55192638AF36487A4CEEC477A00C0AC488E4FD6A5C5F01EFCED21
52662E8483A313CC2D2CFE9CA31D9DE863CDDCDC022EC35D51B3E3145A1A9A50
6984E199EA3CA9F142E919D888B9B8B8744700012097BE71E38626BDBDFFE06F
989A3A1776F68E4FF7D47B01C1A87273F144F5CEE368AA6B40791FF4B63FCE6F
96668C0D13BB5097510600B02CB0B36393A3C5EDDFBFFF000929730480C182A0
76D89BCBF7585A5829A353E6468C7F6E25DF676B650BA7C1CE488E9F89D6AA66
D4D7D6A966A937B7EFAFF36C88E64AB7C8F67BD4A851DD1140009821D9E16935
36EFDD7B5F0130709036007428306C0A0A8266A33166291AA297A0294A2C2015
CDBDAC31603E1AC46A03E7A12C2805C5D1F3D05ED18CA6DA0609FF4A144BA758
D8D925B2437C12E7D97EB355A6EE3072E4C86E005817D9D3B3B5D5EAEAEEBD7F
1F714933616B67AF71FFCDE1347C344E6D9726EBCA75BC7EE755DC91247BE3FA
0DF5EFB0D4B17536ECEA1A1B1AD020C65F5BEA1B70BEA21A0D053A541514A1EA
AC98AE0465BA629CC9CBC709698DC9ED496FC9F058C659E77990CCF6FA769861
AF5A61719EBAC36CD10828B83C0A80081AED5283B55ADA079203A2E25330C0D6
CE2800169696080B8FC7AD76713EAF022D113351EB14885AC700D43AF8A17690
EFE3CD5EFE6CB03F6A9C8250352C001523C351E51E83E6E839B8BE250737734B
509E9B8793478FF5DB790A2E1448A8348D1831A2670450D1A1B0A1D5CF3FFCE0
0384444F85D5001BA300585A5921227C325EB92AE249C64E543887A0D8CC456C
1474261ABF57FD1D0B7794D878A3D22918B5DE71684C5D86B3874418399863F2
C9D3F94C519966CC98A124B61E0050C3A38A42B1414BCC78F8F00304454C81A5
D5000D00AC112500DCBCFC32AEA56D4599FD78931DEF1B2001C3D20D2583C6A3
C2230A270F1FC17E21705A61AF779EF2DA7491C6A82F0E1F3EBC3B020800B5BC
8B423FB5941C5E814093001880293129B871E52A6E67E7A07A7838CAAC3D512A
0E949A8F96937515F356562ABFE7D7D4D7CD5D34812A327343E18031A81F1329
5170504961DB3B25B0DE77DED0F915A22D52179C20C26A0F00A8E03269907B6B
C958F7A40A04456A47007340F084685CBFF232DEAE388F8BD3B3702176312EC5
A5E1F2A434B44F598BEBD33729BB363D1BD76667E36A4A16CE0724A1C4DACD24
107403C7A12D6B17725EDC8BAD4272B49C5F268D1045512ACBC39D9DBB238000
50C16D6D6DD56C6CEEDE7DCFA42B408E3074C8701C9BBF168DA5D5385FD380CB
6D2298B6B6A1B9596ABBE8781DE268B5B21AB15AB186CA6A5C885F009D95A736
08969EA81A3F19B92F1EC00E89E06C836CDFFBE4E93C95E4E4A42425A93B1B02
C0E68034919D979680F9EEBB77112077DBD2CA5A93065B0A557612104242E210
169988E08909080A9F82A0D029F00D884660A8FC3F2D2C01C1C217326665E246
590BEAA5DCE90679A3D0CCDD2808459220CB24B9D6AFDF8D97B6EF52523B4B5D
5FCE3F27323A15E14099273C0200B57B4AD8DAEAEDBBF00D8D8385A59526008A
E74B63C3EFA599CBB550FD031BA72EB3505FB792E6C7CDC9050533D6A23AEF2C
748E3E028076C528B597723A63050E6EDE86F552EB8D39CF3E808A30072ACEC3
86755F0176471C5CB0EFD696AEFF1D3EA1934C07C048C3D3BB11721EE880DCE4
7454E6E64337C4CF24004AACBD501D94883DD99BB156246F963A667B263C7DD8
F3E4E9FCFC79F3902082282749C37A03C0A90DFB6E4DDDFEADB7E017D68F08E8
0700C30580D3720DCA4F9C469163A000E0AA99074AACDC503936063B3766ABA9
9231E74983A97F7284D60300B6871C593131690D2D289C064E8C372907F4D5EA
F6F57502909B9486D263B9D00D66046897C412298735C1D3B063C3F3C810C5B7
AF93A7F31C954D96CED74FE687C39C9CBAAF0001205FE6D84A6B6273FBF69D4E
008C1321E3CEEBBBC88E5CC0BCC0A4EA32C419A79357A2F8B80060CF1CE0A111
0192041DFCD1342753226013D245F17D5CD8EB9DE78C908D9FAF8F2F9C0C0160
7FCC0CCAB2A435AEA26A646A152008E6E2A0BD5402A751EE70161BE1EA85116E
6331D27D1C467AF8C0C5D317AE5EBEF0F0F693FB390BAD27CA512C5C5F673706
455A57C0DC0DE5238351BF4188D0FAE795E2CB526778E70D9D4F1512142BA48F
93E34700E0E0B0BABA5A7B562703525F1393204FF6A4DF1CD40AB035D56252E7
ABA4B5AD2CAF1081A31CA525A528299692572843D18242E8C4CACE14E25AD63E
E86C4C0040FA83DA094938B86133D665AE51536363CE272727AB913D47E63D00
A040C012C269ADD6A0F2C68D9BF00931AD0A04452429C7EBAB6AF07A411DDEC8
975FF3ABF196AE11EF56B5E1BDFA76BC5B7309FF567E1E6F9634E2D59365B830
7D85F40D3E4289471BE700961E281936010D593BB0356B3DD24C709E1C204A2A
DE78D917183A7468770E20009C9C72B2AA39A515D1C4A40890D0CF4AC91000AA
D19E9E8DDAA024D40BCD6D084C46BD7F126AC7C6A3DA33163563E250EB93803A
DF4454BB47A3549C2FB230E6BC2446AB315226035197BC1C7BD66EC49AF4559A
274FE7391465BEE3C20401E0F5540B125448C8A0A8BB698DA82F5FBE027F5506
8D33418A9ACBA6A52B7A7B69C13A548E0C418970F7629BB1D0597B4367E9258E
D23CBB7F3567D23392F9E5CEF36794B946A1227129B6676DC0CAE52BD4A284BE
CEF7BEF30C7BBDF3F193E3951EC84D914700E0DCBCB4B454633EDF8EB60B1725
09C6699641DEFF9504A0A20A171767CB69C7A0DCD10F65D2CAB2B72FB624CDE5
49D361BDF5CDFC4AACDD51EE1C880AB9F395CBB3B13B6B235629E7179BEC3C57
7AC2E5B0C77AF70280121129248547ADE58456696618015ABD00C5CF15492B51
595A8EF65D47D13C75319A2267A1313445C27F12CA1C7D250A3CB4333D4511C9
074D63E2D1BC6A0B8E6465E385D56B91B1321D4B64C8B170C142C5F0B44E9ECE
B302D057EE08F588000580B0286E55686D669C97498D7FD8241300B04072CC4C
E88A74A83CABC3A5C3F9B8BCE7182E6DCF41DBBA9DA88B988162213B45D2D1B1
BF37AA1259B8A16DD212E46DD886ED72E75748B9E38487BB41FD713E5A9ABE10
5183BC654788005874CC35CC9446461A49D9D9E85A8AB4CB2D2DE74C03407200
01E0AE4FDEA9D3D0E517A02CFF2C4A4FE5A3E8C8099CDD7710755173D0129882
420B6DC253623B1E8D89CBB14D32FE8AB4654FE47CA42440AA415C927A04006E
661516161ADDC93927DD62434363670E30CE049904D384D5E59DCE538B4D4744
BE3A7CE8307244C139B05F36CF44C43820D3A87DA2E4B6FA4FD56E7C2401164B
026C929FB93E63359E5BB8C8E4B0E7C9D379AEE4050506A905A94700E05A1AB7
B3381C31B6905423438AA0899355FB6A8CEE1280D52999C83D99DB4BBDDDDBA1
E189084B196BEB96AD6A8DAED92D422241E32A502E1BE08D7309CBB17C699A02
40ADC009C3EB9DEDF577DED0F930B9EA6C85B91FD40300AAA404A04036AA8C39
4FCDBE4A884D70643C06D80C340E80DCAF8589696AB5CD24DD5E9868B35BBCCA
07C67282D203256FB4C5CA7EA0B4B804605AAF52D797F3BCFFFED209723F68C8
9021DD398000707786EB64C656D1EA6415AD4A24ABC9712918EC4022D1F77094
53A1900971387AE468BFA46B150966A4C17D478302C9C205CDC189583C7F0152
A7A560AA901CB6BAC69CA718CA4D52AEC7F4008089817D745E5E9EF13D3C6175
D552D70FA66F41A0A70F1CEC87C0DAC60E96D6B6A2EA50F1B1EE9CFD59C16680
1DB6FA24E358CE61932636864A4EBD73B8666560A758288CB0D83302CBE7CC43
4A62926A7559EA7A873D4F9ECE530AF3913E80EB318E8E8EDD114000B83C744A
96097B8FAB7A6F66A84646C655BBE66722363A117EA1B1181B140D4F598EE072
031724B828E1273AE0C99D393822D9BE3FBABDBE9F6F76099353264F3096175C
5038D01385A1D3903E67011213A6AA66479FF078E70D9DF7F7F3979DE171701D
ED0AC7C183BB01A04CCC7F980347AD0D4C92A512A9ED4567649D358FEBAC6232
ABE33AEBB163C73AD658655E7728E710720EE4E0A57DFB8DCEEA8C69780DCEB1
DAD5411865A94B280A1665615EEA0CD5EC30DB3FCE79863F49D068D90D18DC1B
002E223361E9777B8DEFE488F3FA3D5E6E603EE1A0524BC024C969183AC13808
2C8F3273CC9FB90CB3935314D7EFCB79B6C12C811C8D3B383874470075726E4F
B15E3FCD852463535A539CD7D3DB16B738B90A231E658B52160BA54738EB1A8C
B929A9B2FC146DD479AECC7B4A05E05CD07ED0A0EE6E90B5914A0A43F7696D63
3D2DE7F5ABEEF58C04039E502C2D7391AD278AA59DE6C9C708D96157DBFBCE33
ECD59B01BE151006E82E099053213B3BBB6E0028135349E1C2F4D3DAC6EA6B3E
DF9F93D7931CD6798EB46A46468816E08512DBB1281BE68FD2D8F95890324392
B19CBC09CE7B797A49021CAD04D18103BB788C999289D95870C9406BE5FC4937
33B426365AFDFC54C9F0D385F1D544CE4739FB87059958953A1B936362558BAB
75F2749E04C845EEFF502141B6B6B6DD8A1001E0F21017A58CEDDBFF55CE53C9
A1984163BD9F9B321D739353911037599C0F37D97986FF48B9FF2C813603BA7A
1933C58EF8D464B7ACC9F4F5D8E0AF76BE8BE149B8B3D4454C8C3039EC79F274
9EF59FF79F156080210094899971B924F1B89716FF32CE1B7475C64A9D3EE1E9
C35EEF3CEB3FEFFF20A900D6D65D929E99CA929C9A6C9311F9D35845D32F243D
49C233B5AB33F5CE1B3A3F4A36C3D805B20258CB0A8FFEC9A00280CB436C4B0D
DFD83C4B274FE759FF87480F602715C0CA1000CAC42C391C90EA1F183D8BCEF3
FE33010EB4ED0D809004BEABE37C90AFAB9E55E7391166026409B4949D84AE2B
409D9CCB431C8F7140C2D7554FB284F8AF78E719F63C79BDF3F6F6F6B0B1B1E9
09003B24322D3E2A542F3857CB4E1D5F6FEA5F6E4AABAC7FB9A97FB549E6B8A8
F3C5E63C695AE676BED6347CA9D9F1339390285B19AA9653B0909E7D52E7135B
AEE6A827B49DDD1B851976A6A4E6E426EAF9AB5C4FF5E4B5F3B527B93C050DF6
F46475DCFA6673C3FA3E4256DFB8FA42679D863A29C2C33BCFB0E7C9EB9DB791
1DC71E114000A8947282C21512FD1B627E603EA6501F9ABA7AE7078F8EEAA8C5
ECBB23A4FBD2BFFDD5BFF9357CEBAB7FE34B298A7C43FFA6977987038A2EC744
A7F3789C639DC98B6B6D7AE758CA9C249B2B07C5286EB0BDA5930E72C2F683EC
55A963B667C2E39D67D8F3E4F5CE737FA9EB0AF0376C1369140C698A3CC807D2
A3AD10976726343E36604DD5A3AF4E403E288D21A7C24E3EB0FE43731F479D0A
3FB8184B118D1F5E9D50A7037A277852343AD1E5883843FEAE4C9CA1435D4E89
632436CAE401076BBC32C9F4CCF6349E789719BE73E81C109AB6F0D48F7597FE
6E87FC55DFFF7F099F2797677AC83B0000000049454E44AE426082}
Height = 50.000000000000000000
Position.X = 8.000000000000000000
Position.Y = 8.000000000000000000
Width = 50.000000000000000000
end
object Lb1: TLabel
Font.Family = 'Tahoma'
Font.Size = 14.000000000000000000
Font.Style = [fsBold]
Height = 25.000000000000000000
Position.X = 64.000000000000000000
Position.Y = 13.000000000000000000
Text = 'FastReport for FireMonkey'
Width = 209.000000000000000000
end
object Label6: TLabel
Cursor = crHandPoint
Font.Family = 'Arial'
Font.Style = [fsItalic]
Height = 15.000000000000000000
HitTest = True
Position.X = 64.000000000000000000
Position.Y = 37.000000000000000000
StyleLookup = 'Label6Style1'
Text = 'www.fast-report.com'
Width = 129.000000000000000000
OnClick = Label6Click
end
end
object TreeView1: TTreeView
Align = alLeft
Height = 494.000000000000000000
Position.Y = 67.000000000000000000
UseSmallScrollBars = True
Width = 217.000000000000000000
OnChange = TreeView1Change
object TreeViewItem1: TTreeViewItem
Height = 19.000000000000000000
IsChecked = False
IsExpanded = False
IsSelected = False
Text = 'Basic reports'
Width = 213.000000000000000000
object TreeViewItem6: TTreeViewItem
Tag = 1
Height = 19.000000000000000000
IsChecked = False
IsExpanded = False
IsSelected = False
Position.X = 5000.000000000000000000
Position.Y = 95.000000000000000000
Text = 'Simple list'
Width = 175.000000000000000000
end
object TreeViewItem5: TTreeViewItem
Tag = 2
Height = 19.000000000000000000
IsChecked = False
IsExpanded = False
IsSelected = False
Position.X = 5000.000000000000000000
Position.Y = 76.000000000000000000
Text = 'Simple group'
Width = 175.000000000000000000
end
object TreeViewItem3: TTreeViewItem
Tag = 3
Height = 19.000000000000000000
IsChecked = False
IsExpanded = False
IsSelected = False
Position.X = 5000.000000000000000000
Position.Y = 38.000000000000000000
Text = 'Nested group'
Width = 175.000000000000000000
end
object TreeViewItem4: TTreeViewItem
Tag = 4
Height = 19.000000000000000000
IsChecked = False
IsExpanded = False
IsSelected = False
Position.X = 5000.000000000000000000
Position.Y = 57.000000000000000000
Text = 'Master-Detail-SubDetail'
Width = 175.000000000000000000
end
object TreeViewItem2: TTreeViewItem
Tag = 5
Height = 19.000000000000000000
IsChecked = False
IsExpanded = False
IsSelected = False
Position.X = 5000.000000000000000000
Position.Y = 19.000000000000000000
Text = 'Master-Detail-Detail'
Width = 175.000000000000000000
end
object UnicodeI: TTreeViewItem
Tag = 6
Height = 19.000000000000000000
IsChecked = False
IsExpanded = False
IsSelected = False
Position.X = 56.000000000000000000
Position.Y = 56.000000000000000000
Text = 'Multi-column list'
Width = 175.000000000000000000
end
object TreeViewItem7: TTreeViewItem
Tag = 7
Height = 19.000000000000000000
IsChecked = False
IsExpanded = False
IsSelected = False
Position.X = 5000.000000000000000000
Position.Y = 5000.000000000000000000
Text = 'Multi-column band'
Width = 50.000000000000000000
end
object TreeViewItem8: TTreeViewItem
Tag = 8
Height = 19.000000000000000000
IsChecked = False
IsExpanded = False
IsSelected = False
Position.X = 5000.000000000000000000
Position.Y = 5000.000000000000000000
Text = 'Memos and pictures'
Width = 50.000000000000000000
end
object TreeViewItem9: TTreeViewItem
Tag = 9
Height = 19.000000000000000000
IsChecked = False
IsExpanded = False
IsSelected = False
Position.X = 5000.000000000000000000
Position.Y = 5000.000000000000000000
Text = 'Split bands'
Width = 50.000000000000000000
end
object TreeViewItem10: TTreeViewItem
Tag = 10
Height = 19.000000000000000000
IsChecked = False
IsExpanded = False
IsSelected = False
Position.X = 5000.000000000000000000
Position.Y = 5000.000000000000000000
Text = 'Subreports'
Width = 50.000000000000000000
end
object TreeViewItem11: TTreeViewItem
Tag = 11
Height = 19.000000000000000000
IsChecked = False
IsExpanded = False
IsSelected = False
Position.X = 5000.000000000000000000
Position.Y = 5000.000000000000000000
Text = 'Side-by-side subreports'
Width = 50.000000000000000000
end
object TreeViewItem12: TTreeViewItem
Tag = 12
Height = 19.000000000000000000
IsChecked = False
IsExpanded = False
IsSelected = False
Position.X = 5000.000000000000000000
Position.Y = 5000.000000000000000000
Text = 'Report with title page'
Width = 50.000000000000000000
end
object TreeViewItem13: TTreeViewItem
Tag = 13
Height = 19.000000000000000000
IsChecked = False
IsExpanded = False
IsSelected = False
Position.X = 5000.000000000000000000
Position.Y = 5000.000000000000000000
Text = 'Interactive report'
Width = 50.000000000000000000
end
object Charts: TTreeViewItem
Tag = 24
Height = 19.000000000000000000
IsChecked = False
IsExpanded = False
IsSelected = False
Position.X = 5000.000000000000000000
Position.Y = 5000.000000000000000000
Text = 'Charts'
Width = 50.000000000000000000
end
end
object TreeViewItem14: TTreeViewItem
Height = 19.000000000000000000
IsChecked = False
IsExpanded = False
IsSelected = False
Position.Y = 19.000000000000000000
StyleLookup = 'UnicodeIStyle1'
Text = 'Cross Tabs'
Width = 213.000000000000000000
object TreeViewItem15: TTreeViewItem
Tag = 61
Height = 19.000000000000000000
IsChecked = False
IsExpanded = False
IsSelected = False
Position.X = 5000.000000000000000000
Position.Y = 5000.000000000000000000
Text = 'No Rows'
Width = 50.000000000000000000
end
object TreeViewItem16: TTreeViewItem
Tag = 62
Height = 19.000000000000000000
IsChecked = False
IsExpanded = False
IsSelected = False
Position.X = 5000.000000000000000000
Position.Y = 5000.000000000000000000
Text = 'No columns'
Width = 50.000000000000000000
end
object TreeViewItem17: TTreeViewItem
Tag = 63
Height = 19.000000000000000000
IsChecked = False
IsExpanded = False
IsSelected = False
Position.X = 5000.000000000000000000
Position.Y = 5000.000000000000000000
Text = 'One row, one column'
Width = 50.000000000000000000
end
object TreeViewItem18: TTreeViewItem
Tag = 65
Height = 19.000000000000000000
IsChecked = False
IsExpanded = False
IsSelected = False
Position.X = 5000.000000000000000000
Position.Y = 5000.000000000000000000
Text = 'Two rows, one column'
Width = 50.000000000000000000
end
object TreeViewItem19: TTreeViewItem
Tag = 66
Height = 19.000000000000000000
IsChecked = False
IsExpanded = False
IsSelected = False
Position.X = 5000.000000000000000000
Position.Y = 5000.000000000000000000
Text = 'Two columns, one row'
Width = 50.000000000000000000
end
object TreeViewItem20: TTreeViewItem
Tag = 67
Height = 19.000000000000000000
IsChecked = False
IsExpanded = False
IsSelected = False
Position.X = 5000.000000000000000000
Position.Y = 5000.000000000000000000
Text = 'Two cell values'
Width = 50.000000000000000000
end
object TreeViewItem21: TTreeViewItem
Tag = 68
Height = 19.000000000000000000
IsChecked = False
IsExpanded = False
IsSelected = False
Position.X = 5000.000000000000000000
Position.Y = 5000.000000000000000000
Text = 'Highlight'
Width = 50.000000000000000000
end
object TreeViewItem22: TTreeViewItem
Tag = 69
Height = 19.000000000000000000
IsChecked = False
IsExpanded = False
IsSelected = False
Position.X = 5000.000000000000000000
Position.Y = 5000.000000000000000000
Text = 'Alternate column each row'
Width = 50.000000000000000000
end
object TreeViewItem24: TTreeViewItem
Tag = 60
Height = 19.000000000000000000
IsChecked = False
IsExpanded = False
IsSelected = False
Position.X = 5000.000000000000000000
Position.Y = 5000.000000000000000000
Text = 'Cross from non-DB data'
Width = 50.000000000000000000
end
object TreeViewItem25: TTreeViewItem
Tag = 70
Height = 19.000000000000000000
IsChecked = False
IsExpanded = False
IsSelected = False
Position.X = 5000.000000000000000000
Position.Y = 5000.000000000000000000
Text = 'Old-style cross tab'
Width = 50.000000000000000000
end
object TreeViewItem26: TTreeViewItem
Tag = 71
Height = 19.000000000000000000
IsChecked = False
IsExpanded = False
IsSelected = False
Position.X = 5000.000000000000000000
Position.Y = 5000.000000000000000000
Text = 'Calendar'
Width = 50.000000000000000000
end
object TreeViewItem27: TTreeViewItem
Tag = 73
Height = 19.000000000000000000
IsChecked = False
IsExpanded = False
IsSelected = False
Position.X = 5000.000000000000000000
Position.Y = 5000.000000000000000000
Text = 'Expressions in the cross'
Width = 50.000000000000000000
end
object TreeViewItem28: TTreeViewItem
Tag = 64
Height = 19.000000000000000000
IsChecked = False
IsExpanded = False
IsSelected = False
Position.X = 5000.000000000000000000
Position.Y = 5000.000000000000000000
Text = 'Objects inside the cross'
Width = 50.000000000000000000
end
object TreeViewItem51: TTreeViewItem
Tag = 101
Height = 19.000000000000000000
IsChecked = False
IsExpanded = False
IsSelected = False
Position.X = 5000.000000000000000000
Position.Y = 5000.000000000000000000
Text = 'Crosstab features'
Width = 50.000000000000000000
end
end
object TreeViewItem31: TTreeViewItem
Height = 19.000000000000000000
IsChecked = False
IsExpanded = False
IsSelected = False
Position.Y = 38.000000000000000000
StyleLookup = 'UnicodeIStyle1'
Text = 'Dialogs and script'
Width = 213.000000000000000000
object TreeViewItem32: TTreeViewItem
Tag = 41
Height = 19.000000000000000000
IsChecked = False
IsExpanded = False
IsSelected = False
Position.X = 5000.000000000000000000
Position.Y = 5000.000000000000000000
Text = 'Hello Fast Report'
Width = 50.000000000000000000
end
object TreeViewItem33: TTreeViewItem
Tag = 42
Height = 19.000000000000000000
IsChecked = False
IsExpanded = False
IsSelected = False
Position.X = 5000.000000000000000000
Position.Y = 5000.000000000000000000
Text = 'Ask for parameters'
Width = 50.000000000000000000
end
object TreeViewItem34: TTreeViewItem
Tag = 43
Height = 19.000000000000000000
IsChecked = False
IsExpanded = False
IsSelected = False
Position.X = 5000.000000000000000000
Position.Y = 5000.000000000000000000
Text = 'Controls and events'
Width = 50.000000000000000000
end
end
object TreeViewItem23: TTreeViewItem
Height = 19.000000000000000000
IsChecked = False
IsExpanded = False
IsSelected = False
Position.Y = 57.000000000000000000
StyleLookup = 'UnicodeIStyle1'
Text = 'Other features'
Width = 213.000000000000000000
object TreeViewItem30: TTreeViewItem
Tag = 31
Height = 19.000000000000000000
IsChecked = False
IsExpanded = False
IsSelected = False
Position.X = 5000.000000000000000000
Position.Y = 5000.000000000000000000
Text = 'Rotation, fills and shapes'
Width = 50.000000000000000000
end
object TreeViewItem39: TTreeViewItem
Tag = 32
Height = 19.000000000000000000
IsChecked = False
IsExpanded = False
IsSelected = False
Position.X = 5000.000000000000000000
Position.Y = 5000.000000000000000000
Text = 'HTML tags'
Width = 50.000000000000000000
end
object TreeViewItem40: TTreeViewItem
Tag = 33
Height = 19.000000000000000000
IsChecked = False
IsExpanded = False
IsSelected = False
Position.X = 5000.000000000000000000
Position.Y = 5000.000000000000000000
Text = 'Keep group together'
Width = 50.000000000000000000
end
object TreeViewItem41: TTreeViewItem
Tag = 34
Height = 19.000000000000000000
IsChecked = False
IsExpanded = False
IsSelected = False
Position.X = 5000.000000000000000000
Position.Y = 5000.000000000000000000
Text = 'Preview outline'
Width = 50.000000000000000000
end
object TreeViewItem42: TTreeViewItem
Tag = 35
Height = 19.000000000000000000
IsChecked = False
IsExpanded = False
IsSelected = False
Position.X = 5000.000000000000000000
Position.Y = 5000.000000000000000000
Text = 'URLs, Anchors'
Width = 50.000000000000000000
end
object TreeViewItem43: TTreeViewItem
Tag = 36
Height = 19.000000000000000000
IsChecked = False
IsExpanded = False
IsSelected = False
Position.X = 5000.000000000000000000
Position.Y = 5000.000000000000000000
Text = 'Unicode'
Width = 50.000000000000000000
end
object TreeViewItem47: TTreeViewItem
Tag = 93
Height = 19.000000000000000000
IsChecked = False
IsExpanded = False
IsSelected = False
Position.X = 5000.000000000000000000
Position.Y = 5000.000000000000000000
Text = 'Endlesspage height'
Width = 50.000000000000000000
end
object TreeViewItem48: TTreeViewItem
Tag = 94
Height = 19.000000000000000000
IsChecked = False
IsExpanded = False
IsSelected = False
Position.X = 5000.000000000000000000
Position.Y = 5000.000000000000000000
Text = 'Endlesspage width and height'
Width = 50.000000000000000000
end
object TreeViewItem49: TTreeViewItem
Tag = 97
Height = 19.000000000000000000
IsChecked = False
IsExpanded = False
IsSelected = False
Position.X = 5000.000000000000000000
Position.Y = 5000.000000000000000000
Text = 'Drill-down groups'
Width = 50.000000000000000000
end
object TreeViewItem50: TTreeViewItem
Tag = 98
Height = 19.000000000000000000
IsChecked = False
IsExpanded = False
IsSelected = False
Position.X = 5000.000000000000000000
Position.Y = 5000.000000000000000000
Text = 'Drill-down nested groups'
Width = 50.000000000000000000
end
end
end
object Panel3: TPanel
Align = alClient
Height = 494.000000000000000000
Position.X = 217.000000000000000000
Position.Y = 67.000000000000000000
Width = 350.000000000000000000
object btnPreview: TButton
DisableFocusEffect = False
Height = 22.000000000000000000
Position.X = 256.000000000000000000
Position.Y = 456.000000000000000000
Text = 'Preview'
Width = 80.000000000000000000
OnClick = btnPreviewClick
end
object btnDesign: TButton
DisableFocusEffect = False
Height = 22.000000000000000000
Position.X = 169.000000000000000000
Position.Y = 456.000000000000000000
Text = 'Design'
Width = 80.000000000000000000
OnClick = btnDesignClick
end
object Label2: TLabel
Height = 425.000000000000000000
Position.X = 16.000000000000000000
Position.Y = 16.000000000000000000
VertTextAlign = taLeading
Width = 321.000000000000000000
end
end
end

217
Demos/Main/Unit2.pas Normal file
View File

@ -0,0 +1,217 @@
unit Unit2;
interface
uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Dialogs, FMX.Objects,
FMX.Layouts, FMX.ExtCtrls, FMX.TreeView, FMX.Edit,
FMX.frxClass, FMX.frxDesgn, FMX.frxCross,
{$IFDEF LINUX}
{$I tee.inc}
{$IFDEF TeeChartPro}
FMX.frxChart,
{$ENDIF}
{$ELSE}
FMX.frxChart,
{$ENDIF}
FMX.frxGradient,
FMX.frxExportText, FMX.frxExportHTML, FMX.frxExportImage, FMX.frxExportXML, FMX.frxExportCSV, FMX.frxExportPDF,
FMX.frxExportRTF, FMX.frxExportODF,
FMX.ConverterFR3toFRFMX, FMX.frxChBox
{$IFDEF VER250}
,FMX.StdCtrls
{$ENDIF}
{$IFDEF VER260}
, FMX.Graphics
,FMX.StdCtrls
{$ENDIF}
{$IFDEF VER270}
, FMX.Graphics
,FMX.StdCtrls
{$ENDIF}
{$IFDEF VER280}
, FMX.Graphics
,FMX.StdCtrls
{$ENDIF}
{$IFDEF VER290}
, FMX.Graphics
,FMX.StdCtrls
{$ENDIF}
{$IFDEF VER300}
, FMX.Graphics
,FMX.StdCtrls
{$ENDIF}
{$IFDEF VER310}
, FMX.Graphics
,FMX.StdCtrls
{$ENDIF}
{$IFDEF VER320}
, FMX.Graphics
,FMX.StdCtrls
{$ENDIF}
{$IFDEF VER330}
, FMX.Graphics
,FMX.StdCtrls, FMX.Controls.Presentation
{$ENDIF}
{$IFDEF VER340}
, FMX.Graphics
,FMX.StdCtrls, FMX.Controls.Presentation
{$ENDIF}
{$IFDEF VER350}
, FMX.Graphics
,FMX.StdCtrls, FMX.Controls.Presentation
{$ENDIF}
{$IFDEF MSWINDOWS}
, Winapi.ShellAPI, Winapi.Windows
{$ENDIF}
{$IFDEF MACOS}
, Posix.Stdlib
{$ENDIF}
{$IFDEF LINUX}
, FMUX.Api
{$ENDIF}, FMX.frxBarcode, FMX.frxBarcode2DView;
type
TForm2 = class(TForm)
ToolBar1: TToolBar;
TreeView1: TTreeView;
UnicodeI: TTreeViewItem;
TreeViewItem2: TTreeViewItem;
TreeViewItem3: TTreeViewItem;
TreeViewItem4: TTreeViewItem;
TreeViewItem5: TTreeViewItem;
TreeViewItem6: TTreeViewItem;
Image1: TImage;
Lb1: TLabel;
TreeViewItem1: TTreeViewItem;
Label2: TLabel;
btnPreview: TButton;
TreeViewItem7: TTreeViewItem;
TreeViewItem8: TTreeViewItem;
TreeViewItem9: TTreeViewItem;
TreeViewItem10: TTreeViewItem;
TreeViewItem11: TTreeViewItem;
TreeViewItem12: TTreeViewItem;
TreeViewItem13: TTreeViewItem;
TreeViewItem14: TTreeViewItem;
TreeViewItem15: TTreeViewItem;
TreeViewItem16: TTreeViewItem;
TreeViewItem17: TTreeViewItem;
TreeViewItem18: TTreeViewItem;
TreeViewItem19: TTreeViewItem;
TreeViewItem20: TTreeViewItem;
TreeViewItem21: TTreeViewItem;
TreeViewItem22: TTreeViewItem;
TreeViewItem24: TTreeViewItem;
TreeViewItem25: TTreeViewItem;
TreeViewItem26: TTreeViewItem;
TreeViewItem27: TTreeViewItem;
TreeViewItem28: TTreeViewItem;
Charts: TTreeViewItem;
TreeViewItem31: TTreeViewItem;
TreeViewItem32: TTreeViewItem;
TreeViewItem33: TTreeViewItem;
TreeViewItem34: TTreeViewItem;
TreeViewItem47: TTreeViewItem;
TreeViewItem48: TTreeViewItem;
TreeViewItem49: TTreeViewItem;
TreeViewItem50: TTreeViewItem;
TreeViewItem51: TTreeViewItem;
Panel3: TPanel;
TreeViewItem23: TTreeViewItem;
TreeViewItem30: TTreeViewItem;
TreeViewItem39: TTreeViewItem;
TreeViewItem40: TTreeViewItem;
TreeViewItem41: TTreeViewItem;
TreeViewItem42: TTreeViewItem;
TreeViewItem43: TTreeViewItem;
Label6: TLabel;
btnDesign: TButton;
procedure FormCreate(Sender: TObject);
procedure TreeView1Change(Sender: TObject);
procedure Label6Click(Sender: TObject);
procedure btnDesignClick(Sender: TObject);
procedure btnPreviewClick(Sender: TObject);
private
FReport: TfrxReport;
FTXTExport: TfrxSimpleTextExport;
FHTMLExport: TfrxHTMLExport;
FJPEGExport: TfrxJPEGExport;
FTfrxGIFExport: TfrxGIFExport;
FPNGExport: TfrxPNGExport;
FTIFFExport: TfrxTIFFExport;
FBMPExport: TfrxBMPExport;
FXMLExport: TfrxXMLExport;
FRTFExport: TfrxRTFExport;
FPDFExport: TfrxPDFExport;
FCSVExport: TfrxCSVExport;
FAppDir: String;
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
{$R *.fmx}
procedure TForm2.FormCreate(Sender: TObject);
begin
FAppDir := ExtractFilePath(ParamStr(0));
FReport := TfrxReport.Create(Self);
FTXTExport := TfrxSimpleTextExport.Create(Self);
FHTMLExport := TfrxHTMLExport.Create(Self);
FJPEGExport := TfrxJPEGExport.Create(Self);
FTfrxGIFExport := TfrxGIFExport.Create(Self);
FPNGExport := TfrxPNGExport.Create(Self);
FTIFFExport := TfrxTIFFExport.Create(Self);
FBMPExport := TfrxBMPExport.Create(Self);
FXMLExport := TfrxXMLExport.Create(Self);
FRTFExport := TfrxRTFExport.Create(Self);
FPDFExport := TfrxPDFExport.Create(Self);
FCSVExport := TfrxCSVExport.Create(Self);
TfrxODTExport.Create(Self);
TfrxODSExport.Create(Self);
TreeView1.ExpandAll;
TreeView1.Selected := TreeView1.Items[0].Items[0];
end;
procedure TForm2.btnDesignClick(Sender: TObject);
begin
FReport.DesignReport;
end;
procedure TForm2.btnPreviewClick(Sender: TObject);
begin
FReport.ShowReport;
end;
procedure TForm2.TreeView1Change(Sender: TObject);
begin
if not FReport.LoadFromFile(FAppDir + PathDelim + IntToStr(TreeView1.Selected.Tag) + '.fr3') then
FReport.LoadFromFile(FAppDir + PathDelim + IntToStr(TreeView1.Selected.Tag) + '.FR3');
Label2.Text := FReport.ReportOptions.Description.Text;
FReport.Script.AddVariable('wPath', 'String', FAppDir{ + PathDelim});
end;
procedure TForm2.Label6Click(Sender: TObject);
begin
{$IFDEF MSWINDOWS}
ShellExecute(0, 'open', PChar('http://www.fast-report.com'), '', '', SW_SHOWNORMAL);
{$ENDIF}
{$IFDEF LINUX}
FmuxOpenUrl(PChar('http://www.fast-report.com'));
{$ENDIF}
{$IFDEF MACOS}
_system(PAnsiChar('open ' + AnsiString('http://www.fast-report.com')));
{$ENDIF}
end;
end.

1
Demos/Main/Unit2.vlb Normal file
View File

@ -0,0 +1 @@


128
Demos/Main/Unit3.dfm Normal file
View File

@ -0,0 +1,128 @@
object DataModule3: TDataModule3
OldCreateOrder = False
OnCreate = DataModuleCreate
Height = 407
Width = 580
object CDBio: TClientDataSet
Aggregates = <>
Params = <>
Left = 24
Top = 16
end
object CDCust: TClientDataSet
Aggregates = <>
FieldDefs = <>
IndexDefs = <>
IndexFieldNames = 'Company'
Params = <>
StoreDefs = True
Left = 504
Top = 16
end
object CDCross: TClientDataSet
Aggregates = <>
Params = <>
Left = 120
Top = 16
end
object CDUnicode: TClientDataSet
Aggregates = <>
Params = <>
Left = 168
Top = 16
end
object CDCountry: TClientDataSet
Aggregates = <>
IndexFieldNames = 'Continent'
Params = <>
Left = 312
Top = 208
end
object CDCurQuote: TClientDataSet
Aggregates = <>
Params = <>
Left = 72
Top = 88
end
object CDCustQuery: TClientDataSet
Aggregates = <>
Params = <>
Left = 400
Top = 16
end
object CDEmpl: TClientDataSet
Aggregates = <>
Params = <>
Left = 144
Top = 112
end
object CDItems: TClientDataSet
Aggregates = <>
IndexFieldNames = 'OrderNo'
MasterFields = 'OrderNo'
MasterSource = OrdersDS
PacketRecords = 0
Params = <>
Left = 504
Top = 232
end
object CDnextcust: TClientDataSet
Aggregates = <>
Params = <>
Left = 24
Top = 168
end
object CDnextitem: TClientDataSet
Aggregates = <>
Params = <>
Left = 80
Top = 232
end
object CDnextord: TClientDataSet
Aggregates = <>
Params = <>
Left = 136
Top = 168
end
object CDorders: TClientDataSet
Aggregates = <>
IndexFieldNames = 'CustNo'
MasterFields = 'CustNo'
MasterSource = CustDS
PacketRecords = 0
Params = <>
Left = 504
Top = 120
end
object CDparts: TClientDataSet
Aggregates = <>
IndexFieldNames = 'PartNo'
MasterFields = 'PartNo'
MasterSource = ItemsDS
PacketRecords = 0
Params = <>
Left = 504
Top = 344
end
object CDVendors: TClientDataSet
Aggregates = <>
Params = <>
Left = 16
Top = 224
end
object CustDS: TDataSource
DataSet = CDCust
Left = 504
Top = 65
end
object OrdersDS: TDataSource
DataSet = CDorders
Left = 504
Top = 176
end
object ItemsDS: TDataSource
DataSet = CDItems
Left = 504
Top = 288
end
end

147
Demos/Main/Unit3.pas Normal file
View File

@ -0,0 +1,147 @@
unit Unit3;
interface
uses
System.SysUtils, System.Classes, Data.DB, Datasnap.DBClient, FMX.frxClass, FMX.frxDBSet;
type
TDataModule3 = class(TDataModule)
CDBio: TClientDataSet;
CDCust: TClientDataSet;
CDCross: TClientDataSet;
CDUnicode: TClientDataSet;
CDCountry: TClientDataSet;
CDCurQuote: TClientDataSet;
CDCustQuery: TClientDataSet;
CDEmpl: TClientDataSet;
CDItems: TClientDataSet;
CDnextcust: TClientDataSet;
CDnextitem: TClientDataSet;
CDnextord: TClientDataSet;
CDorders: TClientDataSet;
CDparts: TClientDataSet;
CDVendors: TClientDataSet;
CustDS: TDataSource;
OrdersDS: TDataSource;
ItemsDS: TDataSource;
procedure DataModuleCreate(Sender: TObject);
private
FBiolife: TfrxDBDataSet;
FCustomers: TfrxDBDataSet;
FCrossTest: TfrxDBDataSet;
FUnicode: TfrxDBDataSet;
FOrders: TfrxDBDataset;
FItems: TfrxDBDataset;
FPart: TfrxDBDataset;
FSales: TfrxDBDataset;
FCountry: TfrxDBDataset;
{ Private declarations }
public
{ Public declarations }
end;
var
DataModule3: TDataModule3;
implementation
{%CLASSGROUP 'System.Classes.TPersistent'}
{$R *.dfm}
procedure TDataModule3.DataModuleCreate(Sender: TObject);
var
DataPath: String;
begin
DataPath := ExtractFilePath(ParamStr(0)) + PathDelim + 'Data' + PathDelim;
FBiolife := TfrxDBDataSet.Create(Self);
FBiolife.Name := 'Biolife';
FBiolife.UserName := 'Bio';
CDBio.LoadFromFile(DataPath + 'biolife.xml');
FBiolife.DataSet := CDBio;
FBiolife.FieldAliases.Delimiter := ';';
FBiolife.FieldAliases.StrictDelimiter := True;
FBiolife.FieldAliases.DelimitedText := 'Species No=Species No;Category=Category;Common_Name=Common Name;Species Name=Species Name;Length (cm)=Length (cm);Length_In=Length In;Notes=Notes;Graphic=Graphic';
FCustomers := TfrxDBDataSet.Create(Self);
FCustomers.Name := 'Customers';
FCustomers.UserName := 'Customers';
FCustomers.FieldAliases.Delimiter := ';';
FCustomers.FieldAliases.StrictDelimiter := True;
FCustomers.FieldAliases.DelimitedText := 'CustNo=Cust No;Company=Company;Addr1=Addr1;Addr2=Addr2;City=City;State=State;Zip=Zip;Country=Country;Phone=Phone;FAX=FAX;TaxRate=Tax Rate;Contact=Contact;LastInvoiceDate=Last Invoice Date';
CDCust.LoadFromFile(DataPath + 'customer.xml');
FCustomers.DataSet := CDCust;
FCrossTest := TfrxDBDataSet.Create(Self);
FCrossTest.Name := 'Cross';
FCrossTest.UserName := 'Cross';
CDCross.LoadFromFile(DataPath + 'crosstest.xml');
FCrossTest.DataSet := CDCross;
FUnicode := TfrxDBDataSet.Create(Self);
FUnicode.Name := 'Unicode';
FUnicode.UserName := 'Unicode';
CDUnicode.LoadFromFile(DataPath + 'unicode.xml');
FUnicode.DataSet := CDUnicode;
FOrders := TfrxDBDataset.Create(Self);
FOrders.Name := 'Orders';
FOrders.UserName := 'Orders';
CDorders.LoadFromFile(DataPath + 'orders.xml');
FOrders.DataSet := CDorders;
FOrders.FieldAliases.Delimiter := ';';
FOrders.FieldAliases.StrictDelimiter := True;
FOrders.FieldAliases.DelimitedText := 'OrderNo=Order No;CustNo=Cust No;CustCompany=Cust Company;SaleDate=Sale Date;ShipDate=Ship Date;EmpNo=Emp No;' +
'ShipToContact=Ship To Contact;ShipToAddr1=Ship To Addr1;ShipToAddr2=Ship To Addr2;ShipToCity=Ship To City;ShipToState=Ship To State;ShipToZip=Ship To Zip;ShipToCountry=Ship To Country;ShipToPhone=Ship To Phone;ShipVIA=Ship VIA;'+
'PO=PO;Terms=Terms;PaymentMethod=Payment Method;ItemsTotal=Items Total;TaxRate=Tax Rate;Freight=Freight;AmountPaid=Amount Paid';
FItems := TfrxDBDataset.Create(Self);
FItems.Name := 'Items';
FItems.UserName := 'Items';
CDItems.LoadFromFile(DataPath + 'items.xml');
FItems.DataSet := CDItems;
FItems.FieldAliases.Delimiter := ';';
FItems.FieldAliases.StrictDelimiter := True;
//FItems.FieldAliases.DelimitedText := 'OrderNo=Order No;ItemNo=Item No;PartNo=Part No;PartName=Part Name;Qty=Qty;Price=Price;Discount=Discount;Total=Total;ExtendedPrice=Extended Price';
FPart := TfrxDBDataset.Create(Self);
FPart.Name := 'Parts';
FPart.UserName := 'Parts';
CDParts.LoadFromFile(DataPath + 'parts.xml');
FPart.DataSet := CDParts;
FPart.FieldAliases.Delimiter := ';';
FPart.FieldAliases.StrictDelimiter := True;
FPart.FieldAliases.DelimitedText := 'PartNo=Part No;VendorNo=Vendor No;Description=Description;OnHand=On Hand;OnOrder=On Order;Cost=Cost;ListPrice=List Price';
FSales := TfrxDBDataset.Create(Self);
FSales.Name := 'Sales';
FSales.UserName := 'Sales';
CDCustQuery.LoadFromFile(DataPath + 'customer_query.xml');
FSales.DataSet := CDCustQuery;
FSales.FieldAliases.Delimiter := ';';
FSales.FieldAliases.StrictDelimiter := True;
// FSales.FieldAliases.DelimitedText := 'CustNo=Cust No;Company=Company;Addr1=Addr1;Addr2=Addr2;City=City;State=State' +
// 'Zip=Zip;Country=Country;Phone=Phone;FAX=FAX;TaxRate=a.TaxRate;Contact=Contact' +
// 'LastInvoiceDate=LastInvoiceDate;OrderNo=Order No;CustNo=b.CustNo;SaleDate=Sale Date' +
// 'ShipDate=ShipDate;EmpNo=EmpNo;ShipToContact=ShipToContact;ShipToAddr1=ShipToAddr1' +
// 'ShipToAddr2=ShipToAddr2;ShipToCity=ShipToCity;ShipToState=ShipToState;ShipToZip=ShipToZip' +
// 'ShipToCountry=ShipToCountry;ShipToPhone=ShipToPhone;ShipVIA=ShipVIA;PO=PO;Terms=Terms' +
// 'PaymentMethod=PaymentMethod;ItemsTotal=ItemsTotal;TaxRate=b.TaxRate;Freight=Freight;AmountPaid=AmountPaid;OrderNo=c.OrderNo' +
// 'ItemNo=ItemNo;PartNo=Part No;Qty=Qty;Discount=Discount;PartNo=d.PartNo;VendorNo=VendorNo' +
// 'Description=Description;OnHand=OnHand;OnOrder=OnOrder;Cost=Cost;ListPrice=List Price';
FCountry := TfrxDBDataset.Create(Self);
FCountry.Name := 'Country';
FCountry.UserName := 'Country';
CDCountry.LoadFromFile(DataPath + 'country.xml');
FCountry.DataSet := CDCountry;
//FCountry.FieldAliases.Delimiter := ';';
//FCountry.FieldAliases.DelimitedText :=
end;
end.

BIN
Demos/Main/awards.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

2
FastReports.url Normal file
View File

@ -0,0 +1,2 @@
[InternetShortcut]
URL=http://www.fast-report.com

6
FastReportsT.url Normal file
View File

@ -0,0 +1,6 @@
[InternetShortcut]
URL=http://www.fast-report.com/en/products/report-for-delphi-fastreport-4-feature-matrix.html
IDList=
HotKey=0
[{000214A0-0000-0000-C000-000000000046}]
Prop3=19,2

View File

@ -0,0 +1,283 @@
{******************************************}
{ }
{ FastScript v1.9 }
{ Graphics.pas classes and functions }
{ }
{ (c) 2003-2007 by Alexander Tzyganenko, }
{ Fast Reports Inc }
{ }
{******************************************}
unit FMX.BaseTypeAliases;
interface
{$i fs.inc}
uses
System.SysUtils, System.Classes, FMX.Types, FMX.Objects, System.UITypes, System.UIConsts, FMX.Graphics, FMX.Controls, System.Types, System.TypInfo;
type
TCalloutPositionHelper = record helper for TCalloutPosition
const
cpTop = TCalloutPosition.Top deprecated 'Use TCalloutPosition.Top';
cpLeft = TCalloutPosition.Left deprecated 'Use TCalloutPosition.Left';
cpBottom = TCalloutPosition.Bottom deprecated 'Use TCalloutPosition.Bottom';
cpRight = TCalloutPosition.Right deprecated 'Use TCalloutPosition.Right';
end;
TCornerHelper = record helper for TCorner
const
crTopLeft = TCorner.TopLeft deprecated 'Use TCorner.TopLeft';
crTopRight = TCorner.TopRight deprecated 'Use TCorner.TopRight';
crBottomLeft = TCorner.BottomLeft deprecated 'Use TCorner.BottomLeft';
crBottomRight = TCorner.BottomRight deprecated 'Use TCorner.BottomRight';
end;
TCornerTypeHelper = record helper for TCornerType
const
ctRound = TCornerType.Round deprecated 'Use TCornerType.Round';
ctBevel = TCornerType.Bevel deprecated 'Use TCornerType.Bevel';
ctInnerRound = TCornerType.InnerRound deprecated 'Use TCornerType.InnerRound';
ctInnerLine = TCornerType.InnerLine deprecated 'Use TCornerType.InnerLine';
end;
TSideHelper = record helper for TSide
const
sdTop = TSide.Top deprecated 'Use TSide.Top';
sdLeft = TSide.Left deprecated 'Use TSide.Left';
sdBottom = TSide.Bottom deprecated 'Use TSide.Bottom';
sdRight = TSide.Right deprecated 'Use TSide.Right';
end;
TTextAlignHelper = record helper for TTextAlign
const
taCenter = TTextAlign.Center deprecated 'Use TTextAlign.Center';
taLeading = TTextAlign.Leading deprecated 'Use TTextAlign.Leading';
taTrailing = TTextAlign.Trailing deprecated 'Use TTextAlign.Trailing';
end;
TTextTrimmingHelper = record helper for TTextTrimming
const
ttNone = TTextTrimming.None deprecated 'Use TTextTrimming.None';
ttCharacter = TTextTrimming.Character deprecated 'Use TTextTrimming.Character';
ttWord = TTextTrimming.Word deprecated 'Use TTextTrimming.Word';
end;
TStyledSettingHelper = record helper for TStyledSetting
const
ssFamily = TStyledSetting.Family deprecated 'Use TStyledSetting.Family';
ssSize = TStyledSetting.Size deprecated 'Use TStyledSetting.Size';
ssStyle = TStyledSetting.Style deprecated 'Use TStyledSetting.Style';
ssFontColor = TStyledSetting.FontColor deprecated 'Use TStyledSetting.FontColor';
ssOther = TStyledSetting.Other deprecated 'Use TStyledSetting.Other';
end;
TMenuItemChangeHelper = record helper for TMenuItemChange
const
mcEnabled = TMenuItemChange.Enabled deprecated 'Use TMenuItemChange.Enabled';
mcVisible = TMenuItemChange.Visible deprecated 'Use TMenuItemChange.Visible';
mcText = TMenuItemChange.Text deprecated 'Use TMenuItemChange.Text';
mcShortcut = TMenuItemChange.Shortcut deprecated 'Use TMenuItemChange.Shortcut';
mcChecked = TMenuItemChange.Checked deprecated 'Use TMenuItemChange.Checked';
mcBitmap = TMenuItemChange.Bitmap deprecated 'Use TMenuItemChange.Bitmap';
end;
TScreenOrientationHelper = record helper for TScreenOrientation
const
soPortrait = TScreenOrientation.Portrait deprecated 'Use TScreenOrientation.Portrait';
soLandscape = TScreenOrientation.Landscape deprecated 'Use TScreenOrientation.Landscape';
soInvertedPortrait = TScreenOrientation.InvertedPortrait deprecated 'Use TScreenOrientation.InvertedPortrait';
soInvertedLandscape = TScreenOrientation.InvertedLandscape deprecated 'Use TScreenOrientation.InvertedLandscape';
end;
TFormStyleHelper = record helper for TFormStyle
const
fsNormal = TFormStyle.Normal deprecated 'Use TFormStyle.Normal';
fsPopup = TFormStyle.Popup deprecated 'Use TFormStyle.Popup';
fsStayOnTop = TFormStyle.StayOnTop deprecated 'Use TFormStyle.StayOnTop';
end;
TAlignLayoutHelper = record helper for TAlignLayout
const
alNone = TAlignLayout.None deprecated 'Use TAlignLayout.None';
alTop = TAlignLayout.Top deprecated 'Use TAlignLayout.Top';
alLeft = TAlignLayout.Left deprecated 'Use TAlignLayout.Left';
alRight = TAlignLayout.Right deprecated 'Use TAlignLayout.Right';
alBottom = TAlignLayout.Bottom deprecated 'Use TAlignLayout.Bottom';
alMostTop = TAlignLayout.MostTop deprecated 'Use TAlignLayout.MostTop';
alMostBottom = TAlignLayout.MostBottom deprecated 'Use TAlignLayout.MostBottom';
alMostLeft = TAlignLayout.MostLeft deprecated 'Use TAlignLayout.MostLeft';
alMostRight = TAlignLayout.MostRight deprecated 'Use TAlignLayout.MostRight';
alClient = TAlignLayout.Client deprecated 'Use TAlignLayout.Client';
alContents = TAlignLayout.Contents deprecated 'Use TAlignLayout.Contents';
alCenter = TAlignLayout.Center deprecated 'Use TAlignLayout.Center';
alVertCenter = TAlignLayout.VertCenter deprecated 'Use TAlignLayout.VertCenter';
alHorzCenter = TAlignLayout.HorzCenter deprecated 'Use TAlignLayout.HorzCenter';
alHorizontal = TAlignLayout.Horizontal deprecated 'Use TAlignLayout.Horizontal';
alVertical = TAlignLayout.Vertical deprecated 'Use TAlignLayout.Vertical';
alScale = TAlignLayout.Scale deprecated 'Use TAlignLayout.Scale';
alFit = TAlignLayout.Fit deprecated 'Use TAlignLayout.Fit';
alFitLeft = TAlignLayout.FitLeft deprecated 'Use TAlignLayout.FitLeft';
alFitRight = TAlignLayout.FitRight deprecated 'Use TAlignLayout.FitRight';
end;
TGradientStyleHelper = record helper for TGradientStyle
const
gsLinear = TGradientStyle.Linear deprecated 'Use TGradientStyle.Linear';
gsRadial = TGradientStyle.Radial deprecated 'Use TGradientStyle.Radial';
end;
TBrushKindHelper = record helper for TBrushKind
const
bkNone = TBrushKind.None deprecated 'Use TBrushKind.None';
bkSolid = TBrushKind.Solid deprecated 'Use TBrushKind.Solid';
bkGradient = TBrushKind.Gradient deprecated 'Use TBrushKind.Gradient';
bkBitmap = TBrushKind.Bitmap deprecated 'Use TBrushKind.Bitmap';
bkResource = TBrushKind.Resource deprecated 'Use TBrushKind.Resource';
end;
TStrokeCapHelper = record helper for TStrokeCap
const
scFlat = TStrokeCap.Flat deprecated 'Use TStrokeCap.Flat';
scRound = TStrokeCap.Round deprecated 'Use TStrokeCap.Round';
end;
TStrokeJoinHelper = record helper for TStrokeJoin
const
sjMiter = TStrokeJoin.Miter deprecated 'Use TStrokeJoin.Miter';
sjRound = TStrokeJoin.Round deprecated 'Use TStrokeJoin.Round';
sjBevel = TStrokeJoin.Bevel deprecated 'Use TStrokeJoin.Bevel';
end;
TStrokeDashHelper = record helper for TStrokeDash
const
sdSolid = TStrokeDash.Solid deprecated 'Use TStrokeDash.Solid';
sdDash = TStrokeDash.Dash deprecated 'Use TStrokeDash.Dash';
sdDot = TStrokeDash.Dot deprecated 'Use TStrokeDash.Dot';
sdDashDot = TStrokeDash.DashDot deprecated 'Use TStrokeDash.DashDot';
sdDashDotDot = TStrokeDash.DashDotDot deprecated 'Use TStrokeDash.DashDotDot';
sdCustom = TStrokeDash.Custom deprecated 'Use TStrokeDash.Custom';
end;
TFillTextFlagHelper = record helper for TFillTextFlag
const
ftRightToLeft = TFillTextFlag.RightToLeft deprecated 'Use TFillTextFlag.RightToLeft';
end;
TMapAccessHelper = record helper for TMapAccess
const
maRead = TMapAccess.Read deprecated 'Use TMapAccess.Read';
maWrite = TMapAccess.Write deprecated 'Use TMapAccess.Write';
maReadWrite = TMapAccess.ReadWrite deprecated 'Use TMapAccess.ReadWrite';
end;
TOrientationHelper = record helper for TOrientation
const
orHorizontal = TOrientation.Horizontal deprecated 'Use TOrientation.Horizontal';
orVertical = TOrientation.Vertical deprecated 'Use TOrientation.Vertical';
end;
TPlacementHelper = record helper for TPlacement
const
plBottom = TPlacement.Bottom deprecated 'Use TPlacement.Bottom';
plTop = TPlacement.Top deprecated 'Use TPlacement.Top';
plLeft = TPlacement.Left deprecated 'Use TPlacement.Left';
plRight = TPlacement.Right deprecated 'Use TPlacement.Right';
plCenter = TPlacement.Center deprecated 'Use TPlacement.Center';
plBottomCenter = TPlacement.BottomCenter deprecated 'Use TPlacement.BottomCenter';
plTopCenter = TPlacement.TopCenter deprecated 'Use TPlacement.TopCenter';
plLeftCenter = TPlacement.LeftCenter deprecated 'Use TPlacement.LeftCenter';
plRightCenter = TPlacement.RightCenter deprecated 'Use TPlacement.RightCenter';
plAbsolute = TPlacement.Absolute deprecated 'Use TPlacement.Absolute';
plMouse = TPlacement.Mouse deprecated 'Use TPlacement.Mouse';
plMouseCenter = TPlacement.MouseCenter deprecated 'Use TPlacement.MouseCenter';
end;
TVirtualKeyboardTypeHelper = record helper for TVirtualKeyboardType
const
vktDefault = TVirtualKeyboardType.Default deprecated 'Use TVirtualKeyboardType.Default';
vktNumbersAndPunctuation = TVirtualKeyboardType.NumbersAndPunctuation deprecated 'Use TVirtualKeyboardType.NumbersAndPunctuation';
vktNumberPad = TVirtualKeyboardType.NumberPad deprecated 'Use TVirtualKeyboardType.NumberPad';
vktPhonePad = TVirtualKeyboardType.PhonePad deprecated 'Use TVirtualKeyboardType.PhonePad';
vktAlphabet = TVirtualKeyboardType.Alphabet deprecated 'Use TVirtualKeyboardType.Alphabet';
vktURL = TVirtualKeyboardType.URL deprecated 'Use TVirtualKeyboardType.URL';
vktNamePhonePad = TVirtualKeyboardType.NamePhonePad deprecated 'Use TVirtualKeyboardType.NamePhonePad';
vktEmailAddress = TVirtualKeyboardType.EmailAddress deprecated 'Use TVirtualKeyboardType.EmailAddress';
end;
TVirtualKeyboardStateHelper = record helper for TVirtualKeyboardState
const
vksAutoShow = TVirtualKeyboardState.AutoShow deprecated 'Use TVirtualKeyboardState.AutoShow';
vksVisible = TVirtualKeyboardState.Visible deprecated 'Use TVirtualKeyboardState.Visible';
vksError = TVirtualKeyboardState.Error deprecated 'Use TVirtualKeyboardState.Error';
vksTransient = TVirtualKeyboardState.Transient deprecated 'Use TVirtualKeyboardState.Transient';
end;
TReturnKeyTypeHelper = record helper for TReturnKeyType
const
rktDefault = TReturnKeyType.Default deprecated 'Use TReturnKeyType.Default';
rktDone = TReturnKeyType.Done deprecated 'Use TReturnKeyType.Done';
rktGo = TReturnKeyType.Go deprecated 'Use TReturnKeyType.Go';
rktNext = TReturnKeyType.Next deprecated 'Use TReturnKeyType.Next';
rktSearch = TReturnKeyType.Search deprecated 'Use TReturnKeyType.Search';
rktSend = TReturnKeyType.Send deprecated 'Use TReturnKeyType.Send';
end;
implementation
initialization
AddEnumElementAliases(TypeInfo(TCalloutPosition), ['cpTop', 'cpLeft', 'cpBottom', 'cpRight']);
AddEnumElementAliases(TypeInfo(TCorner), ['crTopLeft', 'crTopRight', 'crBottomLeft', 'crBottomRight']);
AddEnumElementAliases(TypeInfo(TCornerType), ['ctRound', 'ctBevel', 'ctInnerRound', 'ctInnerLine']);
AddEnumElementAliases(TypeInfo(TSide), ['sdTop', 'sdLeft', 'sdBottom', 'sdRight']);
AddEnumElementAliases(TypeInfo(TTextAlign), ['taCenter', 'taLeading', 'taTrailing']);
AddEnumElementAliases(TypeInfo(TTextTrimming), ['ttNone', 'ttCharacter', 'ttWord']);
AddEnumElementAliases(TypeInfo(TStyledSetting), ['ssFamily', 'ssSize', 'ssStyle', 'ssFontColor', 'ssOther']);
AddEnumElementAliases(TypeInfo(TMenuItemChange), ['mcEnabled', 'mcVisible', 'mcText', 'mcShortcut', 'mcChecked', 'mcBitmap']);
AddEnumElementAliases(TypeInfo(TScreenOrientation), ['soPortrait', 'soLandscape', 'soInvertedPortrait', 'soInvertedLandscape']);
AddEnumElementAliases(TypeInfo(TFormStyle), ['fsNormal', 'fsPopup', 'fsStayOnTop']);
AddEnumElementAliases(TypeInfo(TAlignLayout), ['alNone', 'alTop', 'alLeft', 'alRight', 'alBottom', 'alMostTop', 'alMostBottom', 'alMostLeft', 'alMostRight', 'alClient', 'alContents', 'alCenter', 'alVertCenter', 'alHorzCenter', 'alHorizontal', 'alVertical', 'alScale', 'alFit', 'alFitLeft', 'alFitRight']);
AddEnumElementAliases(TypeInfo(TGradientStyle), ['gsLinear', 'gsRadial']);
AddEnumElementAliases(TypeInfo(TBrushKind), ['bkNone', 'bkSolid', 'bkGradient', 'bkBitmap', 'bkResource']);
AddEnumElementAliases(TypeInfo(TStrokeCap), ['scFlat', 'scRound']);
AddEnumElementAliases(TypeInfo(TStrokeJoin), ['sjMiter', 'sjRound', 'sjBevel']);
AddEnumElementAliases(TypeInfo(TStrokeDash), ['sdSolid', 'sdDash', 'sdDot', 'sdDashDot', 'sdDashDotDot', 'sdCustom']);
AddEnumElementAliases(TypeInfo(TMapAccess), ['maRead', 'maWrite', 'maReadWrite']);
AddEnumElementAliases(TypeInfo(TFillTextFlag), ['ftRightToLeft']);
AddEnumElementAliases(TypeInfo(TOrientation), ['orHorizontal', 'orVertical']);
AddEnumElementAliases(TypeInfo(TPlacement), ['plBottom', 'plTop', 'plLeft', 'plRight', 'plCenter', 'plBottomCenter', 'plTopCenter', 'plLeftCenter', 'plRightCenter', 'plAbsolute', 'plMouse', 'plMouseCenter']);
AddEnumElementAliases(TypeInfo(TVirtualKeyboardType), ['vktDefault', 'vktNumbersAndPunctuation', 'vktNumberPad', 'vktPhonePad', 'vktAlphabet', 'vktURL', 'vktNamePhonePad', 'vktEmailAddress']);
AddEnumElementAliases(TypeInfo(TReturnKeyType), ['rktDefault', 'rktDone', 'rktGo', 'rktNext', 'rktSearch']);
AddEnumElementAliases(TypeInfo(TVirtualKeyboardState), ['vksAutoShow', 'vksVisible', 'vksError', 'vksTransient']);
finalization
RemoveEnumElementAliases(TypeInfo(TCalloutPosition));
RemoveEnumElementAliases(TypeInfo(TCorner));
RemoveEnumElementAliases(TypeInfo(TCornerType));
RemoveEnumElementAliases(TypeInfo(TSide));
RemoveEnumElementAliases(TypeInfo(TTextAlign));
RemoveEnumElementAliases(TypeInfo(TTextTrimming));
RemoveEnumElementAliases(TypeInfo(TStyledSetting));
RemoveEnumElementAliases(TypeInfo(TMenuItemChange));
RemoveEnumElementAliases(TypeInfo(TScreenOrientation));
RemoveEnumElementAliases(TypeInfo(TFormStyle));
RemoveEnumElementAliases(TypeInfo(TAlignLayout));
RemoveEnumElementAliases(TypeInfo(TGradientStyle));
RemoveEnumElementAliases(TypeInfo(TBrushKind));
RemoveEnumElementAliases(TypeInfo(TStrokeCap));
RemoveEnumElementAliases(TypeInfo(TStrokeJoin));
RemoveEnumElementAliases(TypeInfo(TStrokeDash));
RemoveEnumElementAliases(TypeInfo(TMapAccess));
RemoveEnumElementAliases(TypeInfo(TFillTextFlag));
RemoveEnumElementAliases(TypeInfo(TOrientation));
RemoveEnumElementAliases(TypeInfo(TPlacement));
RemoveEnumElementAliases(TypeInfo(TVirtualKeyboardType));
RemoveEnumElementAliases(TypeInfo(TReturnKeyType));
RemoveEnumElementAliases(TypeInfo(TVirtualKeyboardState));
end.

View File

@ -0,0 +1,70 @@
{******************************************}
{ }
{ FastScript v1.9 }
{ Graphics.pas classes and functions }
{ }
{ (c) 2003-2007 by Alexander Tzyganenko, }
{ Fast Reports Inc }
{ }
{******************************************}
unit FMX.FormTypeAliases;
interface
{$i fs.inc}
uses
System.SysUtils, System.Classes, FMX.Types, FMX.Objects, System.UITypes, System.UIConsts, FMX.Graphics, System.Types, System.TypInfo, FMX.Forms;
type
TFmxFormBorderStyleHelper = record helper for TFmxFormBorderStyle
const
bsNone = TFmxFormBorderStyle.None deprecated 'Use TFmxFormBorderStyle.None';
bsSingle = TFmxFormBorderStyle.Single deprecated 'Use TFmxFormBorderStyle.Single';
bsSizeable = TFmxFormBorderStyle.Sizeable deprecated 'Use TFmxFormBorderStyle.Sizeable';
bsToolWindow = TFmxFormBorderStyle.ToolWindow deprecated 'Use TFmxFormBorderStyle.ToolWindow';
bsSizeToolWin = TFmxFormBorderStyle.SizeToolWin deprecated 'Use TFmxFormBorderStyle.SizeToolWin';
end;
TFormPositionHelper = record helper for TFormPosition
const
poDesigned = TFormPosition.Designed deprecated 'Use TFormPosition.Designed';
poDefault = TFormPosition.Default deprecated 'Use TFormPosition.Default';
poDefaultPosOnly = TFormPosition.DefaultPosOnly deprecated 'Use TFormPosition.DefaultPosOnly';
poDefaultSizeOnly = TFormPosition.DefaultSizeOnly deprecated 'Use TFormPosition.DefaultSizeOnly';
poScreenCenter = TFormPosition.ScreenCenter deprecated 'Use TFormPosition.ScreenCenter';
poDesktopCenter = TFormPosition.DesktopCenter deprecated 'Use TFormPosition.DesktopCenter';
poMainFormCenter = TFormPosition.MainFormCenter deprecated 'Use TFormPosition.MainFormCenter';
poOwnerFormCenter = TFormPosition.OwnerFormCenter deprecated 'Use TFormPosition.OwnerFormCenter';
end;
TFmxFormStateHelper = record helper for TFmxFormState
const
fsRecreating = TFmxFormState.Recreating deprecated 'Use TFmxFormState.Recreating';
fsModal = TFmxFormState.Modal deprecated 'Use TFmxFormState.Modal';
fsReleased = TFmxFormState.Released deprecated 'Use TFmxFormState.Released';
fsInDesigner = TFmxFormState.InDesigner deprecated 'Use TFmxFormState.InDesigner';
fsWasNotShown = TFmxFormState.WasNotShown deprecated 'Use TFmxFormState.WasNotShown';
fsShowing = TFmxFormState.Showing deprecated 'Use TFmxFormState.Showing';
fsUpdateBorder = TFmxFormState.UpdateBorder deprecated 'Use TFmxFormState.UpdateBorder';
fsActivation = TFmxFormState.Activation deprecated 'Use TFmxFormState.Activation';
end;
implementation
initialization
AddEnumElementAliases(TypeInfo(TFmxFormBorderStyle), ['bsNone', 'bsSingle', 'bsSizeable', 'bsToolWindow', 'bsSizeToolWin']);
AddEnumElementAliases(TypeInfo(TFormPosition), ['poDesigned', 'poDefault', 'poDefaultPosOnly', 'poDefaultSizeOnly', 'poScreenCenter', 'poDesktopCenter',
'poMainFormCenter', 'poOwnerFormCenter']);
AddEnumElementAliases(TypeInfo(TFmxFormState), ['fsRecreating', 'fsModal', 'fsReleased', 'fsInDesigner', 'fsWasNotShown', 'fsShowing', 'fsUpdateBorder',
'fsActivation']);
finalization
RemoveEnumElementAliases(TypeInfo(TFmxFormBorderStyle));
RemoveEnumElementAliases(TypeInfo(TFormPosition));
RemoveEnumElementAliases(TypeInfo(TFmxFormState));
end.

View File

@ -0,0 +1,129 @@
{******************************************}
{ }
{ FastScript v1.9 }
{ ADO classes and functions }
{ }
{ (c) 2003-2007 by Alexander Tzyganenko, }
{ Fast Reports Inc }
{ }
{******************************************}
unit FMX.fs_iadortti;
interface
{$i fs.inc}
uses
System.SysUtils, System.Classes, FMX.fs_iinterpreter, FMX.fs_itools, FMX.fs_idbrtti,
Data.DB, Data.Win.ADODB, Winapi.ADOInt, FMX.Types;
type
{$i frxPlatformsAttribute.inc}
TfsADORTTI = class(TComponent); // fake component
implementation
type
TFunctions = class(TfsRTTIModule)
private
function CallMethod(Instance: TObject; ClassType: TClass;
const MethodName: String; Caller: TfsMethodHelper): Variant;
function GetProp(Instance: TObject; ClassType: TClass;
const PropName: String): Variant;
procedure SetProp(Instance: TObject; ClassType: TClass;
const PropName: String; Value: Variant);
public
constructor Create(AScript: TfsScript); override;
end;
{ TFunctions }
constructor TFunctions.Create(AScript: TfsScript);
begin
inherited Create(AScript);
with AScript do
begin
AddType('TDataType', fvtInt);
AddClass(TADOConnection, 'TComponent');
AddClass(TParameter, 'TCollectionItem');
with AddClass(TParameters, 'TCollection') do
begin
AddMethod('function AddParameter: TParameter', CallMethod);
AddDefaultProperty('Items', 'Integer', 'TParameter', CallMethod, True);
end;
with AddClass(TCustomADODataSet, 'TDataSet') do
begin
AddProperty('Sort', 'WideString', GetProp, SetProp);
end;
AddClass(TADOTable, 'TCustomADODataSet');
with AddClass(TADOQuery, 'TCustomADODataSet') do
AddMethod('procedure ExecSQL', CallMethod);
with AddClass(TADOStoredProc, 'TCustomADODataSet') do
AddMethod('procedure ExecProc', CallMethod);
end;
end;
function TFunctions.CallMethod(Instance: TObject; ClassType: TClass;
const MethodName: String; Caller: TfsMethodHelper): Variant;
begin
Result := 0;
if ClassType = TParameters then
begin
if MethodName = 'ADDPARAMETER' then
Result := frxInteger(TParameters(Instance).AddParameter)
else if MethodName = 'ITEMS.GET' then
Result := frxInteger(TParameters(Instance).Items[Caller.Params[0]])
end
else if ClassType = TADOQuery then
begin
if MethodName = 'EXECSQL' then
TADOQuery(Instance).ExecSQL
end
else if ClassType = TADOStoredProc then
begin
if MethodName = 'EXECPROC' then
TADOStoredProc(Instance).ExecProc
end
end;
function TFunctions.GetProp(Instance: TObject; ClassType: TClass;
const PropName: String): Variant;
begin
Result := 0;
if ClassType = TCustomADODataSet then
begin
if PropName = 'SORT' then
Result := TCustomADODataSet(Instance).Sort;
end
end;
procedure TFunctions.SetProp(Instance: TObject; ClassType: TClass;
const PropName: String; Value: Variant);
begin
if ClassType = TCustomADODataSet then
begin
if PropName = 'SORT' then
TCustomADODataSet(Instance).Sort := Value;
end
end;
initialization
StartClassGroup(TFmxObject);
ActivateClassGroup(TFmxObject);
GroupDescendentsWith(TfsADORTTI, TFmxObject);
fsRTTIModules.Add(TFunctions);
finalization
fsRTTIModules.Remove(TFunctions);
end.

View File

@ -0,0 +1,14 @@
{******************************************}
{ }
{ FastScript v1.9 }
{ Basic grammar }
{ }
{ (c) 2003-2011 by Alexander Tzyganenko, }
{ Fast Reports Inc }
{ }
{******************************************}
unit FMX.fs_ibasic;
{$i FMX.inc}
{$i fs_ibasic.pas}

View File

@ -0,0 +1,181 @@
{******************************************}
{ }
{ FastScript v1.9 }
{ Chart }
{ }
{ (c) 2003-2007 by Alexander Tzyganenko, }
{ Fast Reports Inc }
{ }
{******************************************}
unit FMX.fs_ichartrtti;
interface
{$i fs.inc}
uses
System.SysUtils, System.Classes, FMX.fs_iinterpreter, FMX.fs_itools, FMX.fs_iformsrtti, FMX.Objects,
FMXTee.Chart, FMXTee.Series, FMXTee.Engine, FMXTee.Procs, FMXTee.Canvas, FMX.Types, System.Types;
type
{$i frxPlatformsAttribute.inc}
TfsChartRTTI = class(TFmxObject); // fake component
implementation
type
TFunctions = class(TfsRTTIModule)
private
function CallMethod(Instance: TObject; ClassType: TClass;
const MethodName: String; Caller: TfsMethodHelper): Variant;
function GetProp(Instance: TObject; ClassType: TClass;
const PropName: String): Variant;
procedure SetProp(Instance: TObject; ClassType: TClass;
const PropName: String; Value: Variant);
public
constructor Create(AScript: TfsScript); override;
end;
{ TFunctions }
constructor TFunctions.Create(AScript: TfsScript);
begin
inherited Create(AScript);
with AScript do
begin
AddType('TChartValue', fvtFloat);
AddEnum('TLegendStyle', 'lsAuto, lsSeries, lsValues, lsLastValues');
AddEnum('TLegendAlignment', 'laLeft, laRight, laTop, laBottom');
AddEnum('TLegendTextStyle', 'ltsPlain, ltsLeftValue, ltsRightValue, ltsLeftPercent,' +
'ltsRightPercent, ltsXValue');
AddEnum('TChartListOrder', 'loNone, loAscending, loDescending');
AddEnum('TGradientDirection', 'gdTopBottom, gdBottomTop, gdLeftRight, gdRightLeft');
AddEnum('TSeriesMarksStyle', 'smsValue, smsPercent, smsLabel, smsLabelPercent, ' +
'smsLabelValue, smsLegend, smsPercentTotal, smsLabelPercentTotal, smsXValue');
AddEnum('TAxisLabelStyle', 'talAuto, talNone, talValue, talMark, talText');
AddEnum('THorizAxis', 'aTopAxis, aBottomAxis');
AddEnum('TVertAxis', 'aLeftAxis, aRightAxis');
AddEnum('TTeeBackImageMode', 'pbmStretch, pbmTile, pbmCenter');
AddEnum('TPanningMode', 'pmNone, pmHorizontal, pmVertical, pmBoth');
AddEnum('TSeriesPointerStyle', 'psRectangle, psCircle, psTriangle, ' +
'psDownTriangle, psCross, psDiagCross, psStar, psDiamond, psSmallDot');
AddEnum('TMultiArea', 'maNone, maStacked, maStacked100');
AddEnum('TMultiBar', 'mbNone, mbSide, mbStacked, mbStacked100');
AddEnum('TBarStyle', 'bsRectangle, bsPyramid, bsInvPyramid, bsCilinder, ' +
'bsEllipse, bsArrow, bsRectGradient');
AddEnum('TPenEndStyle', 'esRound, esSquare, esFlat');
AddEnum('TPenMode', 'pmBlack, pmWhite, pmNop, pmNot, pmCopy, pmNotCopy, ' +
'pmMergePenNot, pmMaskPenNot, pmMergeNotPen, pmMaskNotPen, pmMerge, ' +
'pmNotMerge, pmMask, pmNotMask, pmXor, pmNotXor');
AddEnum('TPenStyle', 'psSolid, psDash, psDot, psDashDot, psDashDotDot, psClear, psInsideFrame');
AddClass(TChartValueList, 'TPersistent');
AddClass(TChartAxisTitle, 'TPersistent');
AddClass(TChartAxis, 'TPersistent');
AddClass(TCustomChartLegend, 'TPersistent');
AddClass(TChartLegend, 'TCustomChartLegend');
AddClass(TSeriesMarks, 'TPersistent');
AddClass(TChartGradient, 'TPersistent');
AddClass(TChartWall, 'TPersistent');
AddClass(TChartBrush, 'TBrush');
AddClass(TChartTitle, 'TPersistent');
AddClass(TView3DOptions, 'TPersistent');
AddClass(TChartPen, 'TComponent');
with AddClass(TChartSeries, 'TComponent') do
begin
AddMethod('procedure Clear', CallMethod);
AddMethod('procedure Delete(Index: Integer)', CallMethod);
AddMethod('function Count: Integer', CallMethod);
AddMethod('procedure Add(const AValue: Double; const ALabel: String; AColor: TColor)', CallMethod);
AddProperty('Active','Boolean', GetProp, SetProp);
AddProperty('ColorEachPoint','Boolean', GetProp, SetProp);
end;
AddClass(TSeriesPointer, 'TPersistent');
AddClass(TCustomSeries, 'TChartSeries');
AddClass(TLineSeries, 'TCustomSeries');
AddClass(TPointSeries, 'TCustomSeries');
AddClass(TAreaSeries, 'TCustomSeries');
with AddClass(TCustomBarSeries, 'TChartSeries') do
begin
AddProperty('Title','String', GetProp, SetProp);
end;
AddClass(TBarSeries, 'TCustomBarSeries');
AddClass(THorizBarSeries, 'TCustomBarSeries');
AddClass(TCircledSeries, 'TChartSeries');
AddClass(TPieSeries, 'TCircledSeries');
AddClass(TFastLineSeries, 'TChartSeries');
AddClass(TCustomChart, 'TWinControl');
AddClass(TChart, 'TCustomChart');
end;
end;
function TFunctions.CallMethod(Instance: TObject; ClassType: TClass;
const MethodName: String; Caller: TfsMethodHelper): Variant;
begin
Result := 0;
if ClassType = TChartSeries then
begin
if MethodName = 'CLEAR' then
TChartSeries(Instance).Clear
else if MethodName = 'ADD' then
TChartSeries(Instance).Add(Caller.Params[0], String(Caller.Params[1]), Caller.Params[2])
else if MethodName = 'DELETE' then
TChartSeries(Instance).Delete(Caller.Params[0])
else if MethodName = 'COUNT' then
Result := TChartSeries(Instance).Count
end
end;
function TFunctions.GetProp(Instance: TObject; ClassType: TClass;
const PropName: String): Variant;
begin
Result := 0;
if ClassType = TChartSeries then
begin
if PropName = 'ACTIVE' then
Result := TChartSeries(Instance).Active
else if PropName = 'COLOREACHPOINT' then
Result := TChartSeries(Instance).ColorEachPoint
end else
if ClassType = TCustomBarSeries then
begin
if PropName = 'Title' then
Result := TCustomBarSeries(Instance).Title
end;
end;
procedure TFunctions.SetProp(Instance: TObject; ClassType: TClass;
const PropName: String; Value: Variant);
begin
if ClassType = TChartSeries then
begin
if PropName = 'ACTIVE' then
TChartSeries(Instance).Active := Value
else if PropName = 'COLOREACHPOINT' then
TChartSeries(Instance).ColorEachPoint := Value
end else
if ClassType = TCustomBarSeries then
begin
if PropName = 'Title' then
TCustomBarSeries(Instance).Title := Value
end
end;
initialization
StartClassGroup(TFmxObject);
ActivateClassGroup(TFmxObject);
GroupDescendentsWith(TfsChartRTTI, TFmxObject);
fsRTTIModules.Add(TFunctions);
finalization
fsRTTIModules.Remove(TFunctions);
end.

View File

@ -0,0 +1,14 @@
{******************************************}
{ }
{ FastScript v1.9 }
{ Classes.pas classes and functions }
{ }
{ (c) 2003-2011 by Alexander Tzyganenko, }
{ Fast Reports Inc }
{ }
{******************************************}
unit FMX.fs_iclassesrtti;
{$i FMX.inc}
{$i fs_iclassesrtti.pas}

View File

@ -0,0 +1,14 @@
{******************************************}
{ }
{ FastScript v1.9 }
{ Resources }
{ }
{ (c) 2003-2007 by Alexander Tzyganenko, }
{ Fast Reports Inc }
{ }
{******************************************}
unit FMX.fs_iconst;
{$i FMX.inc}
{$i fs_iconst.pas}

View File

@ -0,0 +1,14 @@
{******************************************}
{ }
{ FastScript v1.9 }
{ C++ grammar }
{ }
{ (c) 2003-2011 by Alexander Tzyganenko, }
{ Fast Reports Inc }
{ }
{******************************************}
unit FMX.fs_icpp;
{$i FMX.inc}
{$i fs_icpp.pas}

View File

@ -0,0 +1,570 @@
{******************************************}
{ }
{ FastScript v1.9 }
{ DB.pas classes and functions }
{ }
{ (c) 2003-2007 by Alexander Tzyganenko, }
{ Fast Reports Inc }
{ }
{******************************************}
unit FMX.fs_idbrtti;
interface
{$i fs.inc}
uses
System.Types, System.SysUtils, System.Classes, FMX.fs_iinterpreter, FMX.fs_itools, FMX.fs_iclassesrtti, FMX.fs_ievents,
Data.DB, FMX.Types;
type
{$i frxPlatformsAttribute.inc}
TfsDBRTTI = class(TComponent); // fake component
TfsDatasetNotifyEvent = class(TfsCustomEvent)
public
procedure DoEvent(Dataset: TDataset);
function GetMethod: Pointer; override;
end;
TfsFilterRecordEvent = class(TfsCustomEvent)
public
procedure DoEvent(DataSet: TDataSet; var Accept: Boolean);
function GetMethod: Pointer; override;
end;
TfsFieldGetTextEvent = class(TfsCustomEvent)
public
procedure DoEvent(Sender: TField; var Text: String; DisplayText: Boolean);
function GetMethod: Pointer; override;
end;
implementation
type
TFunctions = class(TfsRTTIModule)
private
function CallMethod(Instance: TObject; ClassType: TClass;
const MethodName: String; Caller: TfsMethodHelper): Variant;
function GetProp(Instance: TObject; ClassType: TClass;
const PropName: String): Variant;
procedure SetProp(Instance: TObject; ClassType: TClass;
const PropName: String; Value: Variant);
public
constructor Create(AScript: TfsScript); override;
end;
{ TfsDatasetNotifyEvent }
procedure TfsDatasetNotifyEvent.DoEvent(Dataset: TDataset);
begin
CallHandler([Dataset]);
end;
function TfsDatasetNotifyEvent.GetMethod: Pointer;
begin
Result := @TfsDatasetNotifyEvent.DoEvent;
end;
{ TfsFilterRecordEvent }
procedure TfsFilterRecordEvent.DoEvent(DataSet: TDataSet; var Accept: Boolean);
begin
CallHandler([DataSet, Accept]);
Accept := Handler.Params[1].Value;
end;
function TfsFilterRecordEvent.GetMethod: Pointer;
begin
Result := @TfsFilterRecordEvent.DoEvent;
end;
{ TfsFieldGetTextEvent }
procedure TfsFieldGetTextEvent.DoEvent(Sender: TField; var Text: String; DisplayText: Boolean);
begin
CallHandler([Sender, Text, DisplayText]);
Text := Handler.Params[1].Value;
end;
function TfsFieldGetTextEvent.GetMethod: Pointer;
begin
Result := @TfsFieldGetTextEvent.DoEvent;
end;
{ TFunctions }
constructor TFunctions.Create(AScript: TfsScript);
begin
inherited Create(AScript);
with AScript do
begin
AddEnum('TFieldType', 'ftUnknown, ftString, ftSmallint, ftInteger, ftWord,' +
'ftBoolean, ftFloat, ftCurrency, ftBCD, ftDate, ftTime, ftDateTime,' +
'ftBytes, ftVarBytes, ftAutoInc, ftBlob, ftMemo, ftGraphic, ftFmtMemo,' +
'ftParadoxOle, ftDBaseOle, ftTypedBinary, ftCursor, ftFixedChar, ftWideString,' +
'ftLargeint, ftADT, ftArray, ftReference, ftDataSet, ftOraBlob, ftOraClob,' +
'ftVariant, ftInterface, ftIDispatch, ftGuid, ftTimeStamp, ftFMTBcd');
AddEnum('TBlobStreamMode', 'bmRead, bmWrite, bmReadWrite');
AddEnumSet('TLocateOptions', 'loCaseInsensitive, loPartialKey');
AddEnumSet('TFilterOptions', 'foCaseInsensitive, foNoPartialCompare');
AddEnum('TParamType', 'ptUnknown, ptInput, ptOutput, ptInputOutput, ptResult');
with AddClass(TField, 'TComponent') do
begin
AddProperty('AsBoolean', 'Boolean', GetProp, SetProp);
AddProperty('AsCurrency', 'Currency', GetProp, SetProp);
AddProperty('AsDateTime', 'TDateTime', GetProp, SetProp);
AddProperty('AsFloat', 'Double', GetProp, SetProp);
AddProperty('AsInteger', 'Integer', GetProp, SetProp);
AddProperty('AsString', 'String', GetProp, SetProp);
AddProperty('AsVariant', 'Variant', GetProp, SetProp);
AddProperty('DataType', 'TFieldType', GetProp, nil);
AddProperty('DisplayName', 'String', GetProp, nil);
AddProperty('DisplayText', 'String', GetProp, nil);
AddProperty('IsNull', 'Boolean', GetProp, nil);
AddProperty('Size', 'Integer', GetProp, SetProp);
AddProperty('Value', 'Variant', GetProp, SetProp);
AddProperty('OldValue', 'Variant', GetProp, nil);
AddEvent('OnGetText', TfsFieldGetTextEvent);
end;
with AddClass(TFields, 'TObject') do
AddDefaultProperty('Fields', 'Integer', 'TField', CallMethod, True);
AddClass(TStringField, 'TField');
AddClass(TNumericField, 'TField');
AddClass(TIntegerField, 'TNumericField');
AddClass(TSmallIntField, 'TIntegerField');
AddClass(TWordField, 'TIntegerField');
AddClass(TAutoIncField, 'TIntegerField');
AddClass(TFloatField, 'TNumericField');
AddClass(TCurrencyField, 'TFloatField');
AddClass(TBooleanField, 'TField');
AddClass(TDateTimeField, 'TField');
AddClass(TDateField, 'TDateTimeField');
AddClass(TTimeField, 'TDateTimeField');
AddClass(TBinaryField, 'TField');
AddClass(TBytesField, 'TBinaryField');
AddClass(TVarBytesField, 'TBinaryField');
AddClass(TBCDField, 'TNumericField');
with AddClass(TBlobField, 'TField') do
begin
AddMethod('procedure LoadFromFile(const FileName: String)', CallMethod);
AddMethod('procedure LoadFromStream(Stream: TStream)', CallMethod);
AddMethod('procedure SaveToFile(const FileName: String)', CallMethod);
AddMethod('procedure SaveToStream(Stream: TStream)', CallMethod);
end;
AddClass(TMemoField, 'TBlobField');
AddClass(TGraphicField, 'TBlobField');
AddClass(TFieldDef, 'TPersistent');
with AddClass(TFieldDefs, 'TObject') do
begin
AddMethod('function AddFieldDef: TFieldDef', CallMethod);
AddMethod('function Find(const Name: string): TFieldDef', CallMethod);
AddMethod('procedure Add(const Name: string; DataType: TFieldType; Size: Word; Required: Boolean)', CallMethod);
AddMethod('procedure Clear', CallMethod);
AddMethod('procedure Update', CallMethod);
AddDefaultProperty('Items', 'Integer', 'TFieldDef', CallMethod, True);
end;
AddClass(TDataSource, 'TComponent');
AddType('TBookmark', fvtVariant);
with AddClass(TDataSet, 'TComponent') do
begin
AddMethod('procedure Open', CallMethod);
AddMethod('procedure Close', CallMethod);
AddMethod('procedure First', CallMethod);
AddMethod('procedure Last', CallMethod);
AddMethod('procedure Next', CallMethod);
AddMethod('procedure Prior', CallMethod);
AddMethod('procedure Cancel', CallMethod);
AddMethod('procedure Delete', CallMethod);
AddMethod('procedure Post', CallMethod);
AddMethod('procedure Append', CallMethod);
AddMethod('procedure Insert', CallMethod);
AddMethod('procedure Edit', CallMethod);
AddMethod('function FieldByName(const FieldName: string): TField', CallMethod);
AddMethod('procedure GetFieldNames(List: TStrings)', CallMethod);
AddMethod('function FindFirst: Boolean', CallMethod);
AddMethod('function FindLast: Boolean', CallMethod);
AddMethod('function FindNext: Boolean', CallMethod);
AddMethod('function FindPrior: Boolean', CallMethod);
AddMethod('procedure FreeBookmark(Bookmark: TBookmark)', CallMethod);
AddMethod('function GetBookmark: TBookmark', CallMethod);
AddMethod('procedure GotoBookmark(Bookmark: TBookmark)', CallMethod);
AddMethod('function Locate(const KeyFields: string; const KeyValues: Variant;' +
'Options: TLocateOptions): Boolean', CallMethod);
AddMethod('function IsEmpty: Boolean', CallMethod);
AddMethod('procedure EnableControls', CallMethod);
AddMethod('procedure DisableControls', CallMethod);
AddProperty('Bof', 'Boolean', GetProp, nil);
AddProperty('Eof', 'Boolean', GetProp, nil);
AddProperty('FieldCount', 'Integer', GetProp, nil);
AddProperty('FieldDefs', 'TFieldDefs', GetProp, nil);
AddProperty('Fields', 'TFields', GetProp, nil);
AddProperty('Filter', 'string', GetProp, SetProp);
AddProperty('Filtered', 'Boolean', GetProp, SetProp);
AddProperty('FilterOptions', 'TFilterOptions', GetProp, SetProp);
AddProperty('Active', 'Boolean', GetProp, SetProp);
AddEvent('BeforeOpen', TfsDatasetNotifyEvent);
AddEvent('AfterOpen', TfsDatasetNotifyEvent);
AddEvent('BeforeClose', TfsDatasetNotifyEvent);
AddEvent('AfterClose', TfsDatasetNotifyEvent);
AddEvent('BeforeInsert', TfsDatasetNotifyEvent);
AddEvent('AfterInsert', TfsDatasetNotifyEvent);
AddEvent('BeforeEdit', TfsDatasetNotifyEvent);
AddEvent('AfterEdit', TfsDatasetNotifyEvent);
AddEvent('BeforePost', TfsDatasetNotifyEvent);
AddEvent('AfterPost', TfsDatasetNotifyEvent);
AddEvent('BeforeCancel', TfsDatasetNotifyEvent);
AddEvent('AfterCancel', TfsDatasetNotifyEvent);
AddEvent('BeforeDelete', TfsDatasetNotifyEvent);
AddEvent('AfterDelete', TfsDatasetNotifyEvent);
AddEvent('BeforeScroll', TfsDatasetNotifyEvent);
AddEvent('AfterScroll', TfsDatasetNotifyEvent);
AddEvent('OnCalcFields', TfsDatasetNotifyEvent);
AddEvent('OnFilterRecord', TfsFilterRecordEvent);
AddEvent('OnNewRecord', TfsDatasetNotifyEvent);
end;
with AddClass(TParam, 'TPersistent') do
begin
AddMethod('procedure Clear', CallMethod);
AddProperty('AsBoolean', 'Boolean', GetProp, SetProp);
AddProperty('AsCurrency', 'Currency', GetProp, SetProp);
AddProperty('AsDateTime', 'TDateTime', GetProp, SetProp);
AddProperty('AsFloat', 'Double', GetProp, SetProp);
AddProperty('AsInteger', 'Integer', GetProp, SetProp);
AddProperty('AsDate', 'TDate', GetProp, SetProp);
AddProperty('AsTime', 'TTime', GetProp, SetProp);
AddProperty('AsString', 'String', GetProp, SetProp);
AddProperty('Bound', 'Boolean', GetProp, SetProp);
AddProperty('IsNull', 'Boolean', GetProp, nil);
AddProperty('Text', 'String', GetProp, SetProp);
end;
with AddClass(TParams, 'TPersistent') do
begin
AddMethod('function ParamByName(const Value: string): TParam', CallMethod);
AddMethod('function FindParam(const Value: string): TParam', CallMethod);
AddDefaultProperty('Items', 'Integer', 'TParam', CallMethod, True);
end;
end;
end;
function TFunctions.CallMethod(Instance: TObject; ClassType: TClass;
const MethodName: String; Caller: TfsMethodHelper): Variant;
var
_TDataSet: TDataSet;
function IntToLocateOptions(i: Integer): TLocateOptions;
begin
Result := [];
if (i and 1) <> 0 then
Result := Result + [loCaseInsensitive];
if (i and 2) <> 0 then
Result := Result + [loPartialKey];
end;
begin
Result := 0;
if ClassType = TFields then
begin
if MethodName = 'FIELDS.GET' then
Result := frxInteger(TFields(Instance)[Caller.Params[0]])
end
else if ClassType = TFieldDefs then
begin
if MethodName = 'ITEMS.GET' then
Result := frxInteger(TFieldDefs(Instance)[Caller.Params[0]])
else if MethodName = 'ADD' then
TFieldDefs(Instance).Add(Caller.Params[0], TFieldType(Caller.Params[1]), Caller.Params[2], Caller.Params[3])
else if MethodName = 'ADDFIELDDEF' then
Result := frxInteger(TFieldDefs(Instance).AddFieldDef)
else if MethodName = 'CLEAR' then
TFieldDefs(Instance).Clear
else if MethodName = 'FIND' then
Result := frxInteger(TFieldDefs(Instance).Find(Caller.Params[0]))
else if MethodName = 'UPDATE' then
TFieldDefs(Instance).Update
end
else if ClassType = TBlobField then
begin
if MethodName = 'LOADFROMFILE' then
TBlobField(Instance).LoadFromFile(Caller.Params[0])
else if MethodName = 'LOADFROMSTREAM' then
TBlobField(Instance).LoadFromStream(TStream(frxInteger(Caller.Params[0])))
else if MethodName = 'SAVETOFILE' then
TBlobField(Instance).SaveToFile(Caller.Params[0])
else if MethodName = 'SAVETOSTREAM' then
TBlobField(Instance).SaveToStream(TStream(frxInteger(Caller.Params[0])))
end
else if ClassType = TDataSet then
begin
_TDataSet := TDataSet(Instance);
if MethodName = 'OPEN' then
_TDataSet.Open
else if MethodName = 'CLOSE' then
_TDataSet.Close
else if MethodName = 'FIRST' then
_TDataSet.First
else if MethodName = 'LAST' then
_TDataSet.Last
else if MethodName = 'NEXT' then
_TDataSet.Next
else if MethodName = 'PRIOR' then
_TDataSet.Prior
else if MethodName = 'CANCEL' then
_TDataSet.Cancel
else if MethodName = 'DELETE' then
_TDataSet.Delete
else if MethodName = 'POST' then
_TDataSet.Post
else if MethodName = 'APPEND' then
_TDataSet.Append
else if MethodName = 'INSERT' then
_TDataSet.Insert
else if MethodName = 'EDIT' then
_TDataSet.Edit
else if MethodName = 'FIELDBYNAME' then
Result := frxInteger(_TDataSet.FieldByName(Caller.Params[0]))
else if MethodName = 'GETFIELDNAMES' then
_TDataSet.GetFieldNames(TStrings(frxInteger(Caller.Params[0])))
else if MethodName = 'FINDFIRST' then
Result := _TDataSet.FindFirst
else if MethodName = 'FINDLAST' then
Result := _TDataSet.FindLast
else if MethodName = 'FINDNEXT' then
Result := _TDataSet.FindNext
else if MethodName = 'FINDPRIOR' then
Result := _TDataSet.FindPrior
else if MethodName = 'FREEBOOKMARK' then
_TDataSet.FreeBookmark(TBookMark(frxInteger(Caller.Params[0])))
{$IFNDEF CPUX64}
else if MethodName = 'GETBOOKMARK' then
Result := frxInteger(_TDataSet.GetBookmark)
{$ENDIF}
else if MethodName = 'GOTOBOOKMARK' then
_TDataSet.GotoBookmark(TBookMark(frxInteger(Caller.Params[0])))
else if MethodName = 'LOCATE' then
Result := _TDataSet.Locate(Caller.Params[0], Caller.Params[1], IntToLocateOptions(Caller.Params[2]))
else if MethodName = 'ISEMPTY' then
Result := _TDataSet.IsEmpty
else if MethodName = 'ENABLECONTROLS' then
_TDataSet.EnableControls
else if MethodName = 'DISABLECONTROLS' then
_TDataSet.DisableControls
end
else if ClassType = TParam then
begin
if MethodName = 'CLEAR' then
TParam(Instance).Clear
end
else if ClassType = TParams then
begin
if MethodName = 'PARAMBYNAME' then
Result := frxInteger(TParams(Instance).ParamByName(Caller.Params[0]))
else if MethodName = 'FINDPARAM' then
Result := frxInteger(TParams(Instance).FindParam(Caller.Params[0]))
else if MethodName = 'ITEMS.GET' then
Result := frxInteger(TParams(Instance)[Caller.Params[0]])
end
end;
function TFunctions.GetProp(Instance: TObject; ClassType: TClass;
const PropName: String): Variant;
var
_TField: TField;
_TParam: TParam;
_TDataSet: TDataSet;
function FilterOptionsToInt(f: TFilterOptions): Integer;
begin
Result := 0;
if foCaseInsensitive in f then
Result := Result or 1;
if foNoPartialCompare in f then
Result := Result or 2;
end;
begin
Result := 0;
if ClassType = TField then
begin
_TField := TField(Instance);
if PropName = 'ASBOOLEAN' then
Result := _TField.AsBoolean
else if PropName = 'ASCURRENCY' then
Result := _TField.AsCurrency
else if PropName = 'ASDATETIME' then
Result := _TField.AsDateTime
else if PropName = 'ASFLOAT' then
Result := _TField.AsFloat
else if PropName = 'ASINTEGER' then
Result := _TField.AsInteger
else if PropName = 'ASSTRING' then
Result := _TField.AsString
else if PropName = 'ASVARIANT' then
Result := _TField.AsVariant
else if PropName = 'DATATYPE' then
Result := _TField.DataType
else if PropName = 'DISPLAYNAME' then
Result := _TField.DisplayName
else if PropName = 'DISPLAYTEXT' then
Result := _TField.DisplayText
else if PropName = 'ISNULL' then
Result := _TField.IsNull
else if PropName = 'SIZE' then
Result := _TField.Size
else if PropName = 'VALUE' then
Result := _TField.Value
else if PropName = 'OLDVALUE' then
Result := _TField.OldValue
end
else if ClassType = TDataSet then
begin
_TDataSet := TDataSet(Instance);
if PropName = 'BOF' then
Result := _TDataSet.Bof
else if PropName = 'EOF' then
Result := _TDataSet.Eof
else if PropName = 'FIELDCOUNT' then
Result := _TDataSet.FieldCount
else if PropName = 'FIELDDEFS' then
Result := frxInteger(_TDataSet.FieldDefs)
else if PropName = 'FIELDS' then
Result := frxInteger(_TDataSet.Fields)
else if PropName = 'FILTER' then
Result := _TDataSet.Filter
else if PropName = 'FILTERED' then
Result := _TDataSet.Filtered
else if PropName = 'FILTEROPTIONS' then
Result := FilterOptionsToInt(_TDataSet.FilterOptions)
else if PropName = 'ACTIVE' then
Result := _TDataSet.Active
end
else if ClassType = TParam then
begin
_TParam := TParam(Instance);
if PropName = 'BOUND' then
Result := _TParam.Bound
else if PropName = 'ISNULL' then
Result := _TParam.IsNull
else if PropName = 'TEXT' then
Result := _TParam.Text
else if PropName = 'ASBOOLEAN' then
Result := _TParam.AsBoolean
else if PropName = 'ASCURRENCY' then
Result := _TParam.AsCurrency
else if PropName = 'ASDATETIME' then
Result := _TParam.AsDateTime
else if PropName = 'ASFLOAT' then
Result := _TParam.AsFloat
else if PropName = 'ASINTEGER' then
Result := _TParam.AsInteger
else if PropName = 'ASDATE' then
Result := _TParam.AsDate
else if PropName = 'ASTIME' then
Result := _TParam.AsTime
else if PropName = 'ASSTRING' then
Result := _TParam.AsString
end
end;
procedure TFunctions.SetProp(Instance: TObject; ClassType: TClass;
const PropName: String; Value: Variant);
var
_TField: TField;
_TParam: TParam;
_TDataSet: TDataSet;
function IntToFilterOptions(i: Integer): TFilterOptions;
begin
Result := [];
if (i and 1) <> 0 then
Result := Result + [foCaseInsensitive];
if (i and 2) <> 0 then
Result := Result + [foNoPartialCompare];
end;
begin
if ClassType = TField then
begin
_TField := TField(Instance);
if PropName = 'ASBOOLEAN' then
_TField.AsBoolean := Value
else if PropName = 'ASCURRENCY' then
_TField.AsCurrency := Value
else if PropName = 'ASDATETIME' then
_TField.AsDateTime := Value
else if PropName = 'ASFLOAT' then
_TField.AsFloat := Value
else if PropName = 'ASINTEGER' then
_TField.AsInteger := Value
else if PropName = 'ASSTRING' then
_TField.AsString := Value
else if PropName = 'ASVARIANT' then
_TField.AsVariant := Value
else if PropName = 'VALUE' then
_TField.Value := Value
else if PropName = 'SIZE' then
_TField.Size := Value
end
else if ClassType = TDataSet then
begin
_TDataSet := TDataSet(Instance);
if PropName = 'FILTER' then
_TDataSet.Filter := Value
else if PropName = 'FILTERED' then
_TDataSet.Filtered := Value
else if PropName = 'FILTEROPTIONS' then
_TDataSet.FilterOptions := IntToFilterOptions(Value)
else if PropName = 'ACTIVE' then
_TDataSet.Active := Value
end
else if ClassType = TParam then
begin
_TParam := TParam(Instance);
if PropName = 'ASBOOLEAN' then
_TParam.AsBoolean := Value
else if PropName = 'ASCURRENCY' then
_TParam.AsCurrency := Value
else if PropName = 'ASDATETIME' then
_TParam.AsDateTime := Value
else if PropName = 'ASFLOAT' then
_TParam.AsFloat := Value
else if PropName = 'ASINTEGER' then
_TParam.AsInteger := Value
else if PropName = 'ASDATE' then
_TParam.AsDate := Value
else if PropName = 'ASTIME' then
_TParam.AsTime := Value
else if PropName = 'ASSTRING' then
_TParam.AsString := Value
else if PropName = 'BOUND' then
_TParam.Bound := Value
else if PropName = 'TEXT' then
_TParam.Text := Value
end
end;
initialization
StartClassGroup(TFmxObject);
ActivateClassGroup(TFmxObject);
GroupDescendentsWith(TfsDBRTTI, TFmxObject);
fsRTTIModules.Add(TFunctions);
finalization
fsRTTIModules.Remove(TFunctions);
end.

View File

@ -0,0 +1,133 @@
{******************************************}
{ }
{ FastScript v1.9 }
{ Dialogs.pas classes and functions }
{ }
{ (c) 2003-2007 by Alexander Tzyganenko, }
{ Fast Reports Inc }
{ }
{******************************************}
unit FMX.fs_idialogsrtti;
interface
{$i fs.inc}
uses
System.SysUtils, System.Classes, FMX.fs_iinterpreter, FMX.fs_iclassesrtti, FMX.Types
, FMX.Dialogs, System.UITypes, System.Types
{$IFDEF DELPHI19}
, FMX.Printer
{$ENDIF};
type
{$i frxPlatformsAttribute.inc}
TfsDialogsRTTI = class(TComponent); // fake component
implementation
type
THackDialog = class(TCommonDialog);
TFunctions = class(TfsRTTIModule)
private
function CallMethod(Instance: TObject; ClassType: TClass;
const MethodName: String; Caller: TfsMethodHelper): Variant;
public
constructor Create(AScript: TfsScript); override;
end;
type
TWordSet = set of 0..15;
PWordSet = ^TWordSet;
{ TFunctions }
constructor TFunctions.Create(AScript: TfsScript);
var
dlg: String;
begin
inherited Create(AScript);
with AScript do
begin
AddEnumSet('TOpenOptions', 'ofReadOnly, ofOverwritePrompt, ofHideReadOnly,' +
'ofNoChangeDir, ofShowHelp, ofNoValidate, ofAllowMultiSelect,' +
'ofExtensionDifferent, ofPathMustExist, ofFileMustExist, ofCreatePrompt,' +
'ofShareAware, ofNoReadOnlyReturn, ofNoTestFileCreate, ofNoNetworkButton,' +
'ofNoLongNames, ofOldStyleDialog, ofNoDereferenceLinks, ofEnableIncludeNotify,' +
'ofEnableSizing');
AddEnum('TFileEditStyle', 'fsEdit, fsComboBox');
AddEnumSet('TColorDialogOptions', 'cdFullOpen, cdPreventFullOpen, cdShowHelp,' +
'cdSolidColor, cdAnyColor');
AddEnumSet('TFontDialogOptions', 'fdAnsiOnly, fdTrueTypeOnly, fdEffects,' +
'fdFixedPitchOnly, fdForceFontExist, fdNoFaceSel, fdNoOEMFonts,' +
'fdNoSimulations, fdNoSizeSel, fdNoStyleSel, fdNoVectorFonts,' +
'fdShowHelp, fdWysiwyg, fdLimitSize, fdScalableOnly, fdApplyButton');
AddEnum('TFontDialogDevice', 'fdScreen, fdPrinter, fdBoth');
AddEnum('TPrintRange', 'prAllPages, prSelection, prPageNums');
AddEnumSet('TPrintDialogOptions', 'poPrintToFile, poPageNums, poSelection,' +
'poWarning, poHelp, poDisablePrintToFile');
AddEnum('TMsgDlgType', 'mtCustom, mtInformation, mtWarning, mtError, mtConfirmation');
AddEnumSet('TMsgDlgButtons', 'mbNone, mbOk, mbCancel, mbYes, mbNo, mbAbort, ' +
'mbRetry, mbIgnore');
with AddClass(TCommonDialog, 'TComponent') do
AddMethod('function Execute: Boolean', CallMethod);
AddClass(TOpenDialog, 'TCommonDialog');
AddClass(TSaveDialog, 'TCommonDialog');
AddClass(TPrintDialog, dlg);
AddClass(TPrinterSetupDialog, dlg);
AddMethod('function MessageDlg(Msg: string; DlgType: TMsgDlgType; Buttons: TMsgDlgButtons; HelpCtx: Longint): Integer', CallMethod, 'ctOther');
AddMethod('function InputBox(ACaption, APrompt, ADefault: string): string', CallMethod, 'ctOther');
AddMethod('function InputQuery(ACaption, APrompt: string; var Value: string): Boolean', CallMethod, 'ctOther');
end;
end;
function TFunctions.CallMethod(Instance: TObject; ClassType: TClass;
const MethodName: String; Caller: TfsMethodHelper): Variant;
var
s: String;
b: TMsgDlgButtons;
begin
Result := 0;
if ClassType = TCommonDialog then
begin
if MethodName = 'EXECUTE' then
Result := THackDialog(Instance).Execute
end
else if MethodName = 'INPUTBOX' then
Result := InputBox(Caller.Params[0], Caller.Params[1], Caller.Params[2])
else if MethodName = 'INPUTQUERY' then
begin
s := Caller.Params[2];
Result := InputQuery(Caller.Params[0], Caller.Params[1], s);
Caller.Params[2] := s;
end
else if MethodName = 'MESSAGEDLG' then
begin
Word(PWordSet(@b)^) := Caller.Params[2];
Result := MessageDlg(Caller.Params[0], Caller.Params[1], b, Caller.Params[3]);
end
end;
initialization
StartClassGroup(TFmxObject);
ActivateClassGroup(TFmxObject);
GroupDescendentsWith(TfsDialogsRTTI, TFmxObject);
fsRTTIModules.Add(TFunctions);
finalization
fsRTTIModules.Remove(TFunctions);
end.

View File

@ -0,0 +1,14 @@
{******************************************}
{ }
{ FastScript v1.9 }
{ OLE dispatch module }
{ }
{ (c) 2003-2011 by Alexander Tzyganenko, }
{ Fast Reports Inc }
{ }
{******************************************}
unit FMX.fs_idisp;
{$i FMX.inc}
{$i fs_idisp.pas}

View File

@ -0,0 +1,379 @@
{******************************************}
{ }
{ FastScript v1.9 }
{ Standard events }
{ }
{ (c) 2003-2007 by Alexander Tzyganenko, }
{ Fast Reports Inc }
{ }
{******************************************}
unit FMX.fs_ievents;
interface
{$i fs.inc}
uses
System.SysUtils, System.Classes, FMX.Controls, FMX.Forms, System.UITypes, FMX.Types,
System.Types, System.Rtti, FMX.fs_iinterpreter, FMX.fs_iclassesrtti
{$IFDEF DELPHI19}
, FMX.Graphics
{$ENDIF};
type
PDragObject = ^TDragObject;
TfsDragObject = class(TPersistent)
private
FDragObject: TDragObject;
FFiles: TStringList;
function GetStringList: TStringList;
public
function GetRect: TDragObject;
function GetRectP: PDragObject;
constructor Create(aDragObj: TDragObject);
destructor Destroy; override;
published
property Source: TObject read FDragObject.Source write FDragObject.Source;
property Data: {$IFDEF Delphi17}TValue{$ELSE}Variant{$ENDIF} read FDragObject.Data write FDragObject.Data;
property Files: TStringList read GetStringList;
end;
TfsNotifyEvent = class(TfsCustomEvent)
public
procedure DoEvent(Sender: TObject);
function GetMethod: Pointer; override;
end;
TfsMouseEvent = class(TfsCustomEvent)
public
procedure DoEvent(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Single);
function GetMethod: Pointer; override;
end;
TfsMouseMoveEvent = class(TfsCustomEvent)
public
procedure DoEvent(Sender: TObject; Shift: TShiftState; X, Y: Single);
function GetMethod: Pointer; override;
end;
TfsMouseWheelEvent = class(TfsCustomEvent)
public
procedure DoEvent(Sender: TObject; Shift: TShiftState; WheelDelta: Integer; var Handled: Boolean);
function GetMethod: Pointer; override;
end;
TfsOnPaintEvent = class(TfsCustomEvent)
public
procedure DoEvent(Sender: TObject; Canvas: TCanvas; const ARect: TRectF);
function GetMethod: Pointer; override;
end;
TfsCanFocusEvent = class(TfsCustomEvent)
public
procedure DoEvent(Sender: TObject; var ACanFocus: Boolean);
function GetMethod: Pointer; override;
end;
TfsDragOverEvent = class(TfsCustomEvent)
public
procedure DoEvent(Sender: TObject; const Data: TDragObject; const Point: TPointF; var Accept: Boolean);
function GetMethod: Pointer; override;
end;
TfsDragDropEvent = class(TfsCustomEvent)
public
procedure DoEvent(Sender: TObject; const Data: TDragObject; const Point: TPointF);
function GetMethod: Pointer; override;
end;
TfsKeyEvent = class(TfsCustomEvent)
public
procedure DoEvent(Sender: TObject; var Key: Word; var KeyChar: WideChar; Shift: TShiftState);
function GetMethod: Pointer; override;
end;
TfsKeyPressEvent = class(TfsCustomEvent)
public
procedure DoEvent(Sender: TObject; var Key: Char);
function GetMethod: Pointer; override;
end;
TfsCloseEvent = class(TfsCustomEvent)
public
procedure DoEvent(Sender: TObject; var Action: TCloseAction);
function GetMethod: Pointer; override;
end;
TfsCloseQueryEvent = class(TfsCustomEvent)
public
procedure DoEvent(Sender: TObject; var CanClose: Boolean);
function GetMethod: Pointer; override;
end;
TfsCanResizeEvent = class(TfsCustomEvent)
public
procedure DoEvent(Sender: TObject; var NewWidth, NewHeight: Integer;
var Resize: Boolean);
function GetMethod: Pointer; override;
end;
implementation
type
TByteSet = set of 0..7;
PByteSet = ^TByteSet;
{ TfsNotifyEvent }
procedure TfsNotifyEvent.DoEvent(Sender: TObject);
begin
CallHandler([Sender]);
end;
function TfsNotifyEvent.GetMethod: Pointer;
begin
Result := @TfsNotifyEvent.DoEvent;
end;
{ TfsMouseEvent }
procedure TfsMouseEvent.DoEvent(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Single);
var
b: Byte;
begin
b := Byte(PByteSet(@Shift)^);
CallHandler([Sender, Integer(Button), b, X, Y]);
end;
function TfsMouseEvent.GetMethod: Pointer;
begin
Result := @TfsMouseEvent.DoEvent;
end;
{ TfsMouseMoveEvent }
procedure TfsMouseMoveEvent.DoEvent(Sender: TObject; Shift: TShiftState; X,
Y: Single);
var
b: Byte;
begin
b := Byte(PByteSet(@Shift)^);
CallHandler([Sender, b, X, Y]);
end;
function TfsMouseMoveEvent.GetMethod: Pointer;
begin
Result := @TfsMouseMoveEvent.DoEvent;
end;
{ TfsKeyEvent }
procedure TfsKeyEvent.DoEvent(Sender: TObject; var Key: Word;
var KeyChar: WideChar; Shift: TShiftState);
var
b: Byte;
begin
b := Byte(PByteSet(@Shift)^);
CallHandler([Sender, Key, KeyChar, b]);
Key := Handler.Params[1].Value;
KeyChar := WideChar(Cardinal(Handler.Params[2].Value));
end;
function TfsKeyEvent.GetMethod: Pointer;
begin
Result := @TfsKeyEvent.DoEvent;
end;
{ TfsKeyPressEvent }
procedure TfsKeyPressEvent.DoEvent(Sender: TObject; var Key: Char);
begin
CallHandler([Sender, Key]);
Key := String(Handler.Params[1].Value)[1];
end;
function TfsKeyPressEvent.GetMethod: Pointer;
begin
Result := @TfsKeyPressEvent.DoEvent;
end;
{ TfsCloseEvent }
procedure TfsCloseEvent.DoEvent(Sender: TObject; var Action: TCloseAction);
begin
CallHandler([Sender, Integer(Action)]);
Action := Handler.Params[1].Value;
end;
function TfsCloseEvent.GetMethod: Pointer;
begin
Result := @TfsCloseEvent.DoEvent;
end;
{ TfsCloseQueryEvent }
procedure TfsCloseQueryEvent.DoEvent(Sender: TObject; var CanClose: Boolean);
begin
CallHandler([Sender, CanClose]);
CanClose := Handler.Params[1].Value;
end;
function TfsCloseQueryEvent.GetMethod: Pointer;
begin
Result := @TfsCloseQueryEvent.DoEvent;
end;
{ TfsCanResizeEvent }
procedure TfsCanResizeEvent.DoEvent(Sender: TObject; var NewWidth,
NewHeight: Integer; var Resize: Boolean);
begin
CallHandler([Sender, NewWidth, NewHeight, Resize]);
NewWidth := Handler.Params[1].Value;
NewHeight := Handler.Params[2].Value;
Resize := Handler.Params[3].Value;
end;
function TfsCanResizeEvent.GetMethod: Pointer;
begin
Result := @TfsCanResizeEvent.DoEvent;
end;
{ TfsMouseWheelEvent }
procedure TfsMouseWheelEvent.DoEvent(Sender: TObject;
Shift: TShiftState; WheelDelta: Integer; var Handled: Boolean);
var
b: Byte;
begin
b := Byte(PByteSet(@Shift)^);
CallHandler([Sender, b, WheelDelta, Boolean(Handled)]);
Handled := Handler.Params[3].Value;
end;
function TfsMouseWheelEvent.GetMethod: Pointer;
begin
Result := @TfsMouseWheelEvent.DoEvent;
end;
{ TfsOnPaintEvent }
procedure TfsOnPaintEvent.DoEvent(Sender: TObject; Canvas: TCanvas;
const ARect: TRectF);
var
r: TfsRectF;
begin
r := TfsRectF.Create(ARect);
CallHandler([Sender, Canvas, r]);
r.Free;
end;
function TfsOnPaintEvent.GetMethod: Pointer;
begin
Result := @TfsOnPaintEvent.DoEvent;
end;
{ TfsCanFocusEvent }
procedure TfsCanFocusEvent.DoEvent(Sender: TObject; var ACanFocus: Boolean);
begin
CallHandler([Sender, ACanFocus]);
ACanFocus := Handler.Params[1].Value;
end;
function TfsCanFocusEvent.GetMethod: Pointer;
begin
Result := @TfsCanFocusEvent.DoEvent;
end;
{ TfsDragOverEvent }
procedure TfsDragOverEvent.DoEvent(Sender: TObject; const Data: TDragObject;
const Point: TPointF; var Accept: Boolean);
var
dObj: TfsDragObject;
begin
dObj := TfsDragObject.Create(Data);
CallHandler([Sender, dObj, Accept]);
dObj.Free;
Accept := Handler.Params[3].Value;
end;
function TfsDragOverEvent.GetMethod: Pointer;
begin
Result := @TfsDragOverEvent.DoEvent;
end;
{ TfsDragObject }
constructor TfsDragObject.Create(aDragObj: TDragObject);
var
idx: Integer;
begin
FFiles := TStringList.Create;
FDragObject.Source := aDragObj.Source;
FDragObject.Data := aDragObj.Data;
for idx := Low(FDragObject.Files) to High(FDragObject.Files) do
FFiles.Add(FDragObject.Files[idx]);
end;
destructor TfsDragObject.Destroy;
begin
FFiles.Free;
inherited;
end;
function TfsDragObject.GetRect: TDragObject;
var
idx: Integer;
begin
SetLength(FDragObject.Files, FFiles.Count);
for idx := 0 to FFiles.Count - 1 do
FDragObject.Files[idx] := FFiles.Strings[idx];
Result := FDragObject;
end;
function TfsDragObject.GetRectP: PDragObject;
var
idx: Integer;
begin
SetLength(FDragObject.Files, FFiles.Count);
for idx := 0 to FFiles.Count - 1 do
FDragObject.Files[idx] := FFiles.Strings[idx];
Result := @FDragObject;
end;
function TfsDragObject.GetStringList: TStringList;
begin
Result := FFiles;
end;
{ TfsDragDropEvent }
procedure TfsDragDropEvent.DoEvent(Sender: TObject; const Data: TDragObject;
const Point: TPointF);
var
dObj: TfsDragObject;
aPoint: TfsPointF;
begin
dObj := TfsDragObject.Create(Data);
aPoint := TfsPointF.Create(Point);
CallHandler([Sender, dObj, aPoint]);
dObj.Free;
aPoint.Free;
end;
function TfsDragDropEvent.GetMethod: Pointer;
begin
Result := @TfsDragDropEvent.DoEvent;
end;
end.

View File

@ -0,0 +1,14 @@
{******************************************}
{ }
{ FastScript v1.9 }
{ Expression parser }
{ }
{ (c) 2003-2011 by Alexander Tzyganenko, }
{ Fast Reports Inc }
{ }
{******************************************}
unit FMX.fs_iexpression;
{$i FMX.inc}
{$i fs_iexpression.pas}

View File

@ -0,0 +1,268 @@
{******************************************}
{ }
{ FastScript v1.9 }
{ ExtCtrls }
{ }
{ (c) 2003-2007 by Alexander Tzyganenko, }
{ Fast Reports Inc }
{ }
{******************************************}
unit FMX.fs_iextctrlsrtti;
interface
{$i fs.inc}
uses System.Types, System.SysUtils, System.Classes, FMX.fs_iinterpreter, FMX.fs_ievents, FMX.fs_iformsrtti
, FMX.ExtCtrls, FMX.ListBox, FMX.Objects, System.UITypes, FMX.Types, FMX.Controls, FMX.Layouts,
FMX.TabControl, FMX.TreeView
{$IFDEF DELPHI18}
, FMX.StdCtrls
{$ENDIF};
type
{$i frxPlatformsAttribute.inc}
TfsExtCtrlsRTTI = class(TComponent); // fake component
implementation
type
TfsTreeViewDragChange = class(TfsCustomEvent)
public
procedure DoEvent(SourceItem, DestItem: TTreeViewItem; var Allow: Boolean);
function GetMethod: Pointer; override;
end;
TFunctions = class(TfsRTTIModule)
private
function CallMethod(Instance: TObject; ClassType: TClass;
const MethodName: String; Caller: TfsMethodHelper): Variant;
function GetProp(Instance: TObject; ClassType: TClass;
const PropName: String): Variant;
procedure SetProp(Instance: TObject; ClassType: TClass;
const PropName: String; Value: Variant);
public
constructor Create(AScript: TfsScript); override;
end;
{ TFunctions }
constructor TFunctions.Create(AScript: TfsScript);
begin
inherited Create(AScript);
with AScript do
begin
AddEnum('TShapeType', 'stRectangle, stSquare, stRoundRect, stRoundSquare,' +
'stEllipse, stCircle');
AddEnum('TBevelStyle', 'bsLowered, bsRaised');
AddEnum('TBevelShape', 'bsBox, bsFrame, bsTopLine, bsBottomLine, bsLeftLine,' +
'bsRightLine, bsSpacer');
AddEnum('TResizeStyle', 'rsNone, rsLine, rsUpdate, rsPattern');
AddEnum('TButtonLayout', 'blGlyphLeft, blGlyphRight, blGlyphTop, blGlyphBottom');
AddEnum('TButtonState', 'bsUp, bsDisabled, bsDown, bsExclusive');
AddEnum('TButtonStyle', 'bsAutoDetect, bsWin31, bsNew');
AddEnum('TBitBtnKind', 'bkCustom, bkOK, bkCancel, bkHelp, bkYes, bkNo,' +
'bkClose, bkAbort, bkRetry, bkIgnore, bkAll');
AddType('TNumGlyphs', fvtInt);
AddEnum('TTabPosition', 'tpTop, tpBottom, tpLeft, tpRight');
AddEnum('TTabStyle', 'tsTabs, tsButtons, tsFlatButtons');
AddEnum('TStatusPanelStyle', 'psText, psOwnerDraw');
AddEnum('TStatusPanelBevel', 'pbNone, pbLowered, pbRaised');
AddEnum('TSortType', 'stNone, stData, stText, stBoth');
AddEnum('TTrackBarOrientation', 'trHorizontal, trVertical');
AddEnum('TTickMark', 'tmBottomRight, tmTopLeft, tmBoth');
AddEnum('TTickStyle', 'tsNone, tsAuto, tsManual');
AddEnum('TProgressBarOrientation', 'pbHorizontal, pbVertical');
AddEnum('TIconArrangement', 'iaTop, iaLeft');
AddEnum('TListArrangement', 'arAlignBottom, arAlignLeft, arAlignRight,' +
'arAlignTop, arDefault, arSnapToGrid');
AddEnum('TViewStyle', 'vsIcon, vsSmallIcon, vsList, vsReport');
AddEnum('TToolButtonStyle', 'tbsButton, tbsCheck, tbsDropDown, tbsSeparator, tbsDivider');
AddEnum('TDateTimeKind', 'dtkDate, dtkTime');
AddEnum('TDTDateMode', 'dmComboBox, dmUpDown');
AddEnum('TDTDateFormat', 'dfShort, dfLong');
AddEnum('TDTCalAlignment', 'dtaLeft, dtaRight');
AddEnum('TCalDayOfWeek', 'dowMonday, dowTuesday, dowWednesday, dowThursday,' +
'dowFriday, dowSaturday, dowSunday, dowLocaleDefault');
with AddClass(TPaintBox, 'TControl') do
AddEvent('OnPaint', TfsNotifyEvent);
AddClass(TImage, 'TControl');
with AddClass(TTimer, 'TComponent') do
AddEvent('OnTimer', TfsNotifyEvent);
AddClass(TTabItem, 'TTextControl');
with AddClass(TTabControl, 'TStyledControl') do
begin
AddIndexProperty( 'Tabs', 'Integer', 'TTabItem', CallMethod);
AddEvent('OnChange', TfsNotifyEvent);
AddProperty('TabCount', 'Integer', GetProp, nil);
AddProperty('ActiveTab', 'TTabItem', GetProp, SetProp);
end;
with AddClass(TTreeViewItem, 'TTextControl') do
begin
AddMethod('function ItemByPoint(const X, Y: Single): TTreeViewItem', CallMethod);
AddMethod('function ItemByIndex(const Idx: Integer): TTreeViewItem', CallMethod);
AddMethod('function TreeView: TCustomTreeView', CallMethod);
AddMethod('function Level: Integer', CallMethod);
AddMethod('function ParentItem: TTreeViewItem', CallMethod);
AddIndexProperty( 'Items', 'Integer', 'TTreeViewItem', CallMethod);
AddProperty('GlobalIndex', 'Integer', GetProp, SetProp);
AddProperty('Count', 'Integer', GetProp, nil);
end;
with AddClass(TTreeView, 'TScrollBox') do
begin
AddMethod('procedure Clear', CallMethod);
AddMethod('procedure CollapseAll', CallMethod);
AddMethod('procedure ExpandAll', CallMethod);
AddMethod('function ItemByText(const AText: string): TTreeViewItem', CallMethod);
AddMethod('function ItemByPoint(const X, Y: Single): TTreeViewItem', CallMethod);
AddMethod('function ItemByIndex(const Idx: Integer): TTreeViewItem', CallMethod);
AddMethod('function ItemByGlobalIndex(const Idx: Integer): TTreeViewItem', CallMethod);
AddIndexProperty('Items', 'Integer', 'TTreeViewItem', CallMethod);
AddProperty('Selected', 'TTreeViewItem', GetProp, SetProp);
AddProperty('Count', 'Integer', GetProp, nil);
AddProperty('GlobalCount', 'Integer', GetProp, nil);
AddProperty('CountExpanded', 'Integer', GetProp, nil);
AddEvent('OnChange', TfsNotifyEvent);
AddEvent('OnChangeCheck', TfsNotifyEvent);
AddEvent('OnDragChange', TfsTreeViewDragChange);
end;
{ TODO ADD necessary methods for these calasses }
//AddClass(TCalendar, 'TStyledControl');
//AddClass(TCalendarBox, 'TTextControl');
// AddClass(TCalendarEdit, 'TCustomEdit');
AddClass(TImageViewer, 'TScrollBox');
AddClass(TPlotGrid, 'TControl');
AddClass(TDropTarget, 'TTextControl');
AddClass(TCornerButton, 'TCustomButton');
end;
end;
function TFunctions.CallMethod(Instance: TObject; ClassType: TClass;
const MethodName: String; Caller: TfsMethodHelper): Variant;
begin
Result := 0;
if ClassType = TTabControl then
begin
if MethodName = 'TABS.GET' then
Result := frxInteger(TTabControl(Instance).Tabs[Caller.Params[0]])
end
else if ClassType = TTreeViewItem then
begin
if MethodName = 'ITEMS.GET' then
Result := frxInteger(TTreeViewItem(Instance).Items[Caller.Params[0]])
else if MethodName = 'ITEMBYPOINT' then
Result := frxInteger(TTreeViewItem(Instance).ItemByPoint(Single(Caller.Params[0]), Single(Caller.Params[1])))
else if MethodName = 'ITEMBYINDEX' then
Result := frxInteger(TTreeViewItem(Instance).ItemByIndex(Caller.Params[0]))
else if MethodName = 'TREEVIEW' then
Result := frxInteger(TTreeViewItem(Instance).TreeView)
else if MethodName = 'LEVEL' then
Result := Integer(TTreeViewItem(Instance).Level)
else if MethodName = 'PARENTITEM' then
Result := frxInteger(TTreeViewItem(Instance).ParentItem)
end
else if ClassType = TTreeView then
begin
if MethodName = 'ITEMS.GET' then
Result := frxInteger(TTreeView(Instance).Items[Caller.Params[0]])
else if MethodName = 'ITEMBYPOINT' then
Result := frxInteger(TTreeView(Instance).ItemByPoint(Single(Caller.Params[0]), Single(Caller.Params[1])))
else if MethodName = 'ITEMBYINDEX' then
Result := frxInteger(TTreeView(Instance).ItemByIndex(Caller.Params[0]))
else if MethodName = 'ITEMBYTEXT' then
Result := frxInteger(TTreeView(Instance).ItemByText(String(Caller.Params[0])))
else if MethodName = 'ITEMBYGLOBALINDEX' then
Result := frxInteger(TTreeView(Instance).ItemByGlobalIndex(Caller.Params[0]))
else if MethodName = 'CLEAR' then
TTreeView(Instance).Clear
else if MethodName = 'COLLAPSEALL' then
TTreeView(Instance).CollapseAll
else if MethodName = 'EXPANDALL' then
TTreeView(Instance).ExpandAll
end
end;
function TFunctions.GetProp(Instance: TObject; ClassType: TClass;
const PropName: String): Variant;
begin
Result := 0;
if ClassType = TTabControl then
begin
if PropName = 'TABCOUNT' then
Result := TTabControl(Instance).TabCount
else if PropName = 'ACTIVETAB' then
Result := frxInteger(TTabControl(Instance).ActiveTab)
end
else if ClassType = TTreeViewItem then
begin
if PropName = 'GLOBALINDEX' then
Result := TTreeViewItem(Instance).GlobalIndex
else if PropName = 'COUNT' then
Result := TTreeViewItem(Instance).Count
end
else if ClassType = TTreeView then
begin
if PropName = 'SELECTED' then
Result := frxInteger(TTreeView(Instance).Selected)
else if PropName = 'COUNT' then
Result := TTreeView(Instance).Count
else if PropName = 'GLOBALCOUNT' then
Result := TTreeView(Instance).GlobalCount
else if PropName = 'COUNTEXPANDED' then
Result := TTreeView(Instance).CountExpanded
end
end;
procedure TFunctions.SetProp(Instance: TObject; ClassType: TClass;
const PropName: String; Value: Variant);
begin
if ClassType = TTabControl then
begin
if PropName = 'ACTIVETAB' then
TTabControl(Instance).ActiveTab := TTabItem(frxInteger(Value))
end
else if ClassType = TTreeViewItem then
begin
// if PropName = 'GLOBALINDEX' then
// TTreeViewItem(Instance).GlobalIndex := Value
end
else if ClassType = TTreeView then
begin
if PropName = 'SELECTED' then
TTreeView(Instance).Selected := TTreeViewItem(frxInteger(Value))
end
end;
{ TfsTreeViewDragChange }
procedure TfsTreeViewDragChange.DoEvent(SourceItem, DestItem: TTreeViewItem;
var Allow: Boolean);
begin
CallHandler([SourceItem, DestItem, Allow]);
Allow := Handler.Params[2].Value;
end;
function TfsTreeViewDragChange.GetMethod: Pointer;
begin
Result := @TfsTreeViewDragChange.DoEvent;
end;
initialization
StartClassGroup(TFmxObject);
ActivateClassGroup(TFmxObject);
GroupDescendentsWith(TfsExtCtrlsRTTI, TFmxObject);
fsRTTIModules.Add(TFunctions);
finalization
fsRTTIModules.Remove(TFunctions);
end.

View File

@ -0,0 +1,864 @@
{******************************************}
{ }
{ FastScript v1.9 }
{ Forms and StdCtrls }
{ }
{ (c) 2003-2007 by Alexander Tzyganenko, }
{ Fast Reports Inc }
{ }
{******************************************}
unit FMX.fs_iformsrtti;
interface
{$i fs.inc}
uses
System.SysUtils, System.Classes, FMX.fs_iinterpreter, FMX.fs_ievents, FMX.fs_iclassesrtti,
FMX.fs_igraphicsrtti, FMX.Types, FMX.Controls, FMX.Forms, System.UITypes, System.Types,
FMX.Edit, FMX.Memo, FMX.ListBox, FMX.Layouts
{$IFDEF DELPHI18}
, FMX.StdCtrls
{$ENDIF}
{$IFDEF DELPHI19}
, FMX.Graphics
{$ENDIF}
{$IFDEF DELPHI28}
, FMX.BaseTypeAliases, FMX.FormTypeAliases
{$ENDIF}
;
type
{$i frxPlatformsAttribute.inc}
TfsFormsRTTI = class(TComponent); // fake component
implementation
type
TFunctions = class(TfsRTTIModule)
private
function CallMethod(Instance: TObject; ClassType: TClass;
const MethodName: String; Caller: TfsMethodHelper): Variant;
function GetProp(Instance: TObject; ClassType: TClass;
const PropName: String): Variant;
procedure SetProp(Instance: TObject; ClassType: TClass;
const PropName: String; Value: Variant);
public
constructor Create(AScript: TfsScript); override;
end;
{ TFunctions }
constructor TFunctions.Create(AScript: TfsScript);
begin
inherited Create(AScript);
with AScript do
begin
AddConst('mrNone', 'Integer', mrNone);
AddConst('mrOk', 'Integer', mrOk);
AddConst('mrCancel', 'Integer', mrCancel);
AddConst('mrAbort', 'Integer', mrAbort);
AddConst('mrRetry', 'Integer', mrRetry);
AddConst('mrIgnore', 'Integer', mrIgnore);
AddConst('mrYes', 'Integer', mrYes);
AddConst('mrNo', 'Integer', mrNo);
AddConst('mrAll', 'Integer', mrAll);
AddConst('mrNoToAll', 'Integer', mrNoToAll);
AddConst('mrYesToAll', 'Integer', mrYesToAll);
AddConst('crDefault', 'Integer', crDefault);
AddConst('crNone', 'Integer', crNone);
AddConst('crArrow', 'Integer', crArrow);
AddConst('crCross', 'Integer', crCross);
AddConst('crIBeam', 'Integer', crIBeam);
AddConst('crSize', 'Integer', crSize);
AddConst('crSizeNESW', 'Integer', crSizeNESW);
AddConst('crSizeNS', 'Integer', crSizeNS);
AddConst('crSizeNWSE', 'Integer', crSizeNWSE);
AddConst('crSizeWE', 'Integer', crSizeWE);
AddConst('crUpArrow', 'Integer', crUpArrow);
AddConst('crHourGlass', 'Integer', crHourGlass);
AddConst('crDrag', 'Integer', crDrag);
AddConst('crNoDrop', 'Integer', crNoDrop);
AddConst('crHSplit', 'Integer', crHSplit);
AddConst('crVSplit', 'Integer', crVSplit);
AddConst('crMultiDrag', 'Integer', crMultiDrag);
AddConst('crSQLWait', 'Integer', crSQLWait);
AddConst('crNo', 'Integer', crNo);
AddConst('crAppStart', 'Integer', crAppStart);
AddConst('crHelp', 'Integer', crHelp);
AddConst('crHandPoint', 'Integer', crHandPoint);
AddConst('crSizeAll', 'Integer', crSizeAll);
{$IFDEF CLX}
AddConst('bsNone', 'Integer', fbsNone);
AddConst('bsSingle', 'Integer', fbsSingle);
AddConst('bsSizeable', 'Integer', fbsSizeable);
AddConst('bsDialog', 'Integer', fbsDialog);
AddConst('bsToolWindow', 'Integer', fbsToolWindow);
AddConst('bsSizeToolWin', 'Integer', fbsSizeToolWin);
{$ELSE}
AddConst('bsNone', 'Integer', TFmxFormBorderStyle.bsNone);
AddConst('bsSingle', 'Integer', TFmxFormBorderStyle.bsSingle);
AddConst('bsSizeable', 'Integer', TFmxFormBorderStyle.bsSizeable);
AddConst('bsToolWindow', 'Integer', TFmxFormBorderStyle.bsToolWindow);
AddConst('bsSizeToolWin', 'Integer', TFmxFormBorderStyle.bsSizeToolWin);
{$ENDIF}
AddConst('VK_RBUTTON', 'Integer', VKRBUTTON);
AddConst('VKCANCEL', 'Integer', VKCANCEL);
AddConst('VKMBUTTON', 'Integer', VKMBUTTON);
AddConst('VKBACK', 'Integer', VKBACK);//Backspace key
AddConst('VKTAB', 'Integer', VKTAB);//Tab key
AddConst('VKRETURN', 'Integer', VKRETURN);//Enter key
AddConst('VKSHIFT', 'Integer', VKSHIFT);//Shift key
AddConst('VKCONTROL', 'Integer', VKCONTROL);//Ctrl key
AddConst('VKMENU', 'Integer', VKMENU);//Alt key
AddConst('VKPAUSE', 'Integer', VKPAUSE);//Pause key
AddConst('VKCAPITAL', 'Integer', VKCAPITAL);//Caps Lock key
AddConst('VKESCAPE', 'Integer', VKESCAPE);//Esc key
AddConst('VKSPACE', 'Integer', VKSPACE);//Space bar
AddConst('VKPRIOR', 'Integer', VKPRIOR);//Page Up key
AddConst('VKNEXT', 'Integer', VKNEXT);// Page Down key
AddConst('VKEND', 'Integer', VKEND);// End key
AddConst('VKHOME', 'Integer', VKHOME);// Home key
AddConst('VKLEFT', 'Integer', VKLEFT);// Left Arrow key
AddConst('VKUP', 'Integer', VKUP);// Up Arrow key
AddConst('VKRIGHT', 'Integer', VKRIGHT);// Right Arrow key
AddConst('VKDOWN', 'Integer', VKDOWN);// Down Arrow key
AddConst('VKINSERT', 'Integer', VKINSERT);// Insert key
AddConst('VKDELETE', 'Integer', VKDELETE);// Delete key
AddConst('VKHELP', 'Integer', VKHELP);// Help key
AddConst('VKLWIN', 'Integer', VKLWIN);// Left Windows key (Microsoft keyboard)
AddConst('VKRWIN', 'Integer', VKRWIN);// Right Windows key (Microsoft keyboard)
AddConst('VKAPPS', 'Integer', VKAPPS);// Applications key (Microsoft keyboard)
AddConst('VKNUMPAD0', 'Integer', VKNUMPAD0);// 0 key (numeric keypad)
AddConst('VKNUMPAD1', 'Integer', VKNUMPAD1);// 1 key (numeric keypad)
AddConst('VKNUMPAD2', 'Integer', VKNUMPAD2);// 2 key (numeric keypad)
AddConst('VKNUMPAD3', 'Integer', VKNUMPAD3);// 3 key (numeric keypad)
AddConst('VKNUMPAD4', 'Integer', VKNUMPAD4);// 4 key (numeric keypad)
AddConst('VKNUMPAD5', 'Integer', VKNUMPAD5);// 5 key (numeric keypad)
AddConst('VKNUMPAD6', 'Integer', VKNUMPAD6);// 6 key (numeric keypad)
AddConst('VKNUMPAD7', 'Integer', VKNUMPAD7);// 7 key (numeric keypad)
AddConst('VKNUMPAD8', 'Integer', VKNUMPAD8);// 8 key (numeric keypad)
AddConst('VKNUMPAD9', 'Integer', VKNUMPAD9);// 9 key (numeric keypad)
AddConst('VKMULTIPLY', 'Integer', VKMULTIPLY);// Multiply key (numeric keypad)
AddConst('VKADD', 'Integer', VKADD);// Add key (numeric keypad)
AddConst('VKSEPARATOR', 'Integer', VKSEPARATOR);// Separator key (numeric keypad)
AddConst('VKSUBTRACT', 'Integer', VKSUBTRACT);// Subtract key (numeric keypad)
AddConst('VKDECIMAL', 'Integer', VKDECIMAL);// Decimal key (numeric keypad)
AddConst('VKDIVIDE', 'Integer', VKDIVIDE);// Divide key (numeric keypad)
AddConst('VKF1', 'Integer', VKF1);// F1 key
AddConst('VKF2', 'Integer', VKF2);// F2 key
AddConst('VKF3', 'Integer', VKF3);// F3 key
AddConst('VKF4', 'Integer', VKF4);// F4 key
AddConst('VKF5', 'Integer', VKF5);// F5 key
AddConst('VKF6', 'Integer', VKF6);// F6 key
AddConst('VKF7', 'Integer', VKF7);// F7 key
AddConst('VKF8', 'Integer', VKF8);// F8 key
AddConst('VKF9', 'Integer', VKF9);// F9 key
AddConst('VKF10', 'Integer', VKF10);// F10 key
AddConst('VKF11', 'Integer', VKF11);// F11 key
AddConst('VKF12', 'Integer', VKF12);// F12 key
AddConst('VKNUMLOCK', 'Integer', VKNUMLOCK);// Num Lock key
AddConst('VKSCROLL', 'Integer', VKSCROLL);// Scroll Lock key
AddConst('crDefault', 'Integer', crDefault);
AddConst('crNone', 'Integer', crNone);
AddConst('crArrow', 'Integer', crArrow);
AddConst('crCross', 'Integer', crCross);
AddConst('crIBeam', 'Integer', crIBeam);
AddConst('crSize', 'Integer', crSize);
AddConst('crSizeNESW', 'Integer', crSizeNESW);
AddConst('crSizeNS', 'Integer', crSizeNS);
AddConst('crSizeNWSE', 'Integer', crSizeNWSE);
AddConst('crSizeWE', 'Integer', crSizeWE);
AddConst('crUpArrow', 'Integer', crUpArrow);
AddConst('crHourGlass', 'Integer', crHourGlass);
AddConst('crDrag', 'Integer', crDrag);
AddConst('crNoDrop', 'Integer', crNoDrop);
AddConst('crHSplit', 'Integer', crHSplit);
AddConst('crVSplit', 'Integer', crVSplit);
AddConst('crMultiDrag', 'Integer', crMultiDrag);
AddConst('crSQLWait', 'Integer', crSQLWait);
AddConst('crNo', 'Integer', crNo);
AddConst('crAppStart', 'Integer', crAppStart);
AddConst('crHelp', 'Integer', crHelp);
AddConst('crHandPoint', 'Integer', crHandPoint);
AddConst('crSizeAll', 'Integer', crSizeAll);
AddType('TFormBorderStyle', fvtInt);
AddType('TBorderStyle', fvtInt);
AddEnumSet('TShiftState', 'ssShift, ssAlt, ssCtrl, ssLeft, ssRight, ssMiddle, ssDouble, ssTouch, ssPen, ssCommand');
AddEnum('TAniIndicatorStyle', 'aiLinear, aiCircular');
AddEnum('TAlign', 'alNone, alTop, alBottom, alLeft, alRight, alClient');
AddEnum('TMouseButton', 'mbLeft, mbRight, mbMiddle');
AddEnumSet('TAnchors', 'akLeft, akTop, akRight, akBottom');
AddEnum('TBevelCut', 'bvNone, bvLowered, bvRaised, bvSpace');
AddEnum('TTextLayout', 'tlTop, tlCenter, tlBottom');
AddEnum('TEditCharCase', 'ecNormal, ecUpperCase, ecLowerCase');
AddEnum('TScrollStyle', 'ssNone, ssHorizontal, ssVertical, ssBoth');
AddEnum('TComboBoxStyle', 'csDropDown, csSimple, csDropDownList, csOwnerDrawFixed, csOwnerDrawVariable');
AddEnum('TCheckBoxState', 'cbUnchecked, cbChecked, cbGrayed');
AddEnum('TListBoxStyle', 'lbStandard, lbOwnerDrawFixed, lbOwnerDrawVariable');
AddEnum('TWindowState', 'wsNormal, wsMinimized, wsMaximized');
AddEnum('TFormStyle', 'fsNormal, fsMDIChild, fsMDIForm, fsStayOnTop');
AddEnumSet('TBorderIcons', 'biSystemMenu, biMinimize, biMaximize, biHelp');
AddEnum('TFormPosition', 'poDesigned, poDefault, poDefaultPosOnly, poDefaultSizeOnly, poScreenCenter, poDesktopCenter');
AddEnum('TCloseAction', 'caNone, caHide, caFree, caMinimize');
with AddClass(TControl, 'TFmxObject') do
begin
AddMethod('procedure AddObject(AObject: TFmxObject)', CallMethod);
AddMethod('procedure RemoveObject(AObject: TFmxObject)', CallMethod);
AddMethod('procedure SetBounds(X: Single; Y: Single; AWidth: Single; AHeight: Single)', CallMethod);
AddMethod('function AbsoluteToLocal(P: TfsPointF): TfsPointF', CallMethod);
AddMethod('function LocalToAbsolute(P: TfsPointF): TfsPointF', CallMethod);
AddMethod('function AbsoluteToLocalVector(P: TfsVector): TfsVector', CallMethod);
AddMethod('function LocalToAbsoluteVector(P: TfsVector): TfsVector', CallMethod);
AddMethod('function PointInObject(X: Single; Y: Single): Boolean', CallMethod);
AddMethod('procedure BeginUpdate()', CallMethod);
AddMethod('procedure EndUpdate()', CallMethod);
{$IFNDEF DELPHI18}
AddMethod('procedure ApplyEffect()', CallMethod);
{$ENDIF}
AddMethod('procedure UpdateEffects()', CallMethod);
AddMethod('procedure SetFocus()', CallMethod);
AddMethod('procedure PaintTo(ACanvas: TCanvas; ARect: TFsRectF; AParent: TFmxObject)', CallMethod);
AddMethod('procedure Repaint()', CallMethod);
AddMethod('procedure InvalidateRect(ARect: TfsRectF)', CallMethod);
AddMethod('procedure Lock()', CallMethod);
AddProperty('AbsoluteMatrix', 'TfsMatrix', GetProp, nil);
AddProperty('AbsoluteOpacity', 'Single', GetProp, nil);
AddProperty('AbsoluteWidth', 'Single', GetProp, nil);
AddProperty('AbsoluteHeight', 'Single', GetProp, nil);
AddProperty('AbsoluteScale', 'TfsPointF', GetProp, nil);
AddProperty('AbsoluteEnabled', 'Boolean', GetProp, nil);
AddProperty('HasEffect', 'Boolean', GetProp, nil);
AddProperty('HasDisablePaintEffect', 'Boolean', GetProp, nil);
AddProperty('HasAfterPaintEffect', 'Boolean', GetProp, nil);
AddProperty('ChildrenRect', 'TfsRectF', GetProp, nil);
AddProperty('InvertAbsoluteMatrix', 'TfsMatrix', GetProp, nil);
AddProperty('InPaintTo', 'Boolean', GetProp, nil);
AddProperty('LocalRect', 'TfsRectF', GetProp, nil);
AddProperty('AbsoluteRect', 'TfsRectF', GetProp, nil);
AddProperty('UpdateRect', 'TfsRectF', GetProp, nil);
AddProperty('ParentedRect', 'TfsRectF', GetProp, nil);
AddProperty('ParentedVisible', 'Boolean', GetProp, nil);
AddProperty('ClipRect', 'TfsRectF', GetProp, nil);
AddProperty('Canvas', 'TCanvas', GetProp, nil);
AddProperty('AutoCapture', 'Boolean', GetProp, SetProp);
AddProperty('CanFocus', 'Boolean', GetProp, SetProp);
AddProperty('DisableFocusEffect', 'Boolean', GetProp, SetProp);
AddProperty('TabOrder', 'Integer', GetProp, SetProp);
AddProperty('BoundsRect', 'TfsRectF', GetProp, SetProp);
AddEvent('OnDragEnter', TfsDragDropEvent);
AddEvent('OnDragLeave', TfsNotifyEvent);
AddEvent('OnDragOver', TfsDragOverEvent);
AddEvent('OnDragDrop', TfsDragDropEvent);
AddEvent('OnDragEnd', TfsNotifyEvent);
AddEvent('OnKeyDown', TfsKeyEvent);
AddEvent('OnKeyUp', TfsKeyEvent);
AddEvent('OnClick', TfsNotifyEvent);
AddEvent('OnDblClick', TfsNotifyEvent);
AddEvent('OnCanFocus', TfsCanFocusEvent);
AddEvent('OnEnter', TfsNotifyEvent);
AddEvent('OnExit', TfsNotifyEvent);
AddEvent('OnMouseDown', TfsMouseEvent);
AddEvent('OnMouseMove', TfsMouseMoveEvent);
AddEvent('OnMouseUp', TfsMouseEvent);
AddEvent('OnMouseWheel', TfsMouseWheelEvent);
AddEvent('OnMouseEnter', TfsNotifyEvent);
AddEvent('OnMouseLeave', TfsNotifyEvent);
AddEvent('OnPainting', TfsOnPaintEvent);
AddEvent('OnPaint', TfsOnPaintEvent);
AddEvent('OnResize', TfsNotifyEvent);
AddEvent('OnApplyStyleLookup', TfsNotifyEvent);
end;
{ standard controls }
with AddClass(TStyledControl, 'TControl') do
begin
AddMethod('function FindStyleResource(AStyleLookup: string): TFmxObject', CallMethod);
AddMethod('procedure ApplyStyleLookup()', CallMethod);
{$IFNDEF DELPHI20}
AddMethod('procedure UpdateStyle()', CallMethod);
{$ENDIF}
AddProperty('StyleLookup', 'String', GetProp, SetProp);
end;
AddClass(TStyledControl, 'TControl');
AddClass(TTextControl, 'TStyledControl');
AddClass(TPanel, 'TStyledControl');
AddClass(TCalloutPanel, 'TPanel');
AddClass(TLabel, 'TTextControl');
AddClass(TCustomButton, 'TTextControl');
AddClass(TButton, 'TCustomButton');
AddClass(TSpeedButton, 'TCustomButton');
with AddClass(TCheckBox, 'TTextControl') do
AddEvent('OnChange', TfsNotifyEvent);
with AddClass(TRadioButton, 'TTextControl') do
AddEvent('OnChange', TfsNotifyEvent);
AddClass(TGroupBox, 'TTextControl');
AddClass(TStatusBar, 'TStyledControl');
AddClass(TToolBar, 'TStyledControl');
AddClass(TSizeGrip, 'TStyledControl');
AddClass(TSplitter, 'TStyledControl');
AddClass(TProgressBar, 'TStyledControl');
AddClass(TThumb, 'TStyledControl');
with AddClass(TCustomTrack, 'TStyledControl') do
begin
AddEvent('OnChange', TfsNotifyEvent);
AddEvent('OnTracking', TfsNotifyEvent);
end;
AddClass(TTrack, 'TCustomTrack');
AddClass(TTrackBar, 'TCustomTrack');
AddClass(TBitmapTrackBar, 'TTrackBar');
with AddClass(TSwitch, 'TCustomTrack') do
AddEvent('OnSwitch', TfsNotifyEvent);
with AddClass(TScrollBar, 'TStyledControl') do
AddEvent('OnChange', TfsNotifyEvent);
AddClass(TSmallScrollBar, 'TScrollBar');
AddClass(TAniIndicator, 'TStyledControl');
with AddClass(TArcDial, 'TStyledControl') do
AddEvent('OnChange', TfsNotifyEvent);
AddClass(TExpanderButton, 'TCustomButton');
with AddClass(TExpander, 'TTextControl') do
AddEvent('OnCheckChange', TfsNotifyEvent);
with AddClass(TImageControl, 'TStyledControl') do
AddEvent('OnChange', TfsNotifyEvent);
AddClass(TPathLabel, 'TStyledControl');
with AddClass(TCustomEdit, 'TStyledControl') do
begin
{$IFNDEF Delphi21}
AddMethod('procedure ClearSelection()', CallMethod);
{$ENDIF}
AddMethod('procedure CopyToClipboard()', CallMethod);
AddMethod('procedure CutToClipboard()', CallMethod);
AddMethod('procedure PasteFromClipboard()', CallMethod);
AddMethod('procedure SelectAll()', CallMethod);
{$IFNDEF Delphi21}
AddMethod('function GetCharX(a: Integer): Single', CallMethod);
AddMethod('function ContentRect(): TfsRectF', CallMethod);
{$ENDIF}
AddProperty('CaretPosition', 'Integer', GetProp, SetProp);
AddProperty('SelStart', 'Integer', GetProp, SetProp);
AddProperty('SelLength', 'Integer', GetProp, SetProp);
AddProperty('SelText', 'string', GetProp, nil);
AddProperty('MaxLength', 'Integer', GetProp, SetProp);
AddProperty('SelectionFill', 'TBrush', GetProp, nil);
AddProperty('FilterChar', 'string', GetProp, SetProp);
AddProperty('Typing', 'Boolean', GetProp, SetProp);
AddEvent('OnChange', TfsNotifyEvent);
AddEvent('OnChangeTracking', TfsNotifyEvent);
AddEvent('OnTyping', TfsNotifyEvent);
end;
AddClass(TEdit, 'TCustomEdit');
with AddClass(TMemo, 'TScrollBox') do
begin
AddMethod('procedure CopyToClipboard()', CallMethod);
AddMethod('procedure PasteFromClipboard()', CallMethod);
AddMethod('procedure CutToClipboard()', CallMethod);
AddMethod('procedure ClearSelection()', CallMethod);
AddMethod('procedure SelectAll()', CallMethod);
AddMethod('procedure GoToTextEnd()', CallMethod);
AddMethod('procedure GoToTextBegin()', CallMethod);
AddMethod('procedure GotoLineEnd()', CallMethod);
AddMethod('procedure GoToLineBegin()', CallMethod);
AddMethod('procedure UnDo()', CallMethod);
AddProperty('SelStart', 'Integer', GetProp, SetProp);
AddProperty('SelLength', 'Integer', GetProp, SetProp);
AddProperty('SelText', 'string', GetProp, nil);
AddEvent('OnChange', TfsNotifyEvent);
AddEvent('OnChangeTracking', TfsNotifyEvent);
end;
AddClass(TRadioButton, 'TTextControl');
with AddClass(TListBoxItem, 'TTextControl') do
begin
AddProperty('Data', 'TObject', GetProp, SetProp);
AddProperty('Index', 'Integer', GetProp, SetProp);
end;
with AddClass(TCustomListBox, 'TScrollBox') do
begin
AddMethod('procedure Clear()', CallMethod);
AddMethod('function DragChange(SourceItem: TListBoxItem; DestItem: TListBoxItem): Boolean', CallMethod);
AddMethod('procedure SelectAll()', CallMethod);
AddMethod('procedure ClearSelection()', CallMethod);
AddMethod('procedure SelectRange(Item1: TListBoxItem; Item2: TListBoxItem)', CallMethod);
AddMethod('function ItemByPoint(X: Single; Y: Single): TListBoxItem', CallMethod);
AddMethod('function ItemByIndex(Idx: Integer): TListBoxItem', CallMethod);
AddMethod('procedure Exchange(Item1: TListBoxItem; Item2: TListBoxItem)', CallMethod);
AddMethod('procedure AddObject(AObject: TFmxObject)', CallMethod);
AddMethod('procedure InsertObject(Index: Integer; AObject: TFmxObject)', CallMethod);
AddMethod('procedure RemoveObject(AObject: TFmxObject)', CallMethod);
AddIndexProperty( 'ListItems', 'Integer', 'TListBoxItem', CallMethod);
AddProperty('Count', 'Integer', GetProp, nil);
AddProperty('Selected', 'TListBoxItem', GetProp, nil);
AddProperty('Items', 'TStrings', GetProp, SetProp);
AddProperty('ItemIndex', 'Integer', GetProp, SetProp);
end;
AddClass(TListBox, 'TCustomListBox');
with AddClass(TCustomComboBox, 'TStyledControl') do
begin
AddMethod('procedure Clear', CallMethod);
AddMethod('procedure DropDown', CallMethod);
AddIndexProperty( 'ListItems', 'Integer', 'TListBoxItem', CallMethod);
AddProperty('Count', 'Integer', GetProp, nil);
AddProperty('Selected', 'TListBoxItem', GetProp, nil);
AddProperty('Items', 'TStrings', GetProp, SetProp);
AddProperty('ItemIndex', 'Integer', GetProp, SetProp);
AddEvent('OnDropDown', TfsNotifyEvent);
AddEvent('OnCloseUp', TfsNotifyEvent);
end;
with AddClass(TComboBox, 'TCustomComboBox') do
AddEvent('OnChange', TfsNotifyEvent);
with AddClass(TCommonCustomForm, 'TFmxObject') do
begin
AddConstructor('constructor CreateNew(AOwner: TComponent; Dummy: Integer = 0)', CallMethod);
AddMethod('procedure SetBounds(ALeft: Integer; ATop: Integer; AWidth: Integer; AHeight: Integer)', CallMethod);
AddMethod('function ClientToScreen(Point: TfsPointF): TfsPointF', CallMethod);
AddMethod('function ScreenToClient(Point: TfsPointF): TfsPointF', CallMethod);
AddMethod('function CloseQuery(): Boolean', CallMethod);
AddMethod('function ClientRect(): TfsRectF', CallMethod);
AddMethod('procedure Release()', CallMethod);
AddMethod('procedure Close()', CallMethod);
AddMethod('procedure Show()', CallMethod);
AddMethod('procedure Hide()', CallMethod);
AddMethod('function ShowModal(): Integer', CallMethod);
AddMethod('procedure CloseModal()', CallMethod);
AddMethod('procedure Invalidate()', CallMethod);
AddMethod('procedure BeginUpdate()', CallMethod);
AddMethod('procedure EndUpdate()', CallMethod);
end;
with AddClass(TCustomForm, 'TCommonCustomForm') do
begin
AddEvent('OnActivate', TfsNotifyEvent);
AddEvent('OnClose', TfsCloseEvent);
AddEvent('OnCloseQuery', TfsCloseQueryEvent);
AddEvent('OnCreate', TfsNotifyEvent);
AddEvent('OnDestroy', TfsNotifyEvent);
AddEvent('OnDeactivate', TfsNotifyEvent);
AddEvent('OnHide', TfsNotifyEvent);
AddEvent('OnPaint', TfsNotifyEvent);
AddEvent('OnShow', TfsNotifyEvent);
AddEvent('OnResize', TfsNotifyEvent);
AddProperty('Canvas', 'TCanvas', GetProp, nil);
AddProperty('ModalResult', 'Integer', GetProp, SetProp);
end;
AddClass(TForm, 'TCustomForm');
AddClass(TDataModule, 'TComponent');
with AddClass(TApplication, 'TComponent') do
begin
AddMethod('procedure ProcessMessages', CallMethod);
end;
AddObject('Application', Application);
end;
end;
function TFunctions.CallMethod(Instance: TObject; ClassType: TClass;
const MethodName: String; Caller: TfsMethodHelper): Variant;
var
Form: TCommonCustomForm;
begin
Result := 0;
if ClassType = TControl then
begin
if MethodName = 'ADDOBJECT' then
TControl(Instance).AddObject(TFmxObject(frxInteger(Caller.Params[0])))
else if MethodName = 'REMOVEOBJECT' then
TControl(Instance).RemoveObject(TFmxObject(frxInteger(Caller.Params[0])))
else if MethodName = 'SETBOUNDS' then
TControl(Instance).SetBounds(Single(Caller.Params[0]), Single(Caller.Params[1]), Single(Caller.Params[2]), Single(Caller.Params[3]))
else if MethodName = 'ABSOLUTETOLOCAL' then
Result := frxInteger(TfsPointF.Create(TControl(Instance).AbsoluteToLocal(TfsPointF(frxInteger(Caller.Params[0])).GetRect)))
else if MethodName = 'LOCALTOABSOLUTE' then
Result := frxInteger(TfsPointF.Create(TControl(Instance).LocalToAbsolute(TfsPointF(frxInteger(Caller.Params[0])).GetRect)))
else if MethodName = 'ABSOLUTETOLOCALVECTOR' then
Result := frxInteger(TfsVector.Create(TControl(Instance).AbsoluteToLocalVector(TfsVector(frxInteger(Caller.Params[0])).GetRect)))
else if MethodName = 'LOCALTOABSOLUTEVECTOR' then
Result := frxInteger(TfsVector.Create(TControl(Instance).LocalToAbsoluteVector(TfsVector(frxInteger(Caller.Params[0])).GetRect)))
else if MethodName = 'POINTINOBJECT' then
Result := Boolean(TControl(Instance).PointInObject(Single(Caller.Params[0]), Single(Caller.Params[1])))
else if MethodName = 'BEGINUPDATE' then
TControl(Instance).BeginUpdate()
else if MethodName = 'ENDUPDATE' then
TControl(Instance).EndUpdate()
{$IFNDEF DELPHI18}
else if MethodName = 'APPLYEFFECT' then
TControl(Instance).ApplyEffect()
{$ENDIF}
else if MethodName = 'UPDATEEFFECTS' then
TControl(Instance).UpdateEffects()
else if MethodName = 'SETFOCUS' then
TControl(Instance).SetFocus()
else if MethodName = 'PAINTTO' then
TControl(Instance).PaintTo(TCanvas(frxInteger(Caller.Params[0])), TfsRectF(frxInteger(Caller.Params[1])).GetRect, TFmxObject(frxInteger(Caller.Params[2])))
else if MethodName = 'REPAINT' then
TControl(Instance).Repaint()
else if MethodName = 'INVALIDATERECT' then
TControl(Instance).InvalidateRect(TfsRectF(frxInteger(Caller.Params[0])).GetRect)
else if MethodName = 'LOCK' then
TControl(Instance).Lock()
end
else if ClassType = TStyledControl then
begin
if MethodName = 'FINDSTYLERESOURCE' then
Result := frxInteger(TStyledControl(Instance).FindStyleResource(String(Caller.Params[0])))
else if MethodName = 'APPLYSTYLELOOKUP' then
TStyledControl(Instance).ApplyStyleLookup()
{$IFNDEF DELPHI20}
else if MethodName = 'UPDATESTYLE' then
TStyledControl(Instance).UpdateStyle()
{$ENDIF}
end
else if ClassType = TCustomEdit then
begin
{$IFNDEF Delphi21}
if MethodName = 'CLEARSELECTION' then
TCustomEdit(Instance).ClearSelection()
else
{$ENDIF}
if MethodName = 'COPYTOCLIPBOARD' then
TCustomEdit(Instance).CopyToClipboard()
else if MethodName = 'CUTTOCLIPBOARD' then
TCustomEdit(Instance).CutToClipboard()
else if MethodName = 'PASTEFROMCLIPBOARD' then
TCustomEdit(Instance).PasteFromClipboard()
else if MethodName = 'SELECTALL' then
TCustomEdit(Instance).SelectAll()
{$IFNDEF Delphi21}
else if MethodName = 'GETCHARX' then
Result := Single(TCustomEdit(Instance).GetCharX(Integer(Caller.Params[0])))
else if MethodName = 'CONTENTRECT' then
Result := frxInteger(TfsRectF.Create(TCustomEdit(Instance).ContentRect()))
{$ENDIF}
end
else if ClassType = TMemo then
begin
if MethodName = 'COPYTOCLIPBOARD' then
TMemo(Instance).CopyToClipboard()
else if MethodName = 'PASTEFROMCLIPBOARD' then
TMemo(Instance).PasteFromClipboard()
else if MethodName = 'CUTTOCLIPBOARD' then
TMemo(Instance).CutToClipboard()
else if MethodName = 'CLEARSELECTION' then
TMemo(Instance).ClearSelection()
else if MethodName = 'SELECTALL' then
TMemo(Instance).SelectAll()
else if MethodName = 'GOTOTEXTEND' then
TMemo(Instance).GoToTextEnd()
else if MethodName = 'GOTOTEXTBEGIN' then
TMemo(Instance).GoToTextBegin()
else if MethodName = 'GOTOLINEEND' then
TMemo(Instance).GotoLineEnd()
else if MethodName = 'GOTOLINEBEGIN' then
TMemo(Instance).GoToLineBegin()
else if MethodName = 'UNDO' then
TMemo(Instance).UnDo()
end
else if ClassType = TCustomListBox then
begin
if MethodName = 'ASSIGN' then
TCustomListBox(Instance).Assign(TPersistent(frxInteger(Caller.Params[0])))
else if MethodName = 'CLEAR' then
TCustomListBox(Instance).Clear()
else if MethodName = 'DRAGCHANGE' then
Result := TCustomListBox(Instance).DragChange(TListBoxItem(frxInteger(Caller.Params[0])), TListBoxItem(frxInteger(Caller.Params[1])))
else if MethodName = 'SELECTALL' then
TCustomListBox(Instance).SelectAll()
else if MethodName = 'CLEARSELECTION' then
TCustomListBox(Instance).ClearSelection()
else if MethodName = 'SELECTRANGE' then
TCustomListBox(Instance).SelectRange(TListBoxItem(frxInteger(Caller.Params[0])), TListBoxItem(frxInteger(Caller.Params[1])))
else if MethodName = 'ITEMBYPOINT' then
Result := frxInteger(TListBoxItem(TCustomListBox(Instance).ItemByPoint(Single(Caller.Params[0]), Single(Caller.Params[1]))))
else if MethodName = 'ITEMBYINDEX' then
Result := frxInteger(TListBoxItem(TCustomListBox(Instance).ItemByIndex(Integer(Caller.Params[0]))))
else if MethodName = 'EXCHANGE' then
TCustomListBox(Instance).Exchange(TListBoxItem(frxInteger(Caller.Params[0])), TListBoxItem(frxInteger(Caller.Params[1])))
else if MethodName = 'ADDOBJECT' then
TCustomListBox(Instance).AddObject(TFmxObject(frxInteger(Caller.Params[0])))
else if MethodName = 'INSERTOBJECT' then
TCustomListBox(Instance).InsertObject(Integer(Caller.Params[0]), TFmxObject(frxInteger(Caller.Params[1])))
else if MethodName = 'REMOVEOBJECT' then
TCustomListBox(Instance).RemoveObject(TFmxObject(frxInteger(Caller.Params[0])))
else if MethodName = 'LISTITEMS.GET' then
Result := frxInteger(TCustomListBox(Instance).ListItems[Caller.Params[0]])
end
else if ClassType = TCustomComboBox then
begin
if MethodName = 'CLEAR' then
TCustomComboBox(Instance).Clear()
else if MethodName = 'DROPDOWN' then
TCustomComboBox(Instance).DropDown()
else if MethodName = 'LISTITEMS.GET' then
Result := frxInteger(TCustomComboBox(Instance).ListItems[Caller.Params[0]])
end
else if ClassType = TCommonCustomForm then
begin
Form := TCommonCustomForm(Instance);
if MethodName = 'CREATENEW' then
Result := frxInteger(Form.CreateNew(TComponent(frxInteger(Caller.Params[0])), Integer(Caller.Params[1])))
else if MethodName = 'SETBOUNDS' then
Form.SetBounds(Integer(Caller.Params[0]), Integer(Caller.Params[1]), Integer(Caller.Params[2]), Integer(Caller.Params[3]))
else if MethodName = 'CLIENTTOSCREEN' then
Result := frxInteger(TfsPointF.Create(Form.ClientToScreen(TfsPointF(frxInteger(Caller.Params[0])).GetRect)))
else if MethodName = 'SCREENTOCLIENT' then
Result := frxInteger(TfsPointF.Create(Form.ScreenToClient(TfsPointF(frxInteger(Caller.Params[0])).GetRect)))
else if MethodName = 'CLOSEQUERY' then
Result := Form.CloseQuery
else if MethodName = 'CLIENTRECT' then
Result := frxInteger(TfsRectF.Create(Form.ClientRect))
else if MethodName = 'RELEASE' then
Form.Release()
else if MethodName = 'CLOSE' then
Form.Close()
else if MethodName = 'SHOW' then
Form.Show()
else if MethodName = 'HIDE' then
Form.Hide()
else if MethodName = 'SHOWMODAL' then
Result := Integer(Form.ShowModal)
else if MethodName = 'CLOSEMODAL' then
Form.CloseModal()
else if MethodName = 'INVALIDATE' then
Form.Invalidate()
else if MethodName = 'BEGINUPDATE' then
Form.BeginUpdate()
else if MethodName = 'ENDUPDATE' then
Form.EndUpdate()
end
else if ClassType = TApplication then
begin
if MethodName = 'PROCESSMESSAGES' then
TApplication(Instance).ProcessMessages
end
end;
function TFunctions.GetProp(Instance: TObject; ClassType: TClass;
const PropName: String): Variant;
begin
Result := 0;
if ClassType = TControl then
begin
if PropName = 'ABSOLUTEMATRIX' then
Result := frxInteger(TfsMatrix.Create(TControl(Instance).AbsoluteMatrix))
else if PropName = 'ABSOLUTEOPACITY' then
Result := TControl(Instance).AbsoluteOpacity
else if PropName = 'ABSOLUTEWIDTH' then
Result := TControl(Instance).AbsoluteWidth
else if PropName = 'ABSOLUTEHEIGHT' then
Result := TControl(Instance).AbsoluteHeight
else if PropName = 'ABSOLUTESCALE' then
Result := frxInteger(TfsPointF.Create(TControl(Instance).AbsoluteScale))
else if PropName = 'ABSOLUTEENABLED' then
Result := TControl(Instance).AbsoluteEnabled
else if PropName = 'HASEFFECT' then
Result := TControl(Instance).HasEffect
else if PropName = 'HASDISABLEPAINTEFFECT' then
Result := TControl(Instance).HasDisablePaintEffect
else if PropName = 'HASAFTERPAINTEFFECT' then
Result := TControl(Instance).HasAfterPaintEffect
else if PropName = 'CHILDRENRECT' then
Result := frxInteger(TfsRectF.Create(TControl(Instance).ChildrenRect))
else if PropName = 'INVERTABSOLUTEMATRIX' then
Result := frxInteger(TfsMatrix.Create(TControl(Instance).InvertAbsoluteMatrix))
else if PropName = 'INPAINTTO' then
Result := TControl(Instance).InPaintTo
else if PropName = 'LOCALRECT' then
Result := frxInteger(TfsRectF.Create(TControl(Instance).LocalRect))
else if PropName = 'ABSOLUTERECT' then
Result := frxInteger(TfsRectF.Create(TControl(Instance).AbsoluteRect))
else if PropName = 'UPDATERECT' then
Result := frxInteger(TfsRectF.Create(TControl(Instance).UpdateRect))
else if PropName = 'PARENTEDRECT' then
Result := frxInteger(TfsRectF.Create(TControl(Instance).ParentedRect))
else if PropName = 'PARENTEDVISIBLE' then
Result := TControl(Instance).ParentedVisible
else if PropName = 'CLIPRECT' then
Result := frxInteger(TfsRectF.Create(TControl(Instance).ClipRect))
else if PropName = 'CANVAS' then
Result := frxInteger(TControl(Instance).Canvas)
else if PropName = 'AUTOCAPTURE' then
Result := TControl(Instance).AutoCapture
else if PropName = 'CANFOCUS' then
Result := TControl(Instance).CanFocus
else if PropName = 'DISABLEFOCUSEFFECT' then
Result := TControl(Instance).DisableFocusEffect
else if PropName = 'TABORDER' then
Result := Integer(TControl(Instance).TabOrder)
else if PropName = 'BOUNDSRECT' then
Result := frxInteger(TfsRectF.Create(TControl(Instance).BoundsRect))
end
else if ClassType = TStyledControl then
begin
if PropName = 'STYLELOOKUP' then
Result := TStyledControl(Instance).StyleLookup
end
else if ClassType = TCustomEdit then
begin
if PropName = 'CARETPOSITION' then
Result := TCustomEdit(Instance).CaretPosition
else if PropName = 'SELSTART' then
Result := TCustomEdit(Instance).SelStart
else if PropName = 'SELLENGTH' then
Result := TCustomEdit(Instance).SelLength
else if PropName = 'SELTEXT' then
Result := String(TCustomEdit(Instance).SelText)
else if PropName = 'MAXLENGTH' then
Result := TCustomEdit(Instance).MaxLength
else if PropName = 'SELECTIONFILL' then
Result := frxInteger(TCustomEdit(Instance).SelectionFill)
else if PropName = 'FILTERCHAR' then
Result := TCustomEdit(Instance).FilterChar
else if PropName = 'TYPING' then
Result := TCustomEdit(Instance).Typing
end
else if ClassType = TMemo then
begin
if PropName = 'SELSTART' then
Result := TMemo(Instance).SelStart
else if PropName = 'SELLENGTH' then
Result := TMemo(Instance).SelLength
else if PropName = 'SELTEXT' then
Result := String(TMemo(Instance).SelText)
end
else if ClassType = TListBoxItem then
begin
if PropName = 'DATA' then
Result := frxInteger(TListBoxItem(Instance).Data)
else if PropName = 'INDEX' then
Result := TListBoxItem(Instance).Index
end
else if ClassType = TCustomListBox then
begin
if PropName = 'COUNT' then
Result := TCustomListBox(Instance).Count
else if PropName = 'SELECTED' then
Result := frxInteger(TCustomListBox(Instance).Selected)
else if PropName = 'ITEMS' then
Result := frxInteger(TCustomListBox(Instance).Items)
else if PropName = 'ITEMINDEX' then
Result := TCustomListBox(Instance).ItemIndex
end
else if ClassType = TCustomComboBox then
begin
if PropName = 'COUNT' then
Result := TCustomComboBox(Instance).Count
else if PropName = 'SELECTED' then
Result := frxInteger(TCustomComboBox(Instance).Selected)
else if PropName = 'ITEMS' then
Result := frxInteger(TCustomComboBox(Instance).Items)
else if PropName = 'ITEMINDEX' then
Result := TCustomComboBox(Instance).ItemIndex
end
else if ClassType = TCustomForm then
begin
if PropName = 'MODALRESULT' then
Result := TCustomForm(Instance).ModalResult
else if PropName = 'CANVAS' then
Result := frxInteger(TCustomForm(Instance).Canvas)
end
end;
procedure TFunctions.SetProp(Instance: TObject; ClassType: TClass;
const PropName: String; Value: Variant);
begin
if ClassType = TControl then
begin
if PropName = 'AUTOCAPTURE' then
TControl(Instance).AutoCapture := Boolean(Value)
else if PropName = 'CANFOCUS' then
TControl(Instance).CanFocus := Boolean(Value)
else if PropName = 'DISABLEFOCUSEFFECT' then
TControl(Instance).DisableFocusEffect := Boolean(Value)
else if PropName = 'TABORDER' then
TControl(Instance).TabOrder := TTabOrder(Integer(Value))
else if PropName = 'BOUNDSRECT' then
TControl(Instance).BoundsRect := TfsRectF(frxInteger(Value)).GetRect
end
else if ClassType = TStyledControl then
begin
if PropName = 'STYLELOOKUP' then
TStyledControl(Instance).StyleLookup := Value;
end
else if ClassType = TCustomEdit then
begin
if PropName = 'CARETPOSITION' then
TCustomEdit(Instance).CaretPosition := Integer(Value)
else if PropName = 'SELSTART' then
TCustomEdit(Instance).SelStart := Integer(Value)
else if PropName = 'SELLENGTH' then
TCustomEdit(Instance).SelLength := Integer(Value)
else if PropName = 'MAXLENGTH' then
TCustomEdit(Instance).MaxLength := Integer(Value)
else if PropName = 'FILTERCHAR' then
TCustomEdit(Instance).FilterChar := String(Value)
else if PropName = 'TYPING' then
TCustomEdit(Instance).Typing := Boolean(Value)
end
else if ClassType = TMemo then
begin
if PropName = 'SELSTART' then
TMemo(Instance).SelStart := Integer(Value)
else if PropName = 'SELLENGTH' then
TMemo(Instance).SelLength := Integer(Value)
end
else if ClassType = TListBoxItem then
begin
if PropName = 'DATA' then
TListBoxItem(Instance).Data := TObject(frxInteger(Value))
else if PropName = 'INDEX' then
TListBoxItem(Instance).Index := Value
end
else if ClassType = TCustomListBox then
begin
if PropName = 'ITEMS' then
TCustomListBox(Instance).Items := TStrings(frxInteger(Value))
else if PropName = 'ITEMINDEX' then
TCustomListBox(Instance).ItemIndex := Value
end
else if ClassType = TCustomComboBox then
begin
if PropName = 'ITEMS' then
TCustomComboBox(Instance).Items := TStrings(frxInteger(Value))
else if PropName = 'ITEMINDEX' then
TCustomComboBox(Instance).ItemIndex := Value
end
else if ClassType = TCustomForm then
begin
if PropName = 'MODALRESULT' then
TCustomForm(Instance).ModalResult := Value
end
end;
initialization
StartClassGroup(TFmxObject);
ActivateClassGroup(TFmxObject);
GroupDescendentsWith(TfsFormsRTTI, TFmxObject);
fsRTTIModules.Add(TFunctions);
finalization
fsRTTIModules.Remove(TFunctions);
end.

View File

@ -0,0 +1,522 @@
{******************************************}
{ }
{ FastScript v1.9 }
{ Graphics.pas classes and functions }
{ }
{ (c) 2003-2007 by Alexander Tzyganenko, }
{ Fast Reports Inc }
{ }
{******************************************}
unit FMX.fs_igraphicsrtti;
interface
{$i fs.inc}
uses
System.SysUtils, System.Classes, FMX.fs_iinterpreter, FMX.fs_iclassesrtti
, FMX.Types, FMX.Objects, System.UITypes, System.UIConsts, System.Types, System.Variants
{$IFDEF DELPHI19}
, FMX.Graphics
{$ENDIF}
{$IFDEF DELPHI20}
, System.Math.Vectors
{$ENDIF}
{$IFDEF DELPHI28}
, FMX.BaseTypeAliases
{$ENDIF};
type
{$i frxPlatformsAttribute.inc}
TfsGraphicsRTTI = class(TComponent); // fake component
implementation
type
TFunctions = class(TfsRTTIModule)
private
function CallMethod(Instance: TObject; ClassType: TClass;
const MethodName: String; Caller: TfsMethodHelper): Variant;
function GetProp(Instance: TObject; ClassType: TClass;
const PropName: String): Variant;
procedure SetProp(Instance: TObject; ClassType: TClass;
const PropName: String; Value: Variant);
procedure GetColorProc(const Name: String);
public
constructor Create(AScript: TfsScript); override;
end;
{ TFunctions }
constructor TFunctions.Create(AScript: TfsScript);
begin
inherited Create(AScript);
with AScript do
begin
GetAlphaColorValues(GetColorProc);
AddType('TAlignment', fvtInt);
AddType('TLeftRight', fvtInt);
AddConst('taLeftJustify', 'Integer', taLeftJustify);
AddConst('taRightJustify', 'Integer', taRightJustify);
AddConst('taCenter', 'Integer', taCenter);
AddType('TVerticalAlignment', fvtInt);
AddConst('taAlignTop', 'Integer', taAlignTop);
AddConst('taAlignBottom', 'Integer', taAlignBottom);
AddConst('taVerticalCenter', 'Integer', taVerticalCenter);
//AddEnum('TAlignment', 'taLeftJustify, taRightJustify, taCenter');
AddType('TCorners ', fvtInt);
AddConst('crTopLeft', 'Integer', TCorner.crTopLeft);
AddConst('crTopRight', 'Integer', TCorner.crTopRight);
AddConst('crBottomLeft', 'Integer', TCorner.crBottomLeft);
AddConst('crBottomRight', 'Integer', TCorner.crBottomRight);
AddType('TSides ', fvtInt);
AddConst('sdTop', 'Integer', TSide.sdTop);
AddConst('sdLeft', 'Integer', TSide.sdLeft);
AddConst('sdBottom', 'Integer', TSide.sdBottom);
AddConst('sdRight', 'Integer', TSide.sdRight);
AddConst('ftRightToLeft', 'Integer', TFillTextFlag.ftRightToLeft);
AddType('TFillTextFlags ', fvtInt);
AddEnumSet('TFontStyles', 'fsBold, fsItalic, fsUnderline, fsStrikeout');
AddEnum('TFontPitch', 'fpDefault, fpVariable, fpFixed');
AddEnum('TFontQuality', 'fqDefault, fqDraft, fqProof, fqNonAntialiased, fqAntialiased, fqClearType, fqClearTypeNatural');
AddEnum('TGradientStyle', 'gsLinear, gsRadial');
AddEnum('TWrapMode', 'wmTile, wmTileOriginal, wmTileStretch');
AddEnum('TCornerType', 'ctRound, ctBevel, ctInnerRound, ctInnerLine');
AddEnum('TAlignLayout', 'alNone, alTop, alLeft, alRight, alBottom, alMostTop, alMostBottom, alMostLeft, alMostRight, alClient, alContents, alCenter, alVertCenter, alHorzCenter, alHorizontal, alVertical, alScale, alFit, alFitLeft, alFitRight');
AddEnum('TPathPointKind', 'ppMoveTo, ppLineTo, ppCurveTo, ppClose');
AddEnum('TStrokeCap', 'scFlat, scRound');
AddEnum('TStrokeJoin', 'sjMiter, sjRound, sjBevel');
AddEnum('TStrokeDash', 'sdSolid, sdDash, sdDot, sdDashDot, sdDashDotDot, sdCustom');
AddEnum('TBrushKind', 'bkNone, bkSolid, bkGradient, bkBitmap, bkResource, bkGrab');
AddClass(TfsMatrix, 'TPersistent');
with AddClass(TFont, 'TPersistent') do
AddConstructor('constructor Create', CallMethod);
AddClass(TGradientPoint, 'TCollectionItem');
AddClass(TGradientPoints, 'TCollection');
AddClass(TGradient, 'TPersistent');
AddClass(TBrushBitmap, 'TPersistent');
AddClass(TBrushResource, 'TPersistent');
{$IFNDEF Delphi18}
AddClass(TBrushGrab, 'TPersistent');
{$ENDIF}
AddClass(TLineMetricInfo, 'TObject');
with AddClass(TBrush, 'TPersistent') do
begin
AddConstructor('Create(ADefaultKind: TBrushKind; ADefaultColor: TAlphaColor)', CallMethod);
AddProperty('DefaultColor', 'TAlphaColor', GetProp);
AddProperty('DefaultKind', 'TBrushKind', GetProp);
end;
{$IFDEF Delphi17}
AddClass(TStrokeBrush, 'TBrush');
{$ENDIF}
AddClass(TCanvasSaveState, 'TPersistent');
with AddClass(TCanvas, 'TPersistent') do
begin
AddMethod('function BeginScene: Boolean', CallMethod);
AddMethod('procedure EndScene', CallMethod);
AddMethod('procedure Clear(Color: TAlphaColor)', CallMethod);
AddMethod('procedure ClearRect(ARect: TfsRectF; AColor: TAlphaColor = 0)', CallMethod);
AddMethod('procedure SetMatrix(const M: TfsMatrix)', CallMethod);
{$IFDEF Delphi17}
AddMethod('procedure MultiplyMatrix(const M: TfsMatrix)', CallMethod);
{$ELSE}
AddMethod('procedure MultyMatrix(const M: TfsMatrix)', CallMethod);
{$ENDIF}
AddMethod('function SaveState: TCanvasSaveState', CallMethod);
AddMethod('procedure RestoreState(State: TCanvasSaveState)', CallMethod);
AddMethod('procedure SetClipRects(ARects: array of TfsRectF)', CallMethod);
AddMethod('procedure IntersectClipRect(ARect: TfsRectF)', CallMethod);
AddMethod('procedure ExcludeClipRect(ARect: TfsRectF)', CallMethod);
AddMethod('procedure ResetClipRect', CallMethod);
AddMethod('procedure DrawLine(APt1: TfsPointF; APt2: TfsPointF; AOpacity: Single)', CallMethod);
AddMethod('procedure FillRect(ARect: TfsRectF; XRadius: Single; YRadius: Single; ACorners: TCorners; AOpacity: Single; ACornerType: TCornerType)', CallMethod);
AddMethod('procedure DrawRect(ARect: TfsRectF; XRadius: Single; YRadius: Single; ACorners: TCorners; AOpacity: Single; ACornerType: TCornerType)', CallMethod);
AddMethod('procedure FillEllipse(ARect: TfsRectF; AOpacity: Single)', CallMethod);
AddMethod('procedure DrawEllipse(ARect: TfsRectF; AOpacity: Single)', CallMethod);
AddMethod('procedure FillArc(Center: TfsPointF; Radius: TfsPointF; StartAngle: Single; SweepAngle: Single; AOpacity: Single)', CallMethod);
AddMethod('procedure DrawArc(Center: TfsPointF; Radius: TfsPointF; StartAngle: Single; SweepAngle: Single; AOpacity: Single)', CallMethod);
AddMethod('function PtInPath(APoint: TfsPointF; APath: TPathData): Boolean', CallMethod);
AddMethod('procedure FillPath(APath: TPathData; AOpacity: Single)', CallMethod);
AddMethod('procedure DrawPath(APath: TPathData; AOpacity: Single)', CallMethod);
AddMethod('procedure DrawBitmap(ABitmap: TBitmap; SrcRect: TfsRectF; DstRect: TfsRectF; AOpacity: Single; HighSpeed: Boolean)', CallMethod);
AddMethod('procedure DrawRectSides(ARect: TfsRectF; XRadius: Single; YRadius: Single; ACorners: TCorners; AOpacity: Single; ASides: TSides; ACornerType: TCornerType)', CallMethod);
AddMethod('procedure FillPolygon(Points: TPolygon; AOpacity: Single)', CallMethod);
AddMethod('procedure DrawPolygon(Points: TPolygon; AOpacity: Single)', CallMethod);
AddMethod('function LoadFontFromStream(AStream: TStream): Boolean', CallMethod);
AddMethod('procedure FillText(ARect: TfsRectF; AText: string; WordWrap: Boolean; AOpacity: Single; Flags: TFillTextFlags; ATextAlign: TTextAlign; AVTextAlign: TTextAlign)', CallMethod);
AddMethod('procedure MeasureText(var ARect: TfsRectF; AText: string; WordWrap: Boolean; Flags: TFillTextFlags; ATextAlign: TTextAlign; AVTextAlign: TTextAlign)', CallMethod);
AddMethod('procedure MeasureLines(ALines: TLineMetricInfo; ARect: TfsRectF; AText: string; WordWrap: Boolean; Flags: TFillTextFlags; ATextAlign: TTextAlign; AVTextAlign: TTextAlign)', CallMethod);
AddMethod('function TextToPath(Path: TPathData; ARect: TfsRectF; AText: string; WordWrap: Boolean; ATextAlign: TTextAlign; AVTextAlign: TTextAlign): Boolean', CallMethod);
AddMethod('function TextWidth(AText: string): Single', CallMethod);
AddMethod('function TextHeight(AText: string): Single', CallMethod);
AddMethod('procedure SetCustomDash(Dash: array; Offset: Single)', CallMethod);
{$IFDEF Delphi17}
AddProperty('Stroke', 'TStrokeBrush', GetProp);
AddProperty('StrokeCap', 'TStrokeCap', nil, SetProp);
AddProperty('StrokeDash', 'TStrokeDash', nil, SetProp);
AddProperty('StrokeJoin', 'TStrokeJoin', nil, SetProp);
{$ELSE}
AddProperty('Stroke', 'TBrush', GetProp);
AddProperty('StrokeCap', 'TStrokeCap', GetProp, SetProp);
AddProperty('StrokeDash', 'TStrokeDash', GetProp, SetProp);
AddProperty('StrokeJoin', 'TStrokeJoin', GetProp, SetProp);
{$ENDIF}
AddProperty('StrokeThickness', 'Single', GetProp, SetProp);
AddProperty('Fill', 'TBrush', GetProp, SetProp);
AddProperty('Font', 'TFont', GetProp);
AddProperty('Matrix', 'TfsMatrix', GetProp);
AddProperty('Width', 'Integer', GetProp);
AddProperty('Height', 'Integer', GetProp);
end;
with AddClass(TBitmap, 'TPersistent') do
begin
AddConstructor('constructor Create(AWidth, AHeight: Integer)', CallMethod);
AddConstructor('constructor CreateFromStream(AStream: TStream)', CallMethod);
AddConstructor('constructor CreateFromFile(AFileName: string)', CallMethod);
AddMethod('procedure SetSize(AWidth, AHeight: Integer)', CallMethod);
AddMethod('procedure Clear(AColor: TAlphaColor)', CallMethod);
AddMethod('procedure ClearRect(ARect: TfsRectF; AColor: TAlphaColor = 0)', CallMethod);
AddMethod('function IsEmpty: Boolean', CallMethod);
AddMethod('procedure Rotate(Angle: Single)', CallMethod);
AddMethod('procedure FlipHorizontal', CallMethod);
AddMethod('procedure FlipVertical', CallMethod);
AddMethod('procedure InvertAlpha', CallMethod);
{$IFNDEF DELPHI20}
AddMethod('procedure LoadFromFile(AFileName: string; Rotate: Single = 0)', CallMethod);
{$ELSE}
AddMethod('procedure LoadFromFile(AFileName: string)', CallMethod);
{$ENDIF}
AddMethod('procedure SaveToFile(AFileName: string)', CallMethod);
AddMethod('procedure LoadFromStream(Stream: TStream)', CallMethod);
AddMethod('procedure SaveToStream(Stream: TStream)', CallMethod);
{$IFNDEF Delphi17}
AddMethod('procedure BitmapChanged', CallMethod);
AddIndexProperty( 'Pixels', 'Integer, Integer', 'TAlphaColor', CallMethod);
{$ENDIF}
AddProperty('Canvas', 'TCanvas', GetProp);
{$IFNDEF Delphi21}
AddProperty('ResourceBitmap', 'TBitmap', GetProp);
{$ENDIF}
AddProperty('Width', 'Integer', GetProp, SetProp);
AddProperty('Height', 'Integer', GetProp, SetProp);
end;
AddClass(TSpline, 'TObject');
AddClass(TBounds, 'TPersistent');
AddClass(TTransform, 'TPersistent');
{$IFNDEF Delphi17}
AddClass(TBitmapCodec, 'TPersistent');
{$ENDIF}
AddClass(TPathData, 'TPersistent');
AddClass(TCanvasSaveState, 'TPersistent');
end;
end;
function TFunctions.CallMethod(Instance: TObject; ClassType: TClass;
const MethodName: String; Caller: TfsMethodHelper): Variant;
var
_Canvas: TCanvas;
_Bitmap: TBitmap;
// mRects: array of TRectF;
mDashs: array of Single;
mPoly: TPolygon;
Idx, Cnt, nLo: Integer;
begin
Result := 0;
if ClassType = TFont then
begin
if MethodName = 'CREATE' then
Result := frxInteger(TFont(Instance).Create);
end
else if ClassType = TBitmap then
begin
_Bitmap := TBitmap(Instance);
if MethodName = 'CREATE' then
Result := frxInteger(TBitmap(Instance).Create(Caller.Params[0], Caller.Params[1]))
else if MethodName = 'CREATEFROMSTREAM' then
Result := frxInteger(_Bitmap.CreateFromStream(TStream(frxInteger(Caller.Params[0]))))
else if MethodName = 'CREATEFROMFILE' then
Result := frxInteger(_Bitmap.CreateFromFile(String(Caller.Params[0])))
else if MethodName = 'SETSIZE' then
_Bitmap.SetSize(Integer(Caller.Params[0]), Integer(Caller.Params[1]))
else if MethodName = 'CLEAR' then
_Bitmap.Clear(TAlphaColor(Caller.Params[0]))
else if MethodName = 'CLEARRECT' then
begin
_Bitmap.ClearRect(TfsRectF(frxInteger(Caller.Params[0])).GetRect, TAlphaColor(Caller.Params[1]));
end
else if MethodName = 'ISEMPTY' then
Result := _Bitmap.IsEmpty
else if MethodName = 'ROTATE' then
_Bitmap.Rotate(Single(Caller.Params[1]))
else if MethodName = 'FLIPHORIZONTAL' then
_Bitmap.FlipHorizontal
else if MethodName = 'FLIPVERTICAL' then
_Bitmap.FlipVertical
else if MethodName = 'INVERTALPHA' then
_Bitmap.InvertAlpha
else if MethodName = 'LOADFROMFILE' then
{$IFNDEF DELPHI20}
_Bitmap.LoadFromFile(String(Caller.Params[0]), Single(Caller.Params[1]))
{$ELSE}
_Bitmap.LoadFromFile(String(Caller.Params[0]))
{$ENDIF}
else if MethodName = 'SAVETOFILE' then
_Bitmap.SaveToFile(String(Caller.Params[0]))
else if MethodName = 'LOADFROMSTREAM' then
_Bitmap.LoadFromStream(TStream(frxInteger(Caller.Params[0])))
else if MethodName = 'SAVETOSTREAM' then
_Bitmap.SaveToStream(TStream(frxInteger(Caller.Params[0])))
{$IFNDEF Delphi17}
else if MethodName = 'BITMAPCHANGED' then
_Bitmap.BitmapChanged
else if MethodName = 'PIXELS.GET' then
Result := _Bitmap.Pixels[Caller.Params[0], Caller.Params[1]]
else if MethodName = 'PIXELS.SET' then
_Bitmap.Pixels[Caller.Params[0], Caller.Params[1]] := Caller.Params[2]
{$ENDIF}
end
else if ClassType = TBrush then
begin
if MethodName = 'CREATE' then
Result := frxInteger(TBrush(Instance).Create(TBrushKind(frxInteger(Caller.Params[0])),
TAlphaColor(frxInteger(Caller.Params[0]))))
end
else if ClassType = TCanvas then
begin
_Canvas := TCanvas(Instance);
if MethodName = 'BEGINSCENE' then
Result := _Canvas.BeginScene
else if MethodName = 'ENDSCENE' then
_Canvas.EndScene
else if MethodName = 'CLEAR' then
_Canvas.Clear(TAlphaColor(Caller.Params[0]))
else if MethodName = 'CLEARRECT' then
_Canvas.ClearRect(TfsRectF(frxInteger(Caller.Params[0])).GetRect, TAlphaColor(Caller.Params[1]))
else if MethodName = 'SETMATRIX' then
_Canvas.SetMatrix(TfsMatrix(frxInteger(Caller.Params[0])).GetRect)
{$IFDEF Delphi17}
else if MethodName = 'MULTIPLYMATRIX' then
_Canvas.MultiplyMatrix(TfsMatrix(frxInteger(Caller.Params[0])).GetRect)
{$ELSE}
else if MethodName = 'MULTYMATRIX' then
_Canvas.MultyMatrix(TfsMatrix(frxInteger(Caller.Params[0])).GetRect)
{$ENDIF}
else if MethodName = 'SAVESTATE' then
Result := frxInteger(_Canvas.SaveState)
else if MethodName = 'RESTORESTATE' then
_Canvas.RestoreState(TCanvasSaveState(frxInteger(Caller.Params[0])))
{ else if MethodName = 'SETCLIPRECTS' then
begin
nLo := VarArrayLowBound(Caller.Params[0], 1);
Cnt := VarArrayHighBound(Caller.Params[0], 1) - nLo;
SetLength(mRects, Cnt);
for Idx := 0 to Cnt - 1 do
mRects[Idx] := TfsRectF(frxInteger(Caller.Params[0][Idx + nLo])).GetRectP^;
_Canvas.SetClipRects(mRects);
SetLength(mRects, 0);
end }
else if MethodName = 'EXCLUDECLIPRECT' then
_Canvas.ExcludeClipRect(TfsRectF(frxInteger(Caller.Params[0])).GetRect)
else if MethodName = 'INTERSECTCLIPTRECT' then
_Canvas.IntersectClipRect(TfsRectF(frxInteger(Caller.Params[0])).GetRect)
{else if MethodName = 'RESETCLIPRECT' then
_Canvas.ResetClipRect }
else if MethodName = 'DRAWLINE' then
_Canvas.DrawLine(TfsPointF(frxInteger(Caller.Params[0])).GetRect, TfsPointF(frxInteger(Caller.Params[1])).GetRect, Single(Caller.Params[2]))
else if MethodName = 'FILLRECT' then
_Canvas.FillRect(TfsRectF(frxInteger(Caller.Params[0])).GetRect, Single(Caller.Params[1]), Single(Caller.Params[2]), TCorners(Byte(Caller.Params[3])), Single(Caller.Params[4]), TCornerType(Caller.Params[5]))
else if MethodName = 'DRAWRECT' then
_Canvas.DrawRect(TfsRectF(frxInteger(Caller.Params[0])).GetRect, Single(Caller.Params[1]), Single(Caller.Params[2]), TCorners(Byte(Caller.Params[3])), Single(Caller.Params[4]), TCornerType(Caller.Params[5]))
else if MethodName = 'FILLELLIPSE' then
_Canvas.FillEllipse(TfsRectF(frxInteger(Caller.Params[0])).GetRect, Single(Caller.Params[1]))
else if MethodName = 'DRAWELLIPSE' then
_Canvas.DrawEllipse(TfsRectF(frxInteger(Caller.Params[0])).GetRect, Single(Caller.Params[1]))
else if MethodName = 'FILLARC' then
_Canvas.FillArc(TfsPointF(frxInteger(Caller.Params[0])).GetRect, TfsPointF(frxInteger(Caller.Params[1])).GetRect, Single(Caller.Params[2]), Single(Caller.Params[3]), Single(Caller.Params[4]))
else if MethodName = 'DRAWARC' then
_Canvas.DrawArc(TfsPointF(frxInteger(Caller.Params[0])).GetRect, TfsPointF(frxInteger(Caller.Params[1])).GetRect, Single(Caller.Params[2]), Single(Caller.Params[3]), Single(Caller.Params[4]))
else if MethodName = 'PTINPATH' then
Result := Boolean(_Canvas.PtInPath(TfsPointF(frxInteger(Caller.Params[0])).GetRect, TPathData(frxInteger(Caller.Params[1]))))
else if MethodName = 'FILLPATH' then
_Canvas.FillPath(TPathData(frxInteger(Caller.Params[0])), Single(Caller.Params[1]))
else if MethodName = 'DRAWPATH' then
_Canvas.DrawPath(TPathData(frxInteger(Caller.Params[0])), Single(Caller.Params[1]))
else if MethodName = 'DRAWBITMAP' then
_Canvas.DrawBitmap(TBitmap(frxInteger(Caller.Params[0])), TfsRectF(frxInteger(Caller.Params[1])).GetRect, TfsRectF(frxInteger(Caller.Params[2])).GetRect, Single(Caller.Params[3]), Boolean(Caller.Params[4]))
else if MethodName = 'DRAWRECTSIDES' then
_Canvas.DrawRectSides(TfsRectF(frxInteger(Caller.Params[0])).GetRect, Single(Caller.Params[1]), Single(Caller.Params[2]), TCorners(Byte(Caller.Params[3])), Single(Caller.Params[4]), TSides(Byte(Caller.Params[5])), TCornerType(Caller.Params[6]))
else if MethodName = 'FILLPOLYGON' then
begin
nLo := VarArrayLowBound(Caller.Params[0], 1);
Cnt := VarArrayHighBound(Caller.Params[0], 1) - nLo;
SetLength(mPoly, Cnt);
for Idx := 0 to Cnt - 1 do
mPoly[Idx] := TfsPointF(frxInteger(Caller.Params[0][Idx + nLo])).GetRectP^;
_Canvas.FillPolygon(TPolygon(Caller.Params[0]), Single(Caller.Params[1]));
SetLength(mPoly, 0);
end
else if MethodName = 'DRAWPOLYGON' then
begin
nLo := VarArrayLowBound(Caller.Params[0], 1);
Cnt := VarArrayHighBound(Caller.Params[0], 1) - nLo;
SetLength(mPoly, Cnt);
for Idx := 0 to Cnt - 1 do
mPoly[Idx] := TfsPointF(frxInteger(Caller.Params[0][Idx + nLo])).GetRectP^;
_Canvas.DrawPolygon(TPolygon(Caller.Params[0]), Single(Caller.Params[1]));
SetLength(mPoly, 0);
end
else if MethodName = 'LOADFONTFROMSTREAM' then
Result := Boolean(_Canvas.LoadFontFromStream(TStream(frxInteger(Caller.Params[0]))))
else if MethodName = 'FILLTEXT' then
_Canvas.FillText(TfsRectF(frxInteger(Caller.Params[0])).GetRect, String(Caller.Params[1]), Boolean(Caller.Params[2]), Single(Caller.Params[3]), TFillTextFlags(Byte(Caller.Params[4])), TTextAlign(Caller.Params[5]), TTextAlign(Caller.Params[6]))
else if MethodName = 'MEASURETEXT' then
_Canvas.MeasureText(TfsRectF(frxInteger(Caller.Params[0])).GetRectP^, String(Caller.Params[1]), Boolean(Caller.Params[2]), TFillTextFlags(Byte(Caller.Params[3])), TTextAlign(Caller.Params[4]), TTextAlign(Caller.Params[5]))
else if MethodName = 'MEASURELINES' then
_Canvas.MeasureLines(TLineMetricInfo(frxInteger(Caller.Params[0])), TfsRectF(frxInteger(Caller.Params[1])).GetRect, String(Caller.Params[2]), Boolean(Caller.Params[3]), TFillTextFlags(Byte(Caller.Params[4])), TTextAlign(Caller.Params[5]), TTextAlign(Caller.Params[6]))
else if MethodName = 'TEXTTOPATH' then
Result := Boolean(_Canvas.TextToPath(TPathData(frxInteger(Caller.Params[0])), TfsRectF(frxInteger(Caller.Params[1])).GetRect, String(Caller.Params[2]), Boolean(Caller.Params[3]), TTextAlign(Caller.Params[4]), TTextAlign(Caller.Params[5])))
else if MethodName = 'TEXTWIDTH' then
Result := Single(_Canvas.TextWidth(String(Caller.Params[0])))
else if MethodName = 'TEXTHEIGHT' then
Result := Single(_Canvas.TextHeight(String(Caller.Params[0])))
else if MethodName = 'SETCUSTOMDASH' then
begin
nLo := VarArrayLowBound(Caller.Params[0], 1);
Cnt := VarArrayHighBound(Caller.Params[0], 1) - nLo;
SetLength(mDashs, Cnt);
for Idx := 0 to Cnt - 1 do
mDashs[Idx] := Single(Caller.Params[0][Idx + nLo]);
{$IFDEF DELPHI25}
_Canvas.Stroke.SetCustomDash(mDashs, Single(Caller.Params[1]));
{$ELSE}
_Canvas.SetCustomDash(mDashs, Single(Caller.Params[1]));
{$ENDIF}
SetLength(mDashs, 0);
end
{$IFNDEF CLX}
{ else if MethodName = 'PIXELS.GET' then
Result := _Canvas.Pixels[Caller.Params[0], Caller.Params[1]]
else if MethodName = 'PIXELS.SET' then
_Canvas.Pixels[Caller.Params[0], Caller.Params[1]] := Caller.Params[2] }
{$ENDIF}
end
end;
function TFunctions.GetProp(Instance: TObject; ClassType: TClass;
const PropName: String): Variant;
begin
Result := 0;
if ClassType = TBitmap then
begin
if PropName = 'CANVAS' then
Result := frxInteger(TBitmap(Instance).Canvas)
{$IFNDEF Delphi21}
else if PropName = 'RESOURCEBITMAP' then
Result := frxInteger(TBitmap(Instance).ResourceBitmap)
{$ENDIF}
else if PropName = 'WIDTH' then
Result := Integer(TBitmap(Instance).Width)
else if PropName = 'HEIGHT' then
Result := Integer(TBitmap(Instance).Height)
end
else if ClassType = TCanvas then
begin
if PropName = 'STROKE' then
Result := frxInteger(TCanvas(Instance).Stroke)
else if PropName = 'WIDTH' then
Result := Integer(TCanvas(Instance).Width)
else if PropName = 'HEIGHT' then
Result := Integer(TCanvas(Instance).Height)
else if PropName = 'FONT' then
Result := frxInteger(TCanvas(Instance).Font)
else if PropName = 'FILL' then
Result := frxInteger(TCanvas(Instance).Fill)
else if PropName = 'STROKETHICKNESS' then
{$IFDEF DELPHI25}
Result := Single(TCanvas(Instance).Stroke.Thickness)
{$ELSE}
Result := Single(TCanvas(Instance).StrokeThickness)
{$ENDIF}
{$IFNDEF Delphi17}
else if PropName = 'STROKECAP' then
Result := Integer(TCanvas(Instance).StrokeCap)
else if PropName = 'STROKEDASH' then
Result := Integer(TCanvas(Instance).StrokeDash)
else if PropName = 'STROKEJOIN' then
Result := Integer(TCanvas(Instance).StrokeJoin)
{$ENDIF}
end;
end;
procedure TFunctions.SetProp(Instance: TObject; ClassType: TClass;
const PropName: String; Value: Variant);
begin
if ClassType = TBitmap then
begin
if PropName = 'WIDTH' then
TBitmap(Instance).Width := Integer(Value)
else if PropName = 'HEIGHT' then
TBitmap(Instance).Height:= Integer(Value)
end
else if ClassType = TCanvas then
begin
if PropName = 'STROKETHICKNESS' then
{$IFDEF DELPHI25}
TCanvas(Instance).Stroke.Thickness := Single(Value)
{$ELSE}
TCanvas(Instance).StrokeThickness := Single(Value)
{$ENDIF}
else if PropName = 'STROKECAP' then
{$IFDEF DELPHI25}
TCanvas(Instance).Stroke.Cap := TStrokeCap(Value)
{$ELSE}
TCanvas(Instance).StrokeCap := TStrokeCap(Value)
{$ENDIF}
else if PropName = 'STROKEDASH' then
{$IFDEF DELPHI25}
TCanvas(Instance).Stroke.Dash := TStrokeDash(Value)
{$ELSE}
TCanvas(Instance).StrokeDash := TStrokeDash(Value)
{$ENDIF}
else if PropName = 'STROKEJOIN' then
{$IFDEF DELPHI25}
TCanvas(Instance).Stroke.Join := TStrokeJoin(Value)
{$ELSE}
TCanvas(Instance).StrokeJoin := TStrokeJoin(Value)
{$ENDIF}
end;
end;
procedure TFunctions.GetColorProc(const Name: String);
var
c: Integer;
begin
IdentToAlphaColor('cla' + Name, c);
Script.AddConst('cla' + Name, 'Integer', c);
end;
initialization
StartClassGroup(TFmxObject);
ActivateClassGroup(TFmxObject);
GroupDescendentsWith(TfsGraphicsRTTI, TFmxObject);
fsRTTIModules.Add(TFunctions);
finalization
fsRTTIModules.Remove(TFunctions);
end.

Some files were not shown because too many files have changed in this diff Show More