nedich / txquery

Automatically exported from code.google.com/p/txquery
Other
2 stars 2 forks source link

Updated and improved Sources Of TXQuery 2012-09-13, based on r28 [Posted HERE] #32

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
I'm glad to post updated sources for TxQuery as of 2012-09-13
this version include the following:

- Fully thread safe operations.
- Reworked Parser and lexer (Yacc/Lex) to work thread safe and to use an 
individual copy of TFormatsettings record, (avaliable from delphi 7 and up) to 
use thread safe formatting functions like StrToInt, FormatFloat, StrTodate, 
DatetoStr, etc.

- Addded 'ActiveStoredUsage' property to determine if the Stored value of the 
property 'Active' will be used when loading the component at design time and at 
runtime. this prevents the Txquery to automatically open when loadign a project 
at design time or to auto open when running the app and that previously that 
txquery has the 'Active' porperty set to True.

- Added 'FormatSettings' property to configure the Locale setttings, those will 
be used with the parser and the SQl functions.

- The DateFormat and DateSeparator (recently added) properties will be soon 
removed, because now the Formatsettings.Parser.ShortDateFormat and 
Formatsettings.Parser.DateSeparator properties will do the work, so please 
migrate your values to that properties.

My default the Locale options that the prasers uses to detect date values and 
float values that are specified directly inside an sql script are:

Formatsettings.Parser.ShortDateFormat Formatsettings.Parser.DateSeparator
Formatsettings.Parser.ThousandSeparator
Formatsettings.Parser.DecimalSeparator

The default values for those properties are specified in the file 
QFormatSettings.pas at the 'ResourceStrings' section, you can change them 
whenever you want. Just make sure that the 'DateSeparator' Char have to be the 
same the you use in the 'ShortDateFormat' string to separate the Moths,days and 
years, ex: for a ShortStringFormat='yyyy-mm-dd', the 'DateSeparator' must be 
'-'.

- Fixed some memory leaks.
- Improvements in the source code execution flow
- Improved the function 'Round', it now acccepts a second para to determine the 
number of decimals to round. Ex: Round(12345.6789,2) will result in 12345.68

- Fixed some TestCases
- Fixed some issues with the Demo app.

I have only tested them in delphi XE and should wpork with delphi 7 and newer

Please make your tests and have fun

Regards
Francisco Armando Dueñas Rodriguez

Original issue reported on code.google.com by fdue...@gmail.com on 14 Sep 2012 at 12:47

Attachments:

GoogleCodeExporter commented 9 years ago
A change I made to the xq_flag.inc file made unable to set breakpoints in the 
txquery sources I'm atatching the inc file corrected, please replace the file 
in the sources folder and in the 'common' folder if you use it

Original comment by fdue...@gmail.com on 14 Sep 2012 at 3:15

Attachments: