From 52d104e593ed734b784da931eb11bfd80376f949 Mon Sep 17 00:00:00 2001 From: alexs75 Date: Mon, 22 May 2017 11:49:57 +0000 Subject: [PATCH] RxFPC:RxDateRangeEdit fix set property Period for reoQuarter, reoHalfYear git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5893 8e941d3f-bd1b-0410-a28a-d453659cc2b4 --- .../trunk/rxcontrols/rxdaterangeeditunit.pas | 29 +++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/components/rx/trunk/rxcontrols/rxdaterangeeditunit.pas b/components/rx/trunk/rxcontrols/rxdaterangeeditunit.pas index 1ab10eee5..83890f4f0 100644 --- a/components/rx/trunk/rxcontrols/rxdaterangeeditunit.pas +++ b/components/rx/trunk/rxcontrols/rxdaterangeeditunit.pas @@ -360,11 +360,36 @@ end; procedure TRxCustomDateRangeEdit.SetPeriod(AValue: TDateTime); var - Y, M, D: word; + Y, M, D, Q: word; + I: Integer; begin DecodeDate(AValue, Y, M, D); - FEditMonth.ItemIndex:=M-1; FEditYear.Value:=Y; + + if reoMonth in FOptions then + FEditMonth.ItemIndex:=M-1 + else + if reoQuarter in FOptions then + begin + Q:=M div 4; + for I:=0 to FEditMonth.Items.Count - 1 do + if FEditMonth.Items.Objects[i] = TObject(Pointer(Q + 13)) then + begin + FEditMonth.ItemIndex:=i; + break; + end; + end + else + if reoHalfYear in FOptions then + begin + Q:=M div 6; + for I:=0 to FEditMonth.Items.Count - 1 do + if FEditMonth.Items.Objects[i] = TObject(Pointer(Q + 17)) then + begin + FEditMonth.ItemIndex:=i; + break; + end; + end; end; procedure TRxCustomDateRangeEdit.SetQuarter(AValue: word);