RxFPC:RxTimeEdit - add new property ShowSecond. Rework display time. Move Text property to public section.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6283 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
alexs75
2018-03-30 18:22:47 +00:00
parent 4a326db8b2
commit ebf7b97ec3
4 changed files with 268 additions and 121 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="10"/> <Version Value="11"/>
<General> <General>
<MainUnit Value="0"/> <MainUnit Value="0"/>
<ResourceType Value="res"/> <ResourceType Value="res"/>
@ -22,10 +22,14 @@
<ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/> <ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/>
</PublishOptions> </PublishOptions>
<RunParams> <RunParams>
<FormatVersion Value="2"/>
<Modes Count="1">
<Mode0 Name="default">
<local> <local>
<FormatVersion Value="1"/>
<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>
</Mode0>
</Modes>
</RunParams> </RunParams>
<RequiredPackages Count="4"> <RequiredPackages Count="4">
<Item1> <Item1>
@ -43,7 +47,7 @@
<PackageName Value="LCL"/> <PackageName Value="LCL"/>
</Item4> </Item4>
</RequiredPackages> </RequiredPackages>
<Units Count="24"> <Units Count="28">
<Unit0> <Unit0>
<Filename Value="project1.lpr"/> <Filename Value="project1.lpr"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
@ -57,9 +61,8 @@
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="Unit1"/> <UnitName Value="Unit1"/>
<IsVisibleTab Value="True"/> <TopLine Value="78"/>
<TopLine Value="55"/> <CursorPos X="5" Y="94"/>
<CursorPos Y="83"/>
<UsageCount Value="21"/> <UsageCount Value="21"/>
<Loaded Value="True"/> <Loaded Value="True"/>
<LoadedDesigner Value="True"/> <LoadedDesigner Value="True"/>
@ -173,7 +176,7 @@
<UsageCount Value="10"/> <UsageCount Value="10"/>
</Unit18> </Unit18>
<Unit19> <Unit19>
<Filename Value="/home/alexs/install/fpcsrc/rtl/objpas/sysutils/sysinth.inc"/> <Filename Value="../../../../../../../alexs/install/fpcsrc/rtl/objpas/sysutils/sysinth.inc"/>
<TopLine Value="77"/> <TopLine Value="77"/>
<CursorPos X="37" Y="93"/> <CursorPos X="37" Y="93"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
@ -204,133 +207,168 @@
<Unit23> <Unit23>
<Filename Value="../../rxcontrols/rxdaterangeeditunit.pas"/> <Filename Value="../../rxcontrols/rxdaterangeeditunit.pas"/>
<UnitName Value="rxDateRangeEditUnit"/> <UnitName Value="rxDateRangeEditUnit"/>
<EditorIndex Value="-1"/>
<TopLine Value="66"/>
<CursorPos X="15" Y="82"/>
<UsageCount Value="10"/>
</Unit23>
<Unit24>
<Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<UnitName Value="RxTimeEdit"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="1"/> <EditorIndex Value="1"/>
<TopLine Value="337"/> <TopLine Value="225"/>
<CursorPos Y="359"/> <CursorPos X="22" Y="243"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit23> </Unit24>
<Unit25>
<Filename Value="/usr/local/share/lazarus/lcl/stdctrls.pp"/>
<UnitName Value="StdCtrls"/>
<EditorIndex Value="2"/>
<TopLine Value="819"/>
<CursorPos X="14" Y="831"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit25>
<Unit26>
<Filename Value="/usr/local/share/lazarus/lcl/controls.pp"/>
<UnitName Value="Controls"/>
<EditorIndex Value="3"/>
<TopLine Value="1410"/>
<CursorPos X="15" Y="1422"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit26>
<Unit27>
<Filename Value="/usr/local/share/lazarus/lcl/include/control.inc"/>
<EditorIndex Value="4"/>
<TopLine Value="5039"/>
<CursorPos X="3" Y="5044"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit27>
</Units> </Units>
<JumpHistory Count="30" HistoryIndex="29"> <JumpHistory Count="30" HistoryIndex="29">
<Position1> <Position1>
<Filename Value="unit1.pas"/> <Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="62" Column="5" TopLine="42"/> <Caret Line="188" Column="44" TopLine="181"/>
</Position1> </Position1>
<Position2> <Position2>
<Filename Value="unit1.pas"/> <Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="63" Column="5" TopLine="43"/> <Caret Line="65" Column="15" TopLine="48"/>
</Position2> </Position2>
<Position3> <Position3>
<Filename Value="unit1.pas"/> <Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="64" Column="5" TopLine="44"/> <Caret Line="314" Column="24" TopLine="290"/>
</Position3> </Position3>
<Position4> <Position4>
<Filename Value="unit1.pas"/> <Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="65" Column="5" TopLine="45"/> <Caret Line="60" Column="15" TopLine="58"/>
</Position4> </Position4>
<Position5> <Position5>
<Filename Value="unit1.pas"/> <Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="66" Column="5" TopLine="46"/> <Caret Line="253" Column="22" TopLine="235"/>
</Position5> </Position5>
<Position6> <Position6>
<Filename Value="unit1.pas"/> <Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="68" Column="51" TopLine="47"/> <Caret Line="254" TopLine="235"/>
</Position6> </Position6>
<Position7> <Position7>
<Filename Value="../../rxcontrols/rxdaterangeeditunit.pas"/> <Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="420" Column="66" TopLine="401"/> <Caret Line="65" Column="15" TopLine="48"/>
</Position7> </Position7>
<Position8> <Position8>
<Filename Value="unit1.pas"/> <Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="64" Column="24" TopLine="47"/> <Caret Line="289" TopLine="275"/>
</Position8> </Position8>
<Position9> <Position9>
<Filename Value="../../rxcontrols/rxdaterangeeditunit.pas"/> <Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="384" Column="25" TopLine="364"/> <Caret Line="60" Column="15" TopLine="55"/>
</Position9> </Position9>
<Position10> <Position10>
<Filename Value="../../rxcontrols/rxdaterangeeditunit.pas"/> <Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="71" Column="15" TopLine="68"/> <Caret Line="254" Column="35" TopLine="236"/>
</Position10> </Position10>
<Position11> <Position11>
<Filename Value="../../rxcontrols/rxdaterangeeditunit.pas"/> <Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="297" Column="5" TopLine="281"/> <Caret Line="290" Column="61" TopLine="273"/>
</Position11> </Position11>
<Position12> <Position12>
<Filename Value="../../rxcontrols/rxdaterangeeditunit.pas"/> <Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="296" Column="22" TopLine="279"/> <Caret Line="287" Column="36" TopLine="273"/>
</Position12> </Position12>
<Position13> <Position13>
<Filename Value="../../rxcontrols/rxdaterangeeditunit.pas"/> <Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="290" Column="25" TopLine="274"/> <Caret Line="75" Column="15" TopLine="66"/>
</Position13> </Position13>
<Position14> <Position14>
<Filename Value="../../rxcontrols/rxdaterangeeditunit.pas"/> <Filename Value="unit1.pas"/>
<Caret Line="286" Column="5" TopLine="261"/> <Caret Line="94" Column="5" TopLine="78"/>
</Position14> </Position14>
<Position15> <Position15>
<Filename Value="../../rxcontrols/rxdaterangeeditunit.pas"/> <Filename Value="unit1.pas"/>
<Caret Line="283" TopLine="261"/> <Caret Line="93" Column="5" TopLine="77"/>
</Position15> </Position15>
<Position16> <Position16>
<Filename Value="../../rxcontrols/rxdaterangeeditunit.pas"/> <Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="285" TopLine="261"/> <Caret Line="348" Column="17" TopLine="334"/>
</Position16> </Position16>
<Position17> <Position17>
<Filename Value="../../rxcontrols/rxdaterangeeditunit.pas"/> <Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="286" TopLine="261"/> <Caret Line="65" Column="15" TopLine="54"/>
</Position17> </Position17>
<Position18> <Position18>
<Filename Value="../../rxcontrols/rxdaterangeeditunit.pas"/> <Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="289" TopLine="284"/> <Caret Line="281" Column="3" TopLine="271"/>
</Position18> </Position18>
<Position19> <Position19>
<Filename Value="../../rxcontrols/rxdaterangeeditunit.pas"/> <Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="266" Column="18" TopLine="264"/> <Caret Line="55" Column="16" TopLine="46"/>
</Position19> </Position19>
<Position20> <Position20>
<Filename Value="../../rxcontrols/rxdaterangeeditunit.pas"/> <Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="283" TopLine="264"/> <Caret Line="156" Column="3" TopLine="154"/>
</Position20> </Position20>
<Position21> <Position21>
<Filename Value="../../rxcontrols/rxdaterangeeditunit.pas"/> <Filename Value="/usr/local/share/lazarus/lcl/stdctrls.pp"/>
<Caret Line="289" TopLine="264"/> <Caret Line="831" Column="14" TopLine="819"/>
</Position21> </Position21>
<Position22> <Position22>
<Filename Value="../../rxcontrols/rxdaterangeeditunit.pas"/> <Filename Value="/usr/local/share/lazarus/lcl/controls.pp"/>
<Caret Line="294" TopLine="264"/> <Caret Line="1486" Column="14" TopLine="1477"/>
</Position22> </Position22>
<Position23> <Position23>
<Filename Value="../../rxcontrols/rxdaterangeeditunit.pas"/> <Filename Value="/usr/local/share/lazarus/lcl/controls.pp"/>
<Caret Line="307" TopLine="288"/> <Caret Line="1254" Column="15" TopLine="1243"/>
</Position23> </Position23>
<Position24> <Position24>
<Filename Value="../../rxcontrols/rxdaterangeeditunit.pas"/> <Filename Value="/usr/local/share/lazarus/lcl/include/control.inc"/>
<Caret Line="312" TopLine="288"/> <Caret Line="5064" Column="3" TopLine="5059"/>
</Position24> </Position24>
<Position25> <Position25>
<Filename Value="unit1.pas"/> <Filename Value="/usr/local/share/lazarus/lcl/controls.pp"/>
<Caret Line="62" Column="32" TopLine="55"/> <Caret Line="1422" Column="15" TopLine="1410"/>
</Position25> </Position25>
<Position26> <Position26>
<Filename Value="unit1.pas"/> <Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="88" TopLine="55"/> <Caret Line="156" Column="3" TopLine="154"/>
</Position26> </Position26>
<Position27> <Position27>
<Filename Value="../../rxcontrols/rxdaterangeeditunit.pas"/> <Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="356" TopLine="337"/> <Caret Line="84" TopLine="80"/>
</Position27> </Position27>
<Position28> <Position28>
<Filename Value="unit1.pas"/> <Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="86" Column="15" TopLine="55"/> <Caret Line="352" Column="12" TopLine="336"/>
</Position28> </Position28>
<Position29> <Position29>
<Filename Value="unit1.pas"/> <Filename Value="unit1.pas"/>
<Caret Line="88" TopLine="55"/> <Caret Line="94" Column="5" TopLine="78"/>
</Position29> </Position29>
<Position30> <Position30>
<Filename Value="unit1.pas"/> <Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="82" Column="9" TopLine="55"/> <Caret Line="238" Column="34" TopLine="225"/>
</Position30> </Position30>
</JumpHistory> </JumpHistory>
</ProjectOptions> </ProjectOptions>
@ -357,7 +395,16 @@
</Linking> </Linking>
</CompilerOptions> </CompilerOptions>
<Debugging> <Debugging>
<Exceptions Count="3"> <BreakPoints Count="1">
<Item1>
<Kind Value="bpkSource"/>
<WatchScope Value="wpsLocal"/>
<WatchKind Value="wpkWrite"/>
<Source Value="../../rxcontrols/rxtimeedit.pas"/>
<Line Value="244"/>
</Item1>
</BreakPoints>
<Exceptions Count="4">
<Item1> <Item1>
<Name Value="EAbort"/> <Name Value="EAbort"/>
</Item1> </Item1>
@ -367,6 +414,9 @@
<Item3> <Item3>
<Name Value="EFOpenError"/> <Name Value="EFOpenError"/>
</Item3> </Item3>
<Item4>
<Name Value="EDBEditError"/>
</Item4>
</Exceptions> </Exceptions>
</Debugging> </Debugging>
</CONFIG> </CONFIG>

