This page contains the version history for the Fuzzy Logic Component Library. The latest patches and updates are available on our Support Page.
Note: THE FLCL uses the RiverSoftAVG Common Classes Library. Please see the RCCL Version History for additional details.
-------------------------------------------------------------------
November 19, 2023 Version 6.3
- Updated for RAD Studio 12 Athens Support
- Removed "Result := nil" statement in EvalExpression function that
caused a hint
-------------------------------------------------------------------
July 23, 2023 Version 6.2.1
- Updated for RAD Studio 11.3 Alexandria Support
-------------------------------------------------------------------
September 19, 2021 Version 6.2
- Updated for RAD Studio 11 Alexandria Support
-------------------------------------------------------------------
June 10, 2020 Version 6.1.1
- Updated for RAD Studio 10.4 Sydney Support
- Changed {$IFNDEF NEXTGEN}Free statements to {$IFNDEF AUTOREFCOUNT}Free
-------------------------------------------------------------------
November 25, 2018 Version 6.1
- Updated for RAD Studio 10.3 Rio Support
-------------------------------------------------------------------
January 27, 2018 Version 6.0.2
- Recompiled because of RiverSoftAVG Common Classes Library Changes
-------------------------------------------------------------------
August 13, 2017 Version 6.0.1
- Recompiled for RAD Studio 10.2.1 Tokyo Support
-------------------------------------------------------------------
April 2, 2017 Version 6.0
- Added RAD Studio 10.2 Tokyo Support
- Added Linux Support
-------------------------------------------------------------------
January 8, 2017 Version 5.9.3
- Recompiled because of RiverSoftAVG Common Classes Library Changes
-------------------------------------------------------------------
November 6, 2016 Version 5.9.2
- Updated documentation for the FuzzyLogic.pas unit to use the
full power of Documentation Insight (originally, the unit
was documented using the lite version which lacked features)
- Updated documentation for the FuzzyInterfaces.pas unit to use the
full power of Documentation Insight (originally, the unit
was documented using the lite version which lacked features)
- Updated documentation for the IFuzzyLogic.pas unit to use the
full power of Documentation Insight (originally, the unit
was documented using the lite version which lacked features)
- Updated documentation for the RSFuzzyLogicParser.pas unit to use the
full power of Documentation Insight (originally, the unit
was documented using the lite version which lacked features)
-------------------------------------------------------------------
October 9, 2016 Version 5.9.1
- Recompiled because of RiverSoftAVG Common Classes Library Changes
-------------------------------------------------------------------
July 24, 2016 Version 5.9
- Reduced size of installer by removing RiverSoftAVG Common Classes Library
- Updated installer to download RiverSoftAVG Common Classes Library as needed
- Updated installer creation procedure to automatically generate
version numbers and be encrypted
-------------------------------------------------------------------
June 5, 2016 Version 5.8.2
- Recompiled because of RiverSoftAVG Common Classes Library Changes
-------------------------------------------------------------------
May 22, 2016 Version 5.8.1
- Recompiled because of RiverSoftAVG Common Classes Library Changes
-------------------------------------------------------------------
April 24, 2016 Version 5.8
- Added RAD Studio 10.1 Berlin Support
- Removed Directory Exists warning from installer
-------------------------------------------------------------------
March 13, 2016 Version 5.7.6
- Fixed Controls being grayed out in Delphi Palette when target was iOS 64-bit
-------------------------------------------------------------------
March 5, 2016 Version 5.7.5
- Recompiled because of RiverSoftAVG Common Classes Library Changes
-------------------------------------------------------------------
February 5, 2016 Version 5.7.4
- Recompiled because of RiverSoftAVG Common Classes Library Changes
- Recompiled for Delphi 10 Seattle Update 1
- Updated Faucet demo to use USFormatSettings for StrToFloat so
that it will work internationally
- Updated Faucet demo (FMX) to use USFormatSettings for StrToFloat so
that it will work internationally
-------------------------------------------------------------------
January 10, 2016 Version 5.7.3
- Recompiled because of RiverSoftAVG Common Classes Library Changes
-------------------------------------------------------------------
December 6, 2015 Version 5.7.2
- Recompiled because of RiverSoftAVG Common Classes Library Changes
- Fixed bug in installer which would not set the library path correctly
for iOS64 in XE8+
-------------------------------------------------------------------
November 16, 2015 Version 5.7.1
- Recompiled because of RiverSoftAVG Common Classes Library Changes
-------------------------------------------------------------------
September 6, 2015 Version 5.7
- Added RAD Studio 10 Seattle Support
-------------------------------------------------------------------
June 14, 2015 Version 5.6.3
- Recompiled because of RiverSoftAVG Common Classes Library Changes
-------------------------------------------------------------------
May 17, 2015 Version 5.6.2
- Recompiled because of RiverSoftAVG Common Classes Library Changes
-------------------------------------------------------------------
May 3, 2015 Version 5.6.1
- Recompiled because of RiverSoftAVG Common Classes Library Changes
-------------------------------------------------------------------
April 19, 2015 Version 5.6
- Added RAD Studio XE8 Support
-------------------------------------------------------------------
February 15, 2015 Version 5.5.5
- Fixed TFuzzySet.GetCompatibilityIndex method to return the
maximum truth value (not the average)
- Added Project Risk Demo
-------------------------------------------------------------------
January 04, 2015 Version 5.5.4
- Recompiled because of RiverSoftAVG Common Classes Library Changes
-------------------------------------------------------------------
December 28, 2014 Version 5.5.3
- Recompiled because of RiverSoftAVG Common Classes Library Changes
-------------------------------------------------------------------
November 16, 2014 Version 5.5.2
- Recompiled for RAD Studio XE7 Update 1
-------------------------------------------------------------------
September 22, 2014 Version 5.5.1
- Recompiled because of RiverSoftAVG Common Classes Library Changes
-------------------------------------------------------------------
September 7, 2014 Version 5.5
- Added RAD Studio XE7 Support
- Changed packages to use LibSuffix.inc exclusively (no more LibSuffix120.inc,
LibSuffix130.inc, etc)
-------------------------------------------------------------------
July 6, 2014 Version 5.4
- Added Appmethod (Object Pascal) Support
- Recompiled for Delphi XE6 Update 1
- Recompiled because of RiverSoftAVG Common Classes Library Changes
-------------------------------------------------------------------
June 8, 2014 Version 5.3.1
- Changed code to not use "implements" keyword when NO_IMPLEMENTS
keyword is defined; NEXTGEN and OSX (XE5) internal errors occur
otherwise
-------------------------------------------------------------------
April 27, 2014 Version 5.3
- Added RAD Studio XE6 Support
-------------------------------------------------------------------
March 30, 2014 Version 5.2.2
- Recompiled because of RiverSoftAVG Common Classes Library Changes
-------------------------------------------------------------------
February 9, 2014 Version 5.2.1
- Recompiled because of RiverSoftAVG Common Classes Library Changes
-------------------------------------------------------------------
January 19, 2014 Version 5.2
- Recompiled for RiverSoftAVG Common Classes Library Changes
-------------------------------------------------------------------
September 22, 2013 Version 5.1
- Added RAD Studio XE5 Support
- Added Android Support
- Validated library on physical Android Device
-------------------------------------------------------------------
August 25, 2013 Version 5.0.1
- Added missing *.inc files to installer so that components can be
built
-------------------------------------------------------------------
August 18, 2013 Version 5.0
- Validated library on physical iOS Device
- Changed code to call DisposeOf on AUTOREFCOUNT, not NEXTGEN
-------------------------------------------------------------------
July 29, 2013 Version 5.0b1
- Recompiled for RiverSoftAVG Common Classes Library Changes
-------------------------------------------------------------------
July 21, 2013 Version 5.0b0
- Added RAD Studio XE4 Support
- Added iOS Support
- Dropped RAD Studio 2009 Support
- Refactored classes to use generics versions of lists and hash tables instead
of classes from Contnrs.pas, GLists.pas, InterfaceCollections.pas,
Structures.pas, and GHashTable.pas
- Refactored Packages (dpk) to use $IFDEFs with $LIBVERSION
to create multiple compiled versions for each version of Delphi
from the same package file
- Renamed FuzzyLogic.dpk to RSFuzzyLogic.dpk
- Replaced Free calls with DisposeOf for NEXTGEN compiler
- Removed Free calls for NEXTGEN compiler
- Added Fuzzy Ratings Mobile Demo App
- Added [Weak] Attribute to owner objects references for
Automatic Reference Counting (ARC) compiler
- Removed InterfaceCollections.pas unit and redefined
TIStack=TStack<IFuzzyStreamToken>
- Changed TFuzzyLogicTokenStream.PutBackToken method signature to
pass interface by const
Note: This release dramatically changed support classes in order to
better support XE4 Mobile compiler features: Automatic Reference Counting,
TList deprecation, and suggested deprecation of Pointer type. It makes
heavy use of generics instead of older TList-type and TGHashTable classes
which used pointers. A lot of effort has gone into making the new classes
support the same methods and properties of the old classes. However,
there may be changes needed to be made to your code. Of special note:
- InterfaceCollections unit has been replaced with RSInterfaceCollections unit
- Contnrs.pas, GLists.pas, and GHashTable.pas have been replaced with
System.Generics.Collections.pas or RSGenerics.Collections.pas
The old units are still available but are not used.
-------------------------------------------------------------------
March 24, 2013 Version 4.2.1
- Changed occurrences of #13#10 to use sLineBreak constant
-------------------------------------------------------------------
January 27, 2013 Version 4.2
- Changed Evaluation version code allowing
no restrictions, except only for VCL and FMX Win32/64 and
displaying nag screen when Delphi is not running
- Updated for Rad Studio XE3, Update 2
-------------------------------------------------------------------
November 25, 2012 Version 4.1
- Updated Help File including changing popup links to
normal links and updated hierarchy topics
- Added TFzyGetHelpEditor component editor to display FuzzyLogic component help
-------------------------------------------------------------------
September 16, 2012 Version 4.0
- Added RAD Studio XE3 Support
-------------------------------------------------------------------
June 03, 2012 Version 4.0 EEP3
- Updated for Rad Studio XE2, Update 4, HotFix 1
-------------------------------------------------------------------
April 22, 2012 Version 4.0 EEP2
- Updated for Rad Studio XE2, Update 4
- Recompiled for RiverSoftAVG Common Classes Library Changes
- Updated readme.rtf
-------------------------------------------------------------------
March 17, 2012 Version 4.0 EEP1
- Added Support for FireMonkey
- Added Shower (FMX) Demo project
- Fixed bug in Shower Demo where multiple ShowMessages would
display until the user clicked OK when simulation failed
-------------------------------------------------------------------
December 11, 2011 Version 3.0
- Added support for Rad Studio XE2, Win32 and Win64
-------------------------------------------------------------------
September 29, 2010 Version 2.9
- Added support for Rad Studio XE
-------------------------------------------------------------------
Sept 7, 2009 Version 2.8.1
- Added support for Delphi 2010
- Changed help file(s) from WinHelp to HTML Help. Note that there
is a known issue with the display to Delphi links (available with
WinHelp but not HTML Help)
-------------------------------------------------------------------
Jan 31, 2009 Version 2.8
- Added support for Delphi 2009 (Final)
- Added TIFSValues.ToString method and TIFuzzySets.ToString methods,
which just call their owners' ToString methods, to work around
a D2009 "implements" problem
-------------------------------------------------------------------
Dec 21, 2008 Version 2.8B1
- Changed Install Directory to C:\Comps\RiverSoftAVG to reduce chances
of too long path names (on new installs to a machine)
- Added optional TEncoding parameter to ParseXXX methods for D2009
- Added optional TEncoding parameter to TFuzzyLogicTokenStream
constructor for D2009
- Added optional TEncoding parameter to TRSFuzzyLogicParser.CreateStream
protected method for D2009
- Added optional Encoding parameter to IFuzzyParser.ParseFuzzySet
and ParseFuzzyVariable methods
-------------------------------------------------------------------
Nov 23, 2008 Version 2.8B0
- Added support for Delphi 2009
- Changed TFuzzyLogicTokenStream.FinishToken method to use
new IsNumberChar (RSCommon) function instead of set expression
- Modified classes to avoid warnings about collisions with
new methods added to TObject (D2009/.NET)
- Changed AnsiChar back to Char, to align with D2009 fixes
in TGTextStream
- Changed TFuzzyLogicTokenStream.SkipInLineSpaces to use
new GetChar method to avoid any assumptions about 1-byte characters
- Added hack in TIFuzzySet and TIFuzzyVariable for D2009 to get
around compiler error
-------------------------------------------------------------------
Feb 09, 2008 Version 2.7.1
- Recompiled to be compatible with RiverSoftAVG Common Classes
Library 3.6.2
-------------------------------------------------------------------
Nov 03, 2007 Version 2.7
- Released as Fuzzy Logic Component Library Standalone version
- Fixed TFuzzySet.Expression assignment in TFuzzySet.CreateCrispValue
method (changed FormatFloat call to Format call)
- Added 2 new TFuzzyVariable.AssertRule methods
- Added TFuzzyVariable.GetCorrelationStrength
- Modified TIFuzzySet.SetValues method to explicitly call Assign(TPersistent),
otherwise, the RAD Studio 2007 .NET compiler was getting confused
- Fixed TIFuzzyLogic component to parse its Strings property
after the form is loaded
- Added 2 new TIFuzzyVariable.AssertRule methods
- Added TIFuzzyVariable.GetCorrelationStrength
- Fixed TRSFuzzyLogicParser.PrettyPrint(TFuzzySet, Boolean) method
to use FuzzySet.Expression when FuzzySet.Name = ''
- Added 2 new AssertRule methods to IFuzzyVariable interface
- Added GetCorrelationStrength method to IFuzzyVariable interface
- Added Faucet Control Demo
- Updated Help File
-------------------------------------------------------------------
Oct 06, 2007 Version 2.6.1
- Added RAD Studio 2007 .NET Support
- Added RAD Studio 2007 support to installer
-------------------------------------------------------------------
June 23, 2007 Version 2.6
- Added Delphi 2007 support to installer
- Fixed TFuzzyLogic.AddAutoTerms method to properly set the new
fuzzy sets' expression property
- Added AddAutoTerms method to TIFuzzyLogic
- Called AddAutoTerms in TIFuzzyLogic.VariableAdded method
- Added support for the for-in language construct in TFuzzyVariableTableEnumerator,
- Added support for the for-in language construct in TFuzzySetValues
- Added support for the for-in language construct in TFuzzySets
- Added support for the for-in language construct in TFuzzyVariables
- Improved installer
-------------------------------------------------------------------
Feb 8, 2006 Version 2.5 RELEASE
- Official 2.5 release
-------------------------------------------------------------------
Dec 11, 2005 Version 2.5b6
- Official release for Delphi 2006
-------------------------------------------------------------------
Nov 8, 2005 Version 2.5b5
- Installers have had a massive overhaul
- Compiled files are now installed to <INSTALLDIR>\Bin\W32\Dxx or
<INSTALLDIR>\Bin\NET\Dxx and path is updated
WARNING: BE SURE TO UNINSTALL PREVIOUS FILES WHICH MAY BE IN
$(DELPHI)\Projects\Bpl DIRECTORY
- Attempts to detect if evaluation or full versions are being
installed and warns about incompatibilities
- Smarter updates of registry
- Added missing registry updates (Package Search Path, Namespace Search Path, etc)
- Fixed Missing Component Icons (.NET)
-------------------------------------------------------------------
Sept 26, 2005 Version 2.5b4
- Changed Win32 VCL package numbers to 2.5
- Added support to classes for interface methods that
use underscore in order to get rid of annoying .NET hint
-------------------------------------------------------------------
Aug 31, 2005 Version 2.5b3
- Modified properties and added accessor methods of interfaces to
use underscore in order to get rid of annoying .NET hint
-------------------------------------------------------------------
July 2005 Version 2.5 Beta 2
- Added FuzzyCorrelationNameList and FuzzyCorrelationSuffixNameList
constants to FuzzyConsts.pas
- Added FuzzyInferenceNameList and FuzzyInferenceSuffixNameList
constants to FuzzyConsts.pas
-------------------------------------------------------------------
June 2005 Version 2.5 Beta 0
- Modified most files to:
- Include RSDefines.inc
- Include RSConstants.pas
- Changed all methods and properties that use IUnknown interface to use
IInterface interface. Added IInterface interface for Delphi 5 support
- Changed all QueryInterface calls to use Supports functions.
- Removed reference counting code for .NET (not needed)
- Changed ToString properties to AsString and GetToString methods to
ToString to sync better with .NET (in which all objects have ToString
method)
- Changed Tag properties to be of TRSTag type (Win32=Integer;.NET=Variant)
- Introduced TxxxPersistent class to get around a delphi
compiler bug with class helpers (QC report #11019)
- Added inherited Creates calls to constructors for
compatibility with .NET
- Deleted AfterConstruction and BeforeDestruction methods (for .NET)
- Extracted icons from DCR files to create assembly bitmap files
for design-time icons in .NET
- Conditional compiled IUnknown methods (_addref, _release...)
because they are not needed with .NET
RiverSoftAVG Fuzzy Logic Component Library
- Modified IFuzzyLogic.pas
- Added LOTS of methods to TIFuzzySet because .NET does not support
"implements" keyword
- Added LOTS of methods to TIFuzzyVariable because .NET does not support
"implements" keyword
- Changed hash table pointer references to use TRSPointerType
- Had to resurface TFuzzyStreamTokenList methods because of
Delphi.NET compiler bug (QC report #)
- Modified FuzzyLogic.pas
- Changed VerifyAll protected method to use TFuzzyStreamTokenTypes
instead of TIntegerSet (needed for .NET) and changed all calls
to VerifyAll
- Changed overloaded constructors to NOT call other constructor
(not supported well in Delphi.NET)
- Moved EFzyException to FuzzyConsts
- Modified FuzzyConsts.pas
- Moved some constants to RSConstants.pas
- Moved EFzyException to FuzzyConsts and inherit from ERSException
-------------------------------------------------------------------
January 2005 Version 2.14
- Updated for Delphi 2005 (Win32)
- Modified source files to work with .NET (Incomplete)
- Renamed GCollections package to RSCommon package for Delphi 2005 ONLY
Known Issues (Does not affect IECS):
Fuzzy Calculator: very hot or cold works but hot or cold does not
Var Editor Frame is incomplete
-------------------------------------------------------------------
June 2004 Version 2.13
- Fixed bug in setting TIFuzzyLogic.Strings property at design time
- Fixed the TFuzzyLogicTokenStream to use its xxxChar properties
correctly (was using constants instead sometimes)
- Fixed parsing error in ParseFuzzyVariable and ParseFuzzyVariableIntf
where last close parenthesis would be incorrectly put back
onto token stack
- Correctly set TIFuzzyLogic.ItemClass property in constructor
- Finished Help File
-------------------------------------------------------------------
May 2004 Version 2.12
- Added ItemByName property to TFuzzySets and TFuzzyVariables objects
- Added SUnknownFuzzyVarName and SUnknownFuzzySetName resource
strings to FuzzyConsts unit
- Fixed installers (wasn't properly copying the packages)
-------------------------------------------------------------------
March 2004 Version 2.11
- Installation script is much smarter about managing the different Delphi versions
- Moved TFuzzySet.Defined property to published visibility
- Set Defined to True if design time
- Improved Help File
- Reintroduced FuzzyOperatorMinThreshold into TIFuzzySet (caused
access violation)
- Fixed TCustomFuzzyLogic.Strings property to properly update
itself when the underlying fuzzy variables have changed
- Added ToString and ValuesToString properties and GetToString and
GetValuesToString methods to TFuzzySet
- Added ToString property and GetToString method to TFuzzyVariable
- Moved TFuzzySet.Defined property to published visibility
- Set Defined to True if design time
- Added UpdateStrings method to TCustomFuzzyLogic
- Overrode UpdateStrings method in TFuzzyLogic
- Fixed Parse method in TFuzzyLogic (actually the code for UpdateStrings)
- Added Parse and ParseFuzzyLogic methods to TCustomFuzzyLogicParser
- Fixed Parsing error for s and z functions in CalcFuzzyFunction
method of TCustomFuzzyLogicParser
- Added DefuzzifyValue property and CreateCrispValue to IFuzzySet interface
- Added ParseFuzzyLogic protected methods
- Fixed Bug in PrettyPrint of fuzzy variables
- Included FuzzyHelper.pas in Fuzzy Logic Installation, needed for some
demos
Known Issues:
- Design-time setting of fuzzy sets could be better
-------------------------------------------------------------------
January 2004 Version 2.1B
- Added FuzzyLogicReg file and Icon
- Added TCustomFuzzyLogicParser component
- Added RSFuzzyLogicParser unit, with TFuzzyLogicTokenStream class and
TRSFuzzyLogicParser component
- Added FuzzyHelper unit
- Added const keyword to sender arg of TIFuzzySetEvent
- Moved Defined property from TIFuzzySet to TFuzzySet base class
- Moved Defuzzify method from TIFuzzySet to TFuzzySet base class
- Added TFuzzyStreamToken and TFuzzyStreamTokenList classes to IFuzzyLogic.pas
- Added IFuzzyStreamToken and IFuzzyStreamTokenList to FuzzyInterfaces.pas
- Added CreateFuzzyName(BaseHedgeType, ModifyY, Expression) function
- Added Parsing error resource strings
- Added TFuzzyStreamTokenType and TFuzzyStreamTokenTypes
- Fixed FormatFuzzyExpression to use brackets instead of parentheses
-------------------------------------------------------------------
May 2003 Version 2.02
- Last Version of Fuzzy Logic bundled solely with IECS
|