Recent

Author Topic: TDBDateEdit  (Read 15628 times)

LacaK

  • Hero Member
  • *****
  • Posts: 691
TDBDateEdit
« on: December 17, 2014, 12:03:16 pm »
There was added in revision 47208 of Lazarus TRUNK new db-aware component TDBDateEdit, data-aware TDateEdit (TDateEdit is on Misc tab and descends from TEditButton)

As far as there is no icon for this new component, I would like ask if here is somebody who can prepare it?
(as I am not strong in graphics)

howardpc

  • Hero Member
  • *****
  • Posts: 4144
Re: TDBDateEdit
« Reply #1 on: December 17, 2014, 03:39:03 pm »
I am not strong on graphics either, but the attached might tide you over until someone more skilled (hopefully) provides something better.

LacaK

  • Hero Member
  • *****
  • Posts: 691
Re: TDBDateEdit
« Reply #2 on: December 18, 2014, 10:48:20 am »
Very good, thank you very much !
Can please somebody with commit rights to Lazarus SVN copy this file into:
images/components
(or where it is needed to copy) ?
Thanks

patyi

  • Full Member
  • ***
  • Posts: 168
Re: TDBDateEdit
« Reply #3 on: December 19, 2014, 09:36:26 am »
Hi Lacak !

TDBDateEdit has conflict by name with RXNEW controls TDBDateEdit !  >:(
One of them have to be renamed ... RxNew has TDBDateEdit for long time before you added yours.   8-)