View File

@ -13,21 +13,21 @@ object Form1: TForm1
Height = 397 Height = 397
Top = 0 Top = 0
Width = 590 Width = 590
ActivePage = TabSheet2 ActivePage = TabSheet3
Align = alClient Align = alClient
TabIndex = 1 TabIndex = 2
TabOrder = 0 TabOrder = 0
object TabSheet1: TTabSheet object TabSheet1: TTabSheet
Caption = 'RxDBDateEdit demo' Caption = 'RxDBDateEdit demo'
ClientHeight = 363 ClientHeight = 366
ClientWidth = 580 ClientWidth = 580
object Label1: TLabel object Label1: TLabel
AnchorSideLeft.Control = Owner AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Owner AnchorSideTop.Control = Owner
Left = 6 Left = 6
Height = 20 Height = 17
Top = 6 Top = 6
Width = 42 Width = 38
Caption = 'Label1' Caption = 'Label1'
ParentColor = False ParentColor = False
end end
@ -36,14 +36,13 @@ object Form1: TForm1
AnchorSideTop.Control = Label1 AnchorSideTop.Control = Label1
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 12 Left = 12
Height = 37 Height = 34
Top = 32 Top = 32
Width = 151 Width = 151
BorderSpacing.Around = 6 BorderSpacing.Around = 6
ButtonWidth = 23 ButtonWidth = 23
Enabled = False Enabled = False
MaxLength = 10 MaxLength = 10
NumGlyphs = 2
PasswordChar = #0 PasswordChar = #0
PopupColor = clWindow PopupColor = clWindow
TabOrder = 0 TabOrder = 0
@ -56,9 +55,9 @@ object Form1: TForm1
AnchorSideTop.Control = RxDBDateEdit1 AnchorSideTop.Control = RxDBDateEdit1
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 6 Left = 6
Height = 20 Height = 17
Top = 75 Top = 75
Width = 85 Width = 77
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'Currency edit' Caption = 'Currency edit'
ParentColor = False ParentColor = False
@ -68,24 +67,20 @@ object Form1: TForm1
AnchorSideTop.Control = Label2 AnchorSideTop.Control = Label2
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 12 Left = 12
Height = 37 Height = 34
Top = 101 Top = 101
Width = 148 Width = 148
Alignment = taCenter Alignment = taCenter
BorderSpacing.Around = 6 BorderSpacing.Around = 6
MaxValue = 0
MinValue = 0
TabOrder = 1 TabOrder = 1
Value = 0
end end
object RxDateEdit1: TRxDateEdit object RxDateEdit1: TRxDateEdit
Left = 12 Left = 12
Height = 37 Height = 34
Top = 160 Top = 160
Width = 80 Width = 80
ButtonWidth = 23 ButtonWidth = 23
MaxLength = 10 MaxLength = 10
NumGlyphs = 2
PasswordChar = #0 PasswordChar = #0
PopupColor = clWindow PopupColor = clWindow
TabOrder = 2 TabOrder = 2
@ -93,9 +88,9 @@ object Form1: TForm1
end end
object Button1: TButton object Button1: TButton
Left = 248 Left = 248
Height = 36 Height = 33
Top = 80 Top = 80
Width = 77 Width = 69
AutoSize = True AutoSize = True
Caption = 'Invalidate' Caption = 'Invalidate'
OnClick = Button1Click OnClick = Button1Click
@ -104,15 +99,15 @@ object Form1: TForm1
end end
object TabSheet2: TTabSheet object TabSheet2: TTabSheet
Caption = 'RxDateRangeEdit demo' Caption = 'RxDateRangeEdit demo'
ClientHeight = 363 ClientHeight = 366
ClientWidth = 580 ClientWidth = 580
object CheckBox1: TCheckBox object CheckBox1: TCheckBox
AnchorSideLeft.Control = TabSheet2 AnchorSideLeft.Control = TabSheet2
AnchorSideTop.Control = TabSheet2 AnchorSideTop.Control = TabSheet2
Left = 6 Left = 6
Height = 24 Height = 23
Top = 6 Top = 6
Width = 88 Width = 84
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'reoMonth' Caption = 'reoMonth'
Checked = True Checked = True
@ -126,8 +121,8 @@ object Form1: TForm1
AnchorSideTop.Control = CheckBox3 AnchorSideTop.Control = CheckBox3
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 159 Left = 159
Height = 37 Height = 34
Top = 96 Top = 93
Width = 262 Width = 262
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Month = 5 Month = 5
@ -140,9 +135,9 @@ object Form1: TForm1
AnchorSideTop.Control = CheckBox1 AnchorSideTop.Control = CheckBox1
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 6 Left = 6
Height = 24 Height = 23
Top = 36 Top = 35
Width = 96 Width = 91
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'reoQuarter' Caption = 'reoQuarter'
Checked = True Checked = True
@ -155,9 +150,9 @@ object Form1: TForm1
AnchorSideTop.Control = CheckBox2 AnchorSideTop.Control = CheckBox2
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 6 Left = 6
Height = 24 Height = 23
Top = 66 Top = 64
Width = 102 Width = 95
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'reoHalfYear' Caption = 'reoHalfYear'
Checked = True Checked = True
@ -170,9 +165,9 @@ object Form1: TForm1
AnchorSideTop.Control = RxDateRangeEdit1 AnchorSideTop.Control = RxDateRangeEdit1
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 6 Left = 6
Height = 20 Height = 17
Top = 139 Top = 133
Width = 92 Width = 87
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'Start of period' Caption = 'Start of period'
ParentColor = False ParentColor = False
@ -183,8 +178,8 @@ object Form1: TForm1
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Label5 AnchorSideRight.Control = Label5
Left = 12 Left = 12
Height = 37 Height = 34
Top = 165 Top = 156
Width = 272 Width = 272
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6 BorderSpacing.Around = 6
@ -197,9 +192,9 @@ object Form1: TForm1
AnchorSideTop.Control = RxDateRangeEdit1 AnchorSideTop.Control = RxDateRangeEdit1
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 296 Left = 296
Height = 20 Height = 17
Top = 139 Top = 133
Width = 85 Width = 79
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'End of period' Caption = 'End of period'
ParentColor = False ParentColor = False
@ -211,8 +206,8 @@ object Form1: TForm1
AnchorSideRight.Control = TabSheet2 AnchorSideRight.Control = TabSheet2
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 302 Left = 302
Height = 37 Height = 34
Top = 165 Top = 156
Width = 272 Width = 272
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6 BorderSpacing.Around = 6
@ -231,6 +226,53 @@ object Form1: TForm1
ParentColor = False ParentColor = False
end end
end end
object TabSheet3: TTabSheet
Caption = 'RxTimeEdit demo'
ClientHeight = 366
ClientWidth = 580
object Label6: TLabel
AnchorSideLeft.Control = TabSheet3
AnchorSideTop.Control = TabSheet3
Left = 6
Height = 17
Top = 6
Width = 65
BorderSpacing.Around = 6
Caption = 'RxTimeEdit'
ParentColor = False
end
object CheckBox4: TCheckBox
AnchorSideLeft.Control = RxTimeEdit1
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = RxTimeEdit1
Left = 154
Height = 23
Top = 35
Width = 104
BorderSpacing.Left = 32
BorderSpacing.Around = 6
Caption = 'Show second'
Checked = True
OnChange = CheckBox4Change
State = cbChecked
TabOrder = 0
end
object RxTimeEdit1: TRxTimeEdit
AnchorSideLeft.Control = Label6
AnchorSideTop.Control = Label6
AnchorSideTop.Side = asrBottom
Left = 12
Height = 34
Top = 29
Width = 104
ShowSecond = True
BorderSpacing.Left = 6
BorderSpacing.Top = 6
CharCase = ecNormal
MaxLength = 8
TabOrder = 1
end
end
end end
object dsData: TDataSource object dsData: TDataSource
DataSet = rxData DataSet = rxData

