Recent

Author Topic: IBX for Lazarus 1.0.5 Released  (Read 7066 times)

tonyw

  • Full Member
  • ***
  • Posts: 174
    • MWA Software
IBX for Lazarus 1.0.5 Released
« on: December 29, 2013, 05:38:20 pm »
IBX for Lazarus 1.0.5 is now available for download from http://www.mwasoftware.co.uk/ibx

This is a very minor update from 1.0.4 to ensure compatibility with fpc 2.6.4. The specific issue is the proposed change to the TBookmark type definition in the DB unit. This was originally expected to be introduced in 2.6.4 and conditional compilation was set accordingly. As this type change has now been postponed, the conditional compilation flags have been updated such that the updated type definition is not expected until compiler version 2.7.x onwards.

exdatis

  • Hero Member
  • *****
  • Posts: 668
    • exdatis
Re: IBX for Lazarus 1.0.5 Released
« Reply #1 on: December 29, 2013, 06:19:40 pm »
Thank you very much!

JD

  • Hero Member
  • *****
  • Posts: 1796
Re: IBX for Lazarus 1.0.5 Released
« Reply #2 on: December 30, 2013, 12:31:17 am »
Thanks a lot for your work. It is nice to see that the component is still being updated.  :D
Windows (10, 7) - Lazarus 2.1/FPC 3.2, Delphi

Indy 10.6 series; mORMot; Zeos 7.3; SQLite, Firebird, PostgreSQL & MariaDB; VirtualTreeView 5.5.3 R1

miquelmatas

  • Jr. Member
  • **
  • Posts: 98
  • Beginner forever.
Re: IBX for Lazarus 1.0.5 Released
« Reply #3 on: December 30, 2013, 11:32:00 am »
thanks for your efforts, Tony.

--
Cheers.
Miquel.

laguna

  • Sr. Member
  • ****
  • Posts: 287
Re: IBX for Lazarus 1.0.5 Released
« Reply #4 on: January 17, 2014, 06:26:14 pm »
DbEdit with assign field TIBBCDField not get even keypress key 'point' with field TIBBCDField.
use IBX for Lazarus 1.0.5 Released
on Sqlite3 is OK keypress event
(Tested on DbGrid is OK)

Given that in Italy using the symbol ',' (comma) as the decimal separator.
The numeric keypad section has the character of the 'point' and not the 'comma'.

In Delphi I used this procedure to convert the pressure of the 'key point' in 'comma':

Code:

Code: [Select]
procedure TfrmCliDocDet.QtaKeyPress(Sender: TObject; var Key: Char);
begin
   // #46 = '.'    #44='.'
   if Key =#46 then key := #44;
end;


In Lazarus this procedure does not work.
When I press the character '.' Keypress event is not invoked.

Please help me!

Thanks
« Last Edit: January 20, 2014, 12:28:26 pm by laguna »

tonyw

  • Full Member
  • ***
  • Posts: 174
    • MWA Software
Re: IBX for Lazarus 1.0.5 Released
« Reply #5 on: January 31, 2014, 11:55:13 am »
Firstly, the area of currency handling is very much in that of inherited code from Delphi IBX, so I am having to understand it myself before giving advice.

My first observation is that the code should be generic to all locales. TIBBCDField inherits from TBCDField (in FPC DB Unit) and that uses system formatting routines to convert from a string to a currency value. That is, if you have set up the locale correctly then a value with ',' as the decimal separator should "work out of the box".

Looking at your post, it seems that you are trying to implement a ',' decimal separator by converting it yourself to a '.' separator, rather than setting the locale. Why? Setting the locale is surely the best way to do this.

As to the KeyPress handler. This is well outside of IBX. For a TDBGrid, the behaviour is inherited from TWinControl and I can see two reasons where why your handler is not being called:

1. The parent form also has a keypress handler and which takes precedence.
2. csNoStdEvents is not in the control style.

My guess is that you should check to see what the parent form is doing.


laguna

  • Sr. Member
  • ****
  • Posts: 287
Re: IBX for Lazarus 1.0.5 Released
« Reply #6 on: February 01, 2014, 03:47:28 pm »
Hello,
The numeric keyboard (102 keys) has the character point and not a comma.
When writing numbers with one hand it is easier to press the point "decimal point" and convert it to a comma.
The KeyPress TBEdit on the strings working properly
The KeyPress TBEdit the currency works in part,  any all  key is pressed is intecettato except the point.

I hope I was clear.
Sorry for my bad English.

Thanks for everything.

 

TinyPortal © 2005-2018