RxFPC:fix RxDateRangeEdit property Period and PeriodEnd for reoQuarter, reoHalfYear

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5892 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
alexs75
2017-05-22 11:35:55 +00:00
parent 9b409870a7
commit fa22d600c9
6 changed files with 448 additions and 199 deletions

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<CONFIG> <CONFIG>
<ProjectOptions> <ProjectOptions>
<Version Value="9"/> <Version Value="10"/>
<General> <General>
<MainUnit Value="0"/> <MainUnit Value="0"/>
<ResourceType Value="res"/> <ResourceType Value="res"/>
@ -27,25 +27,28 @@
<LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/> <LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
</local> </local>
</RunParams> </RunParams>
<RequiredPackages Count="3"> <RequiredPackages Count="4">
<Item1> <Item1>
<PackageName Value="rxnew"/> <PackageName Value="LazControls"/>
<MinVersion Major="2" Minor="1" Release="1" Build="103" Valid="True"/>
</Item1> </Item1>
<Item2> <Item2>
<PackageName Value="FCL"/> <PackageName Value="rxnew"/>
<MinVersion Major="1" Valid="True"/> <MinVersion Major="2" Minor="1" Release="1" Build="103" Valid="True"/>
</Item2> </Item2>
<Item3> <Item3>
<PackageName Value="LCL"/> <PackageName Value="FCL"/>
<MinVersion Major="1" Valid="True"/>
</Item3> </Item3>
<Item4>
<PackageName Value="LCL"/>
</Item4>
</RequiredPackages> </RequiredPackages>
<Units Count="23"> <Units Count="24">
<Unit0> <Unit0>
<Filename Value="project1.lpr"/> <Filename Value="project1.lpr"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<CursorPos Y="14"/> <CursorPos Y="14"/>
<UsageCount Value="20"/> <UsageCount Value="21"/>
</Unit0> </Unit0>
<Unit1> <Unit1>
<Filename Value="unit1.pas"/> <Filename Value="unit1.pas"/>
@ -55,8 +58,9 @@
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="Unit1"/> <UnitName Value="Unit1"/>
<IsVisibleTab Value="True"/> <IsVisibleTab Value="True"/>
<CursorPos X="59" Y="9"/> <TopLine Value="55"/>
<UsageCount Value="20"/> <CursorPos Y="83"/>
<UsageCount Value="21"/>
<Loaded Value="True"/> <Loaded Value="True"/>
<LoadedDesigner Value="True"/> <LoadedDesigner Value="True"/>
</Unit1> </Unit1>
@ -197,88 +201,137 @@
<CursorPos Y="48"/> <CursorPos Y="48"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
</Unit22> </Unit22>
<Unit23>
<Filename Value="../../rxcontrols/rxdaterangeeditunit.pas"/>
<UnitName Value="rxDateRangeEditUnit"/>
<EditorIndex Value="1"/>
<TopLine Value="337"/>
<CursorPos Y="359"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit23>
</Units> </Units>
<JumpHistory Count="20" HistoryIndex="19"> <JumpHistory Count="30" HistoryIndex="29">
<Position1> <Position1>
<Filename Value="unit1.pas"/> <Filename Value="unit1.pas"/>
<Caret Line="46" TopLine="28"/> <Caret Line="62" Column="5" TopLine="42"/>
</Position1> </Position1>
<Position2> <Position2>
<Filename Value="unit1.pas"/> <Filename Value="unit1.pas"/>
<Caret Line="18" Column="22" TopLine="8"/> <Caret Line="63" Column="5" TopLine="43"/>
</Position2> </Position2>
<Position3> <Position3>
<Filename Value="unit1.pas"/> <Filename Value="unit1.pas"/>
<Caret Line="46" TopLine="28"/> <Caret Line="64" Column="5" TopLine="44"/>
</Position3> </Position3>
<Position4> <Position4>
<Filename Value="unit1.pas"/> <Filename Value="unit1.pas"/>
<Caret Line="47" TopLine="28"/> <Caret Line="65" Column="5" TopLine="45"/>
</Position4> </Position4>
<Position5> <Position5>
<Filename Value="unit1.pas"/> <Filename Value="unit1.pas"/>
<Caret Line="46" Column="26" TopLine="28"/> <Caret Line="66" Column="5" TopLine="46"/>
</Position5> </Position5>
<Position6> <Position6>
<Filename Value="unit1.pas"/> <Filename Value="unit1.pas"/>
<Caret Line="20" Column="25" TopLine="20"/> <Caret Line="68" Column="51" TopLine="47"/>
</Position6> </Position6>
<Position7> <Position7>
<Filename Value="unit1.pas"/> <Filename Value="../../rxcontrols/rxdaterangeeditunit.pas"/>
<Caret Line="22" Column="20" TopLine="20"/> <Caret Line="420" Column="66" TopLine="401"/>
</Position7> </Position7>
<Position8> <Position8>
<Filename Value="unit1.pas"/> <Filename Value="unit1.pas"/>
<Caret Line="9" Column="22" TopLine="9"/> <Caret Line="64" Column="24" TopLine="47"/>
</Position8> </Position8>
<Position9> <Position9>
<Filename Value="unit1.pas"/> <Filename Value="../../rxcontrols/rxdaterangeeditunit.pas"/>
<Caret Line="39" TopLine="22"/> <Caret Line="384" Column="25" TopLine="364"/>
</Position9> </Position9>
<Position10> <Position10>
<Filename Value="unit1.pas"/> <Filename Value="../../rxcontrols/rxdaterangeeditunit.pas"/>
<Caret Line="38" TopLine="22"/> <Caret Line="71" Column="15" TopLine="68"/>
</Position10> </Position10>
<Position11> <Position11>
<Filename Value="unit1.pas"/> <Filename Value="../../rxcontrols/rxdaterangeeditunit.pas"/>
<Caret Line="40" Column="7" TopLine="22"/> <Caret Line="297" Column="5" TopLine="281"/>
</Position11> </Position11>
<Position12> <Position12>
<Filename Value="unit1.pas"/> <Filename Value="../../rxcontrols/rxdaterangeeditunit.pas"/>
<Caret Line="39" Column="7" TopLine="21"/> <Caret Line="296" Column="22" TopLine="279"/>
</Position12> </Position12>
<Position13> <Position13>
<Filename Value="unit1.pas"/> <Filename Value="../../rxcontrols/rxdaterangeeditunit.pas"/>
<Caret Line="40" Column="7" TopLine="21"/> <Caret Line="290" Column="25" TopLine="274"/>
</Position13> </Position13>
<Position14> <Position14>
<Filename Value="unit1.pas"/> <Filename Value="../../rxcontrols/rxdaterangeeditunit.pas"/>
<Caret Line="39" Column="7" TopLine="21"/> <Caret Line="286" Column="5" TopLine="261"/>
</Position14> </Position14>
<Position15> <Position15>
<Filename Value="unit1.pas"/> <Filename Value="../../rxcontrols/rxdaterangeeditunit.pas"/>
<Caret Line="18" Column="15" TopLine="6"/> <Caret Line="283" TopLine="261"/>
</Position15> </Position15>
<Position16> <Position16>
<Filename Value="unit1.pas"/> <Filename Value="../../rxcontrols/rxdaterangeeditunit.pas"/>
<Caret Line="18" Column="15" TopLine="6"/> <Caret Line="285" TopLine="261"/>
</Position16> </Position16>
<Position17> <Position17>
<Filename Value="unit1.pas"/> <Filename Value="../../rxcontrols/rxdaterangeeditunit.pas"/>
<Caret Line="13" Column="26" TopLine="6"/> <Caret Line="286" TopLine="261"/>
</Position17> </Position17>
<Position18> <Position18>
<Filename Value="unit1.pas"/> <Filename Value="../../rxcontrols/rxdaterangeeditunit.pas"/>
<Caret Line="18" Column="18"/> <Caret Line="289" TopLine="284"/>
</Position18> </Position18>
<Position19> <Position19>
<Filename Value="unit1.pas"/> <Filename Value="../../rxcontrols/rxdaterangeeditunit.pas"/>
<Caret Line="17" Column="34"/> <Caret Line="266" Column="18" TopLine="264"/>
</Position19> </Position19>
<Position20> <Position20>
<Filename Value="unit1.pas"/> <Filename Value="../../rxcontrols/rxdaterangeeditunit.pas"/>
<Caret Line="9" Column="33"/> <Caret Line="283" TopLine="264"/>
</Position20> </Position20>
<Position21>
<Filename Value="../../rxcontrols/rxdaterangeeditunit.pas"/>
<Caret Line="289" TopLine="264"/>
</Position21>
<Position22>
<Filename Value="../../rxcontrols/rxdaterangeeditunit.pas"/>
<Caret Line="294" TopLine="264"/>
</Position22>
<Position23>
<Filename Value="../../rxcontrols/rxdaterangeeditunit.pas"/>
<Caret Line="307" TopLine="288"/>
</Position23>
<Position24>
<Filename Value="../../rxcontrols/rxdaterangeeditunit.pas"/>
<Caret Line="312" TopLine="288"/>
</Position24>
<Position25>
<Filename Value="unit1.pas"/>
<Caret Line="62" Column="32" TopLine="55"/>
</Position25>
<Position26>
<Filename Value="unit1.pas"/>
<Caret Line="88" TopLine="55"/>
</Position26>
<Position27>
<Filename Value="../../rxcontrols/rxdaterangeeditunit.pas"/>
<Caret Line="356" TopLine="337"/>
</Position27>
<Position28>
<Filename Value="unit1.pas"/>
<Caret Line="86" Column="15" TopLine="55"/>
</Position28>
<Position29>
<Filename Value="unit1.pas"/>
<Caret Line="88" TopLine="55"/>
</Position29>
<Position30>
<Filename Value="unit1.pas"/>
<Caret Line="82" Column="9" TopLine="55"/>
</Position30>
</JumpHistory> </JumpHistory>
</ProjectOptions> </ProjectOptions>
<CompilerOptions> <CompilerOptions>