View File

@ -7,7 +7,7 @@ interface
uses uses
Classes, SysUtils, db, FileUtil, DividerBevel, LResources, Forms, Controls, Classes, SysUtils, db, FileUtil, DividerBevel, LResources, Forms, Controls,
Graphics, Dialogs, StdCtrls, ComCtrls, rxmemds, rxdbdateedit, rxcurredit, Graphics, Dialogs, StdCtrls, ComCtrls, rxmemds, rxdbdateedit, rxcurredit,
rxtooledit, rxDateRangeEditUnit; rxtooledit, rxDateRangeEditUnit, RxTimeEdit;
type type
@ -18,6 +18,7 @@ type
CheckBox1: TCheckBox; CheckBox1: TCheckBox;
CheckBox2: TCheckBox; CheckBox2: TCheckBox;
CheckBox3: TCheckBox; CheckBox3: TCheckBox;
CheckBox4: TCheckBox;
CurrencyEdit1: TCurrencyEdit; CurrencyEdit1: TCurrencyEdit;
dsData: TDatasource; dsData: TDatasource;
Edit1: TEdit; Edit1: TEdit;
@ -27,16 +28,20 @@ type
Label3: TLabel; Label3: TLabel;
Label4: TLabel; Label4: TLabel;
Label5: TLabel; Label5: TLabel;
Label6: TLabel;
PageControl1: TPageControl; PageControl1: TPageControl;
rxData: TRxMemoryData; rxData: TRxMemoryData;
rxDataDOC_DATE: TDateField; rxDataDOC_DATE: TDateField;
RxDateEdit1: TRxDateEdit; RxDateEdit1: TRxDateEdit;
RxDateRangeEdit1: TRxDateRangeEdit; RxDateRangeEdit1: TRxDateRangeEdit;
RxDBDateEdit1: TRxDBDateEdit; RxDBDateEdit1: TRxDBDateEdit;
RxTimeEdit1: TRxTimeEdit;
TabSheet1: TTabSheet; TabSheet1: TTabSheet;
TabSheet2: TTabSheet; TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
procedure Button1Click(Sender: TObject); procedure Button1Click(Sender: TObject);
procedure CheckBox1Change(Sender: TObject); procedure CheckBox1Change(Sender: TObject);
procedure CheckBox4Change(Sender: TObject);
procedure FormCreate(Sender: TObject); procedure FormCreate(Sender: TObject);
procedure RxDateRangeEdit1Change(Sender: TObject); procedure RxDateRangeEdit1Change(Sender: TObject);
private private
@ -89,5 +94,10 @@ begin
RxDateRangeEdit1.Options:=R; RxDateRangeEdit1.Options:=R;
end; end;
procedure TForm1.CheckBox4Change(Sender: TObject);
begin
RxTimeEdit1.ShowSecond:=CheckBox4.Checked;
end;
end. end.