For my opinion the TDBDateTimePicker by Zoran is better solution for date and time input  !  :D
(witch is now part of components provided with Lazarus trunk, I'd like to be installed by default ...)

LacaK

  • Hero Member
  • *****
  • Posts: 691
Re: TDBDateEdit
« Reply #4 on: December 21, 2014, 07:50:37 pm »
Hi patyi,
I do not noticed your reply here, sorry.

I was not aware of TDBDateTimePicker, where it is ? I am looking into TRUNK version of dbctrls.pp and I do not see such component there ?
Aha now I find it in components/datetimectrls ... so it is not a part of LCL

But is this component installed by default in IDE ? It seems, that installation of additional package is required, which is not good for many users, which expects, DB-aware controls already on Data Controls tab. So I prefer solution, where DB-aware Date component is part of LCL.

I agree, that Rx Lib was first in using name TDBDateEdit, but I see very illlogicall, that it still uses this name. It seems te me very inconsistent beside other names like:
TRxDBTimeEdit, TRxDBCalcEdit, TRxDBCurrEdit, TRxDBComboBox, TRxDBGrid
IMHO RX Lib should start using TRxDBDateEdit and make TDBDateEdit as alias for them to provide temporary migration path.
If now is reason for such step then IMO it is right way to do so on RX Lib side ...
I do not know if ther is any maintainer of Rx Lib which can be asked  ?

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4459
  • I like bugs.
Re: TDBDateEdit
« Reply #5 on: December 21, 2014, 09:09:00 pm »
But is this component installed by default in IDE ? It seems, that installation of additional package is required, which is not good for many users, which expects, DB-aware controls already on Data Controls tab. So I prefer solution, where DB-aware Date component is part of LCL.

It is part of bigide ("make bigide" at cmd line) and thus will be installed by default in the next release. Thus you can consider it as part of LCL.
It is a separate package only for historical reasons. Zoran used to maintain the same package already elsewhere. Maybe we should move the components to LCL package but it really does not make a big difference.

Quote
I agree, that Rx Lib was first in using name TDBDateEdit, but I see very illlogicall, that it still uses this name. It seems te me very inconsistent beside other names like:
TRxDBTimeEdit, TRxDBCalcEdit, TRxDBCurrEdit, TRxDBComboBox, TRxDBGrid
IMHO RX Lib should start using TRxDBDateEdit and make TDBDateEdit as alias for them to provide temporary migration path.
If now is reason for such step then IMO it is right way to do so on RX Lib side ...
I do not know if ther is any maintainer of Rx Lib which can be asked  ?

I must agree with you on this one. The Rx component should be renamed TRxDBDateEdit. The library in CCR is already a modified port of the original library, modifying it a bit more should be OK.
According to this page :
  http://wiki.lazarus.freepascal.org/Using_the_Lazarus-ccr_SVN_repository
the maintainers are Aleksy Lagunov and Andrew Ivanov.
They are not very active. In fact most CCR packages lack proper maintenance. Even the bug reports are ignored for this reason. The rule is that a package should not be modified without permission from its maintainer. The maintainers fleed and thus most of CCR is doomed for stagnation for eternity! We must loosen the rules somehow.
If somebody provides a patch to rename the Rx component, I promise to apply it. Put it in bug-tracker, otherwise I may not notice it.
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux 64-bit.

LacaK

  • Hero Member
  • *****
  • Posts: 691
Re: TDBDateEdit
« Reply #6 on: December 22, 2014, 04:00:24 pm »
I have created bug report: http://bugs.freepascal.org/view.php?id=27200 with attached patch.
I do not know if it is worth to add some compiler define into rx.inc or if there is way how to register any alias name for component (something like RegisterClassAlias), so we can conditionaly register also old TDBDateEdit as alias for TRxDBDateEdit.

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11383
  • FPC developer.
Re: TDBDateEdit
« Reply #7 on: December 22, 2014, 04:06:47 pm »
  http://wiki.lazarus.freepascal.org/Using_the_Lazarus-ccr_SVN_repository
the maintainers are Aleksy Lagunov and Andrew Ivanov.

Or are those the original authors? The RX page has a remark about "how to contact" them since 2006.

http://wiki.lazarus.freepascal.org/RXfpc

wp

  • Hero Member
  • *****
  • Posts: 11858
Re: TDBDateEdit
« Reply #8 on: December 22, 2014, 06:54:17 pm »
alex75 (Aleksy Lagunov?) is very active with rx, he did a lot of commits to svn during this year. But I am not sure if he reads the forum regularly.

LacaK

  • Hero Member
  • *****
  • Posts: 691
Re: TDBDateEdit
« Reply #9 on: December 23, 2014, 09:29:16 am »
alex75 (Aleksy Lagunov?) is very active with rx, he did a lot of commits to svn during this year.
Yes, right, I also noticed it when I have checking SVN

But I am not sure if he reads the forum regularly.
or bug tracker, where I also reported bug

I have found email to Aleksey in WhatsNew.txt, so I can try to contact him.

But now I am not sure what to do. As far as there is already TDBDateTimePicker which will be part of Lazarus IDE in next release (1.4? I think)
I do not know TDBDateTimePicker, but I expect, that it will provide similar functionality like TDBDateEdit.
(btw what is difference between TDateTimePicker and TDateEdit?)
If it is so, then it is redundant have two components with same functionality on same tab "Data Controls", does not ?
(TDBDateTimePicker is based on platform independent TDateTimePicker (components/datetimectrls/datetimepicker unit) and TDBDateEdit is based od TDateEdit (editbtn unit)

I have this idea:
- move datetimepicker unit to LCL/include and include it by comctrls.pp (Delphi has also TDateTmePicker as part of ComCtrls)
- move dbdatetimepicker unit to LCL/include and include it by DBExtCtrls.pp
- remove components/datetimectrls
« Last Edit: December 23, 2014, 09:43:34 am by LacaK »

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4459
  • I like bugs.
Re: TDBDateEdit
« Reply #10 on: December 23, 2014, 11:25:47 am »
alex75 (Aleksy Lagunov?) is very active with rx, he did a lot of commits to svn during this year.

Right, now I noticed the commits, too. He is otherwise silent, I made a wrong conclusion.


I have found email to Aleksey in WhatsNew.txt, so I can try to contact him.

But now I am not sure what to do. As far as there is already TDBDateTimePicker which will be part of Lazarus IDE in next release (1.4? I think)
I do not know TDBDateTimePicker, but I expect, that it will provide similar functionality like TDBDateEdit.
(btw what is difference between TDateTimePicker and TDateEdit?)
If it is so, then it is redundant have two components with same functionality on same tab "Data Controls", does not ?
(TDBDateTimePicker is based on platform independent TDateTimePicker (components/datetimectrls/datetimepicker unit) and TDBDateEdit is based od TDateEdit (editbtn unit)

Does this mean TDBDateEdit is not needed and should be removed? I am not working with DB controls at all personally and I must trust what others say.
The component was added by Jesus recently, you must discuss with him by personal mail or mailing list. I don't think he reads this.


Quote
I have this idea:
- move datetimepicker unit to LCL/include and include it by comctrls.pp (Delphi has also TDateTmePicker as part of ComCtrls)
- move dbdatetimepicker unit to LCL/include and include it by DBExtCtrls.pp
- remove components/datetimectrls

Why is it so important for you? As explained, the package is installed by default (bigide) and you will not notice difference compared to LCL components.
Your idea is basically good but it would require administrative work again from Vincent / Marc / Zoran.
Zoran now has commit access to his package dir.
BTW, Zoran has not updated his component wiki page to mention that they have moved to Lazarus repo, but that is another issue.
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux 64-bit.

LacaK

  • Hero Member
  • *****
  • Posts: 691
Re: TDBDateEdit
« Reply #11 on: December 23, 2014, 07:58:13 pm »
Does this mean TDBDateEdit is not needed and should be removed?
Yes it is one solution, but I do not want do fast conclusions ...

The component was added by Jesus recently, you must discuss with him by personal mail or mailing list.
Yes it was added by Jesus, but on my patch in bug #15189  :)

Why is it so important for you? As explained, the package is installed by default (bigide) and you will not notice difference compared to LCL components.
:) Good question.
It is only my preference, I understand that functionality is not affected by this change.
And I like better have all DB-aware components in one place, either in DBCtrls or DBExtCtrls.
It is IMO more clear and compact, than have components scattered in more independent directories.
(sometimes change underlying DB architecture like TDataSource or TFieldDataLink which causes that components must be updated ... then it is better have them somehow centralised)

Your idea is basically good but it would require administrative work again from Vincent / Marc / Zoran.
Zoran now has commit access to his package dir.
Yes, but I believe, that it is not too much work for somebody experienced ...   :)

Zoran

  • Hero Member
  • *****
  • Posts: 1829
    • http://wiki.lazarus.freepascal.org/User:Zoran
Re: TDBDateEdit
« Reply #12 on: December 24, 2014, 08:01:47 pm »
BTW, Zoran has not updated his component wiki page to mention that they have moved to Lazarus repo, but that is another issue.

Now I have added this note to the top of the old page:
From Lazarus version 1.4, this package should be replaced with DateTimeCtrls Package, which is included in Lazarus distribution.

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4459
  • I like bugs.
Re: TDBDateEdit
« Reply #13 on: January 02, 2015, 06:09:15 pm »
Does this mean TDBDateEdit is not needed and should be removed?
Yes it is one solution, but I do not want do fast conclusions ...

What shall we do with this? I promised to apply the patch for Rx lib. Then things turned out to be more complicated, the maintainer of Rx turned out to be active although he has not yet reacted to the bug report.
The installation problem still exists and should be fixed ASAP. I see 2 ways:
1. I apply the Rx patch and inform Lagunov Aleksey about it.
2. Somebody removes TDBDateEdit.

It is your call now LacaK. TDBDateEdit was your creation.
If you select number 1., then let me know and I will do it.
If you select number 2., then co-operate with Jesus to get it done.
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux 64-bit.

kapibara

  • Hero Member
  • *****
  • Posts: 610
Re: TDBDateEdit
« Reply #14 on: January 02, 2015, 10:51:19 pm »
My 2 cents: Rx TDBDateEdit should be renamed to TRxDBDateEdit to have a name that is consistent with the other Rx components.

Personally I use TDBDateTimePicker. Haven't compared it with TDBDateEdit yet, and because of the name conflict its not possible without uninstalling the RX package.
Lazarus trunk / fpc 3.2.2 / Kubuntu 22.04 - 64 bit

 

TinyPortal © 2005-2018