View File

@ -7,7 +7,7 @@ uses
cthreads, cthreads,
{$ENDIF}{$ENDIF} {$ENDIF}{$ENDIF}
Interfaces, // this includes the LCL widgetset Interfaces, // this includes the LCL widgetset
Forms, Forms, lazcontrols,
Unit1, Unit1,
sysutils sysutils
{ you can add units after this }; { you can add units after this };

View File

@ -1,99 +1,241 @@
object Form1: TForm1 object Form1: TForm1
Left = 608 Left = 502
Height = 300 Height = 397
Top = 495 Top = 390
Width = 400 Width = 590
Caption = 'Form1' Caption = 'Form1'
ClientHeight = 300 ClientHeight = 397
ClientWidth = 400 ClientWidth = 590
OnCreate = FormCreate OnCreate = FormCreate
LCLVersion = '1.7' LCLVersion = '1.9.0.0'
object Label1: TLabel object PageControl1: TPageControl
AnchorSideLeft.Control = Owner Left = 0
AnchorSideTop.Control = Owner Height = 397
Left = 6 Top = 0
Height = 20 Width = 590
Top = 6 ActivePage = TabSheet2
Width = 42 Align = alClient
BorderSpacing.Left = 6 TabIndex = 1
BorderSpacing.Top = 6
Caption = 'Label1'
ParentColor = False
end
object Label2: TLabel
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = RxDBDateEdit1
AnchorSideTop.Side = asrBottom
Left = 6
Height = 20
Top = 75
Width = 87
BorderSpacing.Around = 6
Caption = 'Currency edit'
ParentColor = False
end
object CurrencyEdit1: TCurrencyEdit
AnchorSideLeft.Control = Label2
AnchorSideTop.Control = Label2
AnchorSideTop.Side = asrBottom
Left = 12
Height = 37
Top = 101
Width = 148
Alignment = taCenter
BorderSpacing.Around = 6
MaxValue = 0
MinValue = 0
TabOrder = 0 TabOrder = 0
Value = 0 object TabSheet1: TTabSheet
end Caption = 'RxDBDateEdit demo'
object Button1: TButton ClientHeight = 363
Left = 248 ClientWidth = 580
Height = 36 object Label1: TLabel
Top = 80 AnchorSideLeft.Control = Owner
Width = 77 AnchorSideTop.Control = Owner
AutoSize = True Left = 6
Caption = 'Invalidate' Height = 20
OnClick = Button1Click Top = 6
TabOrder = 1 Width = 42
end Caption = 'Label1'
object RxDateEdit1: TRxDateEdit ParentColor = False
Left = 12 end
Height = 37 object RxDBDateEdit1: TRxDBDateEdit
Top = 160 AnchorSideLeft.Control = Label1
Width = 80 AnchorSideTop.Control = Label1
ButtonWidth = 23 AnchorSideTop.Side = asrBottom
MaxLength = 10 Left = 12
NumGlyphs = 2 Height = 37
PasswordChar = #0 Top = 32
PopupColor = clWindow Width = 151
TabOrder = 2 BorderSpacing.Around = 6
Text = ' . . ' ButtonWidth = 23
end Enabled = False
object RxDBDateEdit1: TRxDBDateEdit MaxLength = 10
AnchorSideLeft.Control = Label1 NumGlyphs = 2
AnchorSideTop.Control = Label1 PasswordChar = #0
AnchorSideTop.Side = asrBottom PopupColor = clWindow
Left = 12 TabOrder = 0
Height = 37 Text = 't1. . '
Top = 32 DataField = 'DOC_DATE'
Width = 151 DataSource = dsData
BorderSpacing.Around = 6 end
ButtonWidth = 23 object Label2: TLabel
Enabled = False AnchorSideLeft.Control = Owner
MaxLength = 10 AnchorSideTop.Control = RxDBDateEdit1
NumGlyphs = 2 AnchorSideTop.Side = asrBottom
PasswordChar = #0 Left = 6
PopupColor = clWindow Height = 20
TabOrder = 3 Top = 75
Text = 't1. . ' Width = 85
DataField = 'DOC_DATE' BorderSpacing.Around = 6
DataSource = dsData Caption = 'Currency edit'
ParentColor = False
end
object CurrencyEdit1: TCurrencyEdit
AnchorSideLeft.Control = Label2
AnchorSideTop.Control = Label2
AnchorSideTop.Side = asrBottom
Left = 12
Height = 37
Top = 101
Width = 148
Alignment = taCenter
BorderSpacing.Around = 6
MaxValue = 0
MinValue = 0
TabOrder = 1
Value = 0
end
object RxDateEdit1: TRxDateEdit
Left = 12
Height = 37
Top = 160
Width = 80
ButtonWidth = 23
MaxLength = 10
NumGlyphs = 2
PasswordChar = #0
PopupColor = clWindow
TabOrder = 2
Text = ' . . '
end
object Button1: TButton
Left = 248
Height = 36
Top = 80
Width = 77
AutoSize = True
Caption = 'Invalidate'
OnClick = Button1Click
TabOrder = 3
end
end
object TabSheet2: TTabSheet
Caption = 'RxDateRangeEdit demo'
ClientHeight = 363
ClientWidth = 580
object CheckBox1: TCheckBox
AnchorSideLeft.Control = TabSheet2
AnchorSideTop.Control = TabSheet2
Left = 6
Height = 24
Top = 6
Width = 88
BorderSpacing.Around = 6
Caption = 'reoMonth'
Checked = True
OnChange = CheckBox1Change
State = cbChecked
TabOrder = 0
end
object RxDateRangeEdit1: TRxDateRangeEdit
AnchorSideLeft.Control = TabSheet2
AnchorSideLeft.Side = asrCenter
AnchorSideTop.Control = CheckBox3
AnchorSideTop.Side = asrBottom
Left = 159
Height = 37
Top = 96
Width = 262
BorderSpacing.Around = 6
Month = 5
TabOrder = 1
Year = 2017
OnChange = RxDateRangeEdit1Change
end
object CheckBox2: TCheckBox
AnchorSideLeft.Control = TabSheet2
AnchorSideTop.Control = CheckBox1
AnchorSideTop.Side = asrBottom
Left = 6
Height = 24
Top = 36
Width = 96
BorderSpacing.Around = 6
Caption = 'reoQuarter'
Checked = True
OnChange = CheckBox1Change
State = cbChecked
TabOrder = 2
end
object CheckBox3: TCheckBox
AnchorSideLeft.Control = TabSheet2
AnchorSideTop.Control = CheckBox2
AnchorSideTop.Side = asrBottom
Left = 6
Height = 24
Top = 66
Width = 102
BorderSpacing.Around = 6
Caption = 'reoHalfYear'
Checked = True
OnChange = CheckBox1Change
State = cbChecked
TabOrder = 3
end
object Label3: TLabel
AnchorSideLeft.Control = TabSheet2
AnchorSideTop.Control = RxDateRangeEdit1
AnchorSideTop.Side = asrBottom
Left = 6
Height = 20
Top = 139
Width = 92
BorderSpacing.Around = 6
Caption = 'Start of period'
ParentColor = False
end
object Edit1: TEdit
AnchorSideLeft.Control = Label3
AnchorSideTop.Control = Label3
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Label5
Left = 12
Height = 37
Top = 165
Width = 272
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6
ReadOnly = True
TabOrder = 4
Text = 'Edit1'
end
object Label4: TLabel
AnchorSideLeft.Control = Label5
AnchorSideTop.Control = RxDateRangeEdit1
AnchorSideTop.Side = asrBottom
Left = 296
Height = 20
Top = 139
Width = 85
BorderSpacing.Around = 6
Caption = 'End of period'
ParentColor = False
end
object Edit2: TEdit
AnchorSideLeft.Control = Label4
AnchorSideTop.Control = Label4
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = TabSheet2
AnchorSideRight.Side = asrBottom
Left = 302
Height = 37
Top = 165
Width = 272
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6
ReadOnly = True
TabOrder = 5
Text = 'Edit2'
end
object Label5: TLabel
AnchorSideLeft.Control = TabSheet2
AnchorSideLeft.Side = asrCenter
AnchorSideTop.Control = TabSheet2
Left = 290
Height = 1
Top = 0
Width = 1
ParentColor = False
end
end
end end
object dsData: TDataSource object dsData: TDataSource
DataSet = rxData DataSet = rxData
left = 264 Left = 264
top = 21 Top = 21
end end
object rxData: TRxMemoryData object rxData: TRxMemoryData
FieldDefs = < FieldDefs = <
@ -102,8 +244,8 @@ object Form1: TForm1
DataType = ftDate DataType = ftDate
end> end>
PacketRecords = 0 PacketRecords = 0
left = 304 Left = 304
top = 21 Top = 21
object rxDataDOC_DATE: TDateField object rxDataDOC_DATE: TDateField
DisplayWidth = 10 DisplayWidth = 10
FieldKind = fkData FieldKind = fkData