View File

@ -48,17 +48,21 @@ type
FButton: TRxSpinButton; FButton: TRxSpinButton;
FButtonNeedsFocus: Boolean; FButtonNeedsFocus: Boolean;
FOnButtonClick : TNotifyEvent; FOnButtonClick : TNotifyEvent;
FShowSecond: boolean;
FDisplayFormat:string;
procedure CheckButtonVisible; procedure CheckButtonVisible;
function GetButtonHint: TTranslateString; function GetButtonHint: TTranslateString;
function GetTime: TTime; function GetTime: TTime;
procedure SetButtonHint(const AValue: TTranslateString); procedure SetButtonHint(const AValue: TTranslateString);
procedure SetButtonNeedsFocus(const AValue: Boolean); procedure SetButtonNeedsFocus(const AValue: Boolean);
procedure SetShowSecond(AValue: boolean);
procedure SetTime(const AValue: TTime); procedure SetTime(const AValue: TTime);
procedure DoChangeValue(AValue:integer); procedure DoChangeValue(AValue:integer);
procedure WMSetFocus(var Message: TLMSetFocus); message LM_SETFOCUS; procedure WMSetFocus(var Message: TLMSetFocus); message LM_SETFOCUS;
procedure WMKillFocus(var Message: TLMKillFocus); message LM_KILLFOCUS; procedure WMKillFocus(var Message: TLMKillFocus); message LM_KILLFOCUS;
procedure SetEnabled(Value: Boolean); override; procedure SetEnabled(Value: Boolean); override;
protected protected
procedure UpdateEditFormat;
procedure SetParent(AParent: TWinControl); override; procedure SetParent(AParent: TWinControl); override;
procedure DoPositionButton; virtual; procedure DoPositionButton; virtual;
procedure UpClick(Sender: TObject); virtual; procedure UpClick(Sender: TObject); virtual;
@ -66,6 +70,7 @@ type
property ButtonOnlyWhenFocused: Boolean read FButtonNeedsFocus write SetButtonNeedsFocus default False; property ButtonOnlyWhenFocused: Boolean read FButtonNeedsFocus write SetButtonNeedsFocus default False;
property OnButtonClick : TNotifyEvent read FOnButtonClick write FOnButtonClick; property OnButtonClick : TNotifyEvent read FOnButtonClick write FOnButtonClick;
property ButtonHint: TTranslateString read GetButtonHint write SetButtonHint; property ButtonHint: TTranslateString read GetButtonHint write SetButtonHint;
property ShowSecond:boolean read FShowSecond write SetShowSecond;
public public
constructor Create(AOwner: TComponent); override; constructor Create(AOwner: TComponent); override;
destructor Destroy; override; destructor Destroy; override;
@ -74,7 +79,10 @@ type
type type
TRxTimeEdit = class(TCustomRxTimeEdit) TRxTimeEdit = class(TCustomRxTimeEdit)
public
property Text;
published published
property ShowSecond;
property AutoSize; property AutoSize;
property AutoSelect; property AutoSelect;
property Align; property Align;
@ -124,7 +132,6 @@ type
property ShowHint; property ShowHint;
property TabOrder; property TabOrder;
property TabStop; property TabStop;
property Text;
property Visible; property Visible;
end; end;
@ -167,9 +174,20 @@ begin
end; end;
end; end;
procedure TCustomRxTimeEdit.SetTime(const AValue: TTime); procedure TCustomRxTimeEdit.SetShowSecond(AValue: boolean);
begin begin
Text:=TimeToStr(AValue); if FShowSecond=AValue then Exit;
FShowSecond:=AValue;
UpdateEditFormat;
end;
procedure TCustomRxTimeEdit.SetTime(const AValue: TTime);
var
H, M, S, MS: word;
begin
DecodeTime(AValue, H, M, S, MS);
Text:=Format(FDisplayFormat, [H, M, S, MS]);
//Text:=TimeToStr(AValue);
end; end;
procedure TCustomRxTimeEdit.DoChangeValue(AValue: integer); procedure TCustomRxTimeEdit.DoChangeValue(AValue: integer);
@ -222,13 +240,19 @@ begin
H1:=StrToInt(S[1]+S[2]); H1:=StrToInt(S[1]+S[2]);
M2:=StrToInt(S[4]+S[5]); M2:=StrToInt(S[4]+S[5]);
if FShowSecond then
S3:=StrToInt(S[7]+S[8]); S3:=StrToInt(S[7]+S[8]);
P:=GetSelStart; P:=GetSelStart;
if P < 3 then IncHour if P < 3 then
IncHour
else else
if P < 6 then IncMin if P < 6 then
else IncSec; IncMin
Text:=Format('%2.2d'+ DefaultFormatSettings.TimeSeparator +'%2.2d'+ DefaultFormatSettings.TimeSeparator +'%2.2d', [H1, M2, S3]); else
if FShowSecond then
IncSec;
//Text:=Format('%2.2d'+ DefaultFormatSettings.TimeSeparator +'%2.2d'+ DefaultFormatSettings.TimeSeparator +'%2.2d', [H1, M2, S3]);
SetTime(EncodeTime(H1, M2, S3, 0));
SetSelStart(P); SetSelStart(P);
end; end;
@ -251,6 +275,24 @@ begin
FButton.Enabled:=Value; FButton.Enabled:=Value;
end; end;
procedure TCustomRxTimeEdit.UpdateEditFormat;
var
FOldTime: TTime;
begin
FOldTime:=GetTime;
if FShowSecond then
begin
EditMask:='!#0'+DefaultFormatSettings.TimeSeparator + '00'+DefaultFormatSettings.TimeSeparator + '00;1;_';
FDisplayFormat:='%2.2d'+ DefaultFormatSettings.TimeSeparator +'%2.2d'+ DefaultFormatSettings.TimeSeparator +'%2.2d';
end
else
begin
EditMask:='!#0'+DefaultFormatSettings.TimeSeparator + '00;1;_';
FDisplayFormat:='%2.2d'+ DefaultFormatSettings.TimeSeparator +'%2.2d';
end;
SetTime(FOldTime);
end;
procedure TCustomRxTimeEdit.SetParent(AParent: TWinControl); procedure TCustomRxTimeEdit.SetParent(AParent: TWinControl);
begin begin
inherited SetParent(AParent); inherited SetParent(AParent);
@ -294,6 +336,7 @@ end;
constructor TCustomRxTimeEdit.Create(AOwner: TComponent); constructor TCustomRxTimeEdit.Create(AOwner: TComponent);
begin begin
inherited Create(AOwner); inherited Create(AOwner);
FShowSecond:=true;
FButton := TRxSpinButton.Create(Self); FButton := TRxSpinButton.Create(Self);
FButton.FocusControl := Self; FButton.FocusControl := Self;
FButton.Width := Self.Height; FButton.Width := Self.Height;
@ -303,7 +346,7 @@ begin
FButton.OnTopClick := @UpClick; FButton.OnTopClick := @UpClick;
FButton.OnBottomClick := @DownClick; FButton.OnBottomClick := @DownClick;
EditMask:='!#0'+DefaultFormatSettings.TimeSeparator + '00'+DefaultFormatSettings.TimeSeparator + '00;1;_'; UpdateEditFormat;
end; end;
destructor TCustomRxTimeEdit.Destroy; destructor TCustomRxTimeEdit.Destroy;
@ -313,4 +356,6 @@ begin
inherited Destroy; inherited Destroy;
end; end;
initialization
RegisterPropertyToSkip(TRxTimeEdit, 'Text', '', '');
end. end.