View File

@ -5,8 +5,9 @@ unit Unit1;
interface interface
uses uses
Classes, SysUtils, db, FileUtil, LResources, Forms, Controls, Graphics, Classes, SysUtils, db, FileUtil, DividerBevel, LResources, Forms, Controls,
Dialogs, StdCtrls, rxmemds, rxdbdateedit, rxcurredit, rxtooledit; Graphics, Dialogs, StdCtrls, ComCtrls, rxmemds, rxdbdateedit, rxcurredit,
rxtooledit, rxDateRangeEditUnit;
type type
@ -14,16 +15,30 @@ type
TForm1 = class(TForm) TForm1 = class(TForm)
Button1: TButton; Button1: TButton;
CheckBox1: TCheckBox;
CheckBox2: TCheckBox;
CheckBox3: TCheckBox;
CurrencyEdit1: TCurrencyEdit; CurrencyEdit1: TCurrencyEdit;
dsData: TDatasource; dsData: TDatasource;
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel; Label1: TLabel;
Label2: TLabel; Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
PageControl1: TPageControl;
rxData: TRxMemoryData; rxData: TRxMemoryData;
rxDataDOC_DATE: TDateField; rxDataDOC_DATE: TDateField;
RxDateEdit1: TRxDateEdit; RxDateEdit1: TRxDateEdit;
RxDateRangeEdit1: TRxDateRangeEdit;
RxDBDateEdit1: TRxDBDateEdit; RxDBDateEdit1: TRxDBDateEdit;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
procedure Button1Click(Sender: TObject); procedure Button1Click(Sender: TObject);
procedure CheckBox1Change(Sender: TObject);
procedure FormCreate(Sender: TObject); procedure FormCreate(Sender: TObject);
procedure RxDateRangeEdit1Change(Sender: TObject);
private private
{ private declarations } { private declarations }
public public
@ -44,7 +59,15 @@ begin
rxData.Open; rxData.Open;
rxData.Append; rxData.Append;
rxDataDOC_DATE.AsDateTime:=Now; rxDataDOC_DATE.AsDateTime:=Now;
CurrencyEdit1.Value:=1214.55 CurrencyEdit1.Value:=1214.55;
CheckBox1Change(nil);
end;
procedure TForm1.RxDateRangeEdit1Change(Sender: TObject);
begin
Edit1.Text:=DateToStr(RxDateRangeEdit1.Period);
Edit2.Text:=DateToStr(RxDateRangeEdit1.PeriodEnd);
end; end;
procedure TForm1.Button1Click(Sender: TObject); procedure TForm1.Button1Click(Sender: TObject);
@ -52,5 +75,19 @@ begin
CurrencyEdit1.Invalidate; CurrencyEdit1.Invalidate;
end; end;
procedure TForm1.CheckBox1Change(Sender: TObject);
var
R: TRxDateRangeEditOptions;
begin
R:=[];
if CheckBox1.Checked then
R:=R + [reoMonth];
if CheckBox2.Checked then
R:=R + [reoQuarter];
if CheckBox3.Checked then
R:=R + [reoHalfYear];
RxDateRangeEdit1.Options:=R;
end;
end. end.

View File

@ -30,8 +30,8 @@
<Filename Value="../../../rxdb/rxdbgrid.pas"/> <Filename Value="../../../rxdb/rxdbgrid.pas"/>
<IsVisibleTab Value="True"/> <IsVisibleTab Value="True"/>
<EditorIndex Value="1"/> <EditorIndex Value="1"/>
<TopLine Value="1174"/> <TopLine Value="504"/>
<CursorPos X="42" Y="1187"/> <CursorPos X="20" Y="518"/>
<UsageCount Value="16"/> <UsageCount Value="16"/>
<Bookmarks Count="4"> <Bookmarks Count="4">
<Item0 X="7" Y="4721" ID="3"/> <Item0 X="7" Y="4721" ID="3"/>
@ -44,7 +44,7 @@
<Unit3> <Unit3>
<Filename Value="../../../../../lcl/dbgrids.pas"/> <Filename Value="../../../../../lcl/dbgrids.pas"/>
<UnitName Value="DBGrids"/> <UnitName Value="DBGrids"/>
<EditorIndex Value="5"/> <EditorIndex Value="4"/>
<TopLine Value="2880"/> <TopLine Value="2880"/>
<CursorPos Y="2901"/> <CursorPos Y="2901"/>
<UsageCount Value="16"/> <UsageCount Value="16"/>
@ -53,7 +53,7 @@
<Unit4> <Unit4>
<Filename Value="../../../../../lcl/grids.pas"/> <Filename Value="../../../../../lcl/grids.pas"/>
<UnitName Value="Grids"/> <UnitName Value="Grids"/>
<EditorIndex Value="6"/> <EditorIndex Value="5"/>
<TopLine Value="2482"/> <TopLine Value="2482"/>
<CursorPos X="3" Y="2484"/> <CursorPos X="3" Y="2484"/>
<UsageCount Value="16"/> <UsageCount Value="16"/>
@ -61,7 +61,7 @@
</Unit4> </Unit4>
<Unit5> <Unit5>
<Filename Value="/home/install/source/fpcsrc/packages/fcl-db/src/base/db.pas"/> <Filename Value="/home/install/source/fpcsrc/packages/fcl-db/src/base/db.pas"/>
<EditorIndex Value="4"/> <EditorIndex Value="3"/>
<TopLine Value="1560"/> <TopLine Value="1560"/>
<CursorPos X="15" Y="1578"/> <CursorPos X="15" Y="1578"/>
<UsageCount Value="16"/> <UsageCount Value="16"/>
@ -97,15 +97,14 @@
</Unit9> </Unit9>
<Unit10> <Unit10>
<Filename Value="/home/install/source/fpcsrc/rtl/objpas/classes/classesh.inc"/> <Filename Value="/home/install/source/fpcsrc/rtl/objpas/classes/classesh.inc"/>
<EditorIndex Value="2"/> <EditorIndex Value="-1"/>
<TopLine Value="518"/> <TopLine Value="473"/>
<CursorPos X="14" Y="537"/> <CursorPos X="3" Y="480"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit10> </Unit10>
<Unit11> <Unit11>
<Filename Value="/home/install/source/fpcsrc/rtl/objpas/classes/collect.inc"/> <Filename Value="/home/install/source/fpcsrc/rtl/objpas/classes/collect.inc"/>
<EditorIndex Value="3"/> <EditorIndex Value="2"/>
<TopLine Value="289"/> <TopLine Value="289"/>
<CursorPos X="3" Y="291"/> <CursorPos X="3" Y="291"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
@ -115,123 +114,123 @@
<JumpHistory Count="30" HistoryIndex="29"> <JumpHistory Count="30" HistoryIndex="29">
<Position1> <Position1>
<Filename Value="../../../rxdb/rxdbgrid.pas"/> <Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="503" Column="9" TopLine="484"/> <Caret Line="6448" Column="54" TopLine="6435"/>
</Position1> </Position1>
<Position2> <Position2>
<Filename Value="../../../rxdb/rxdbgrid.pas"/> <Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="1174" Column="17" TopLine="1171"/> <Caret Line="5032" Column="9" TopLine="5000"/>
</Position2> </Position2>
<Position3> <Position3>
<Filename Value="../../../rxdb/rxdbgrid.pas"/> <Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="6448" Column="54" TopLine="6435"/> <Caret Line="4943" Column="17" TopLine="4928"/>
</Position3> </Position3>
<Position4> <Position4>
<Filename Value="../../../rxdb/rxdbgrid.pas"/> <Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="5032" Column="9" TopLine="5000"/> <Caret Line="5053" Column="3" TopLine="5021"/>
</Position4> </Position4>
<Position5> <Position5>
<Filename Value="../../../rxdb/rxdbgrid.pas"/> <Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="4943" Column="17" TopLine="4928"/> <Caret Line="5058" TopLine="5024"/>
</Position5> </Position5>
<Position6> <Position6>
<Filename Value="../../../rxdb/rxdbgrid.pas"/> <Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="5053" Column="3" TopLine="5021"/> <Caret Line="5051" Column="35" TopLine="5041"/>
</Position6> </Position6>
<Position7> <Position7>
<Filename Value="../../../rxdb/rxdbgrid.pas"/> <Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="5058" TopLine="5024"/> <Caret Line="796" Column="15" TopLine="780"/>
</Position7> </Position7>
<Position8> <Position8>
<Filename Value="../../../rxdb/rxdbgrid.pas"/> <Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="5051" Column="35" TopLine="5041"/> <Caret Line="362" Column="49" TopLine="342"/>
</Position8> </Position8>
<Position9> <Position9>
<Filename Value="../../../rxdb/rxdbgrid.pas"/> <Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="796" Column="15" TopLine="780"/> <Caret Line="589" TopLine="570"/>
</Position9> </Position9>
<Position10> <Position10>
<Filename Value="../../../rxdb/rxdbgrid.pas"/> <Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="362" Column="49" TopLine="342"/> <Caret Line="362" Column="49" TopLine="343"/>
</Position10> </Position10>
<Position11> <Position11>
<Filename Value="../../../rxdb/rxdbgrid.pas"/> <Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="589" TopLine="570"/> <Caret Line="5042" Column="33" TopLine="5037"/>
</Position11> </Position11>
<Position12> <Position12>
<Filename Value="../../../rxdb/rxdbgrid.pas"/> <Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="362" Column="49" TopLine="343"/> <Caret Line="5116" Column="40" TopLine="5038"/>
</Position12> </Position12>
<Position13> <Position13>
<Filename Value="../../../rxdb/rxdbgrid.pas"/> <Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="5042" Column="33" TopLine="5037"/> <Caret Line="515" Column="48" TopLine="490"/>
</Position13> </Position13>
<Position14> <Position14>
<Filename Value="../../../rxdb/rxdbgrid.pas"/> <Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="5116" Column="40" TopLine="5038"/> <Caret Line="522" Column="21" TopLine="496"/>
</Position14> </Position14>
<Position15> <Position15>
<Filename Value="../../../rxdb/rxdbgrid.pas"/> <Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="515" Column="48" TopLine="490"/> <Caret Line="525" Column="76" TopLine="493"/>
</Position15> </Position15>
<Position16> <Position16>
<Filename Value="../../../rxdb/rxdbgrid.pas"/> <Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="522" Column="21" TopLine="496"/> <Caret Line="1173" TopLine="1168"/>
</Position16> </Position16>
<Position17> <Position17>
<Filename Value="../../../rxdb/rxdbgrid.pas"/> <Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="525" Column="76" TopLine="493"/> <Caret Line="474" Column="49" TopLine="448"/>
</Position17> </Position17>
<Position18> <Position18>
<Filename Value="../../../rxdb/rxdbgrid.pas"/> <Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="1173" TopLine="1168"/> <Caret Line="2057" Column="3" TopLine="2055"/>
</Position18> </Position18>
<Position19> <Position19>
<Filename Value="../../../rxdb/rxdbgrid.pas"/> <Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="474" Column="49" TopLine="448"/> <Caret Line="535" Column="56" TopLine="509"/>
</Position19> </Position19>
<Position20> <Position20>
<Filename Value="../../../rxdb/rxdbgrid.pas"/> <Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="2057" Column="3" TopLine="2055"/> <Caret Line="1176" Column="3" TopLine="1173"/>
</Position20> </Position20>
<Position21> <Position21>
<Filename Value="../../../rxdb/rxdbgrid.pas"/> <Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="535" Column="56" TopLine="509"/> <Caret Line="471" Column="15" TopLine="466"/>
</Position21> </Position21>
<Position22> <Position22>
<Filename Value="../../../rxdb/rxdbgrid.pas"/> <Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="1176" Column="3" TopLine="1173"/> <Caret Line="2063" TopLine="2060"/>
</Position22> </Position22>
<Position23> <Position23>
<Filename Value="../../../rxdb/rxdbgrid.pas"/> <Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="471" Column="15" TopLine="466"/> <Caret Line="535" Column="65" TopLine="470"/>
</Position23> </Position23>
<Position24> <Position24>
<Filename Value="../../../rxdb/rxdbgrid.pas"/> <Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="2063" TopLine="2060"/> <Caret Line="530" Column="58" TopLine="528"/>
</Position24> </Position24>
<Position25> <Position25>
<Filename Value="../../../rxdb/rxdbgrid.pas"/> <Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="535" Column="65" TopLine="470"/> <Caret Line="1176" Column="3" TopLine="1174"/>
</Position25> </Position25>
<Position26> <Position26>
<Filename Value="../../../rxdb/rxdbgrid.pas"/> <Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="530" Column="58" TopLine="528"/> <Caret Line="471" Column="14" TopLine="453"/>
</Position26> </Position26>
<Position27> <Position27>
<Filename Value="../../../rxdb/rxdbgrid.pas"/> <Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="1176" Column="3" TopLine="1174"/> <Caret Line="2069" TopLine="2066"/>
</Position27> </Position27>
<Position28> <Position28>
<Filename Value="../../../rxdb/rxdbgrid.pas"/> <Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="471" Column="14" TopLine="453"/> <Caret Line="530" Column="14" TopLine="499"/>
</Position28> </Position28>
<Position29> <Position29>
<Filename Value="../../../rxdb/rxdbgrid.pas"/> <Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="2069" TopLine="2066"/> <Caret Line="1176" Column="21" TopLine="1174"/>
</Position29> </Position29>
<Position30> <Position30>
<Filename Value="../../../rxdb/rxdbgrid.pas"/> <Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="530" Column="14" TopLine="499"/> <Caret Line="529" Column="3" TopLine="512"/>
</Position30> </Position30>
</JumpHistory> </JumpHistory>
</ProjectSession> </ProjectSession>

View File

@ -276,13 +276,40 @@ begin
end; end;
function TRxCustomDateRangeEdit.GetPeriod: TDateTime; function TRxCustomDateRangeEdit.GetPeriod: TDateTime;
var
i: PtrInt;
M: Word;
begin begin
Result:=EncodeDate(Year, Month, 1); i:=PtrInt(FEditMonth.Items.Objects[FEditMonth.ItemIndex]);
if I < 13 then
M:=Month
else
if i in [13..16] then
M:= (I - 13) * 3 + 1
else
if i in [17..18] then
M:= (I - 17) * 6 + 1;
Result:=EncodeDate(Year, M, 1);
end; end;
function TRxCustomDateRangeEdit.GetPeriodEnd: TDateTime; function TRxCustomDateRangeEdit.GetPeriodEnd: TDateTime;
var
i: PtrInt;
M: Integer;
begin begin
Result:=EncodeDate(Year, Month, DaysPerMonth(Year, Month)); i:=PtrInt(FEditMonth.Items.Objects[FEditMonth.ItemIndex]);
if I < 13 then
M:=Month
else
if i in [13..16] then
M:= (I - 12) * 3
else
if i in [17..18] then
M:= (I - 16) * 6;
Result:=EncodeDate(Year, M, DaysPerMonth(Year, M))
end; end;
function TRxCustomDateRangeEdit.GetQuarter: word; function TRxCustomDateRangeEdit.GetQuarter: word;
@ -392,37 +419,28 @@ end;
procedure TRxCustomDateRangeEdit.FillMonthNames; procedure TRxCustomDateRangeEdit.FillMonthNames;
var var
i, k: Integer; i: Integer;
begin begin
FEditMonth.Items.BeginUpdate; FEditMonth.Items.BeginUpdate;
FEditMonth.Items.Clear; FEditMonth.Items.Clear;
if (reoMonth in FOptions) or (FOptions = []) then if (reoMonth in FOptions) or (FOptions = []) then
begin begin
for i:=1 to 12 do for i:=1 to 12 do
begin FEditMonth.Items.AddObject(DefaultFormatSettings.LongMonthNames[i], TObject(Pointer(i)));
k:=FEditMonth.Items.Add(DefaultFormatSettings.LongMonthNames[i]);
FEditMonth.Items.Objects[K]:=TObject(Pointer(i));
end;
end; end;
if (reoQuarter in FOptions) or (FOptions = []) then if (reoQuarter in FOptions) or (FOptions = []) then
begin begin
k:=FEditMonth.Items.Add(sFirstQuarter); FEditMonth.Items.AddObject(sFirstQuarter, TObject(Pointer(13)));
FEditMonth.Items.Objects[K]:=TObject(Pointer(13)); FEditMonth.Items.AddObject(sSecondQuarter, TObject(Pointer(14)));
k:=FEditMonth.Items.Add(sSecondQuarter); FEditMonth.Items.AddObject(sThirdQuarter, TObject(Pointer(15)));
FEditMonth.Items.Objects[K]:=TObject(Pointer(14)); FEditMonth.Items.AddObject(sFourthQuarter, TObject(Pointer(16)));
k:=FEditMonth.Items.Add(sThirdQuarter);
FEditMonth.Items.Objects[K]:=TObject(Pointer(15));
k:=FEditMonth.Items.Add(sFourthQuarter);
FEditMonth.Items.Objects[K]:=TObject(Pointer(16));
end; end;
if (reoHalfYear in FOptions) or (FOptions = []) then if (reoHalfYear in FOptions) or (FOptions = []) then
begin begin
k:=FEditMonth.Items.Add(sFirstHalfOfYear); FEditMonth.Items.AddObject(sFirstHalfOfYear, TObject(Pointer(17)));
FEditMonth.Items.Objects[K]:=TObject(Pointer(17)); FEditMonth.Items.AddObject(sSecondHalfOfYear, TObject(Pointer(18)));
k:=FEditMonth.Items.Add(sSecondHalfOfYear);
FEditMonth.Items.Objects[K]:=TObject(Pointer(18));
end; end;
FEditMonth.ItemIndex:=0; FEditMonth.ItemIndex:=0;
FEditMonth.Items.EndUpdate; FEditMonth.Items.EndUpdate;