Aug-22, 2007
- Release 9.0 of the SDL Component Suite is now available for CodeGear C++Builder, too
May-28, 2007
- New release 9.0 of the SDL Component Suite
- new units SDL_COMPLEX and SDL_HTMLSUPPORT
- new components TSline, TScaleGauge, TNumIO2, TSmithChart and TWaveLet1D implemented
- SDL_BOXPLOT
- bug fix: number of horizontal boxplots can now exceed 30 without throwing exceptions
- SDL_COMPLEX
- published with release 9.0 of the SDL Component Suite
- SDL_DATATABLE
- new constants csAll, csNone, and csUser1..csUser4 defined to reflect predefined cell states
- new functions CountMarkedCellsInColumn and CountMarkedCellsInRow count marked cells
- new overloaded method ImportASC allows to read from clipboard
- bug fix: ImportASC now does not crash if data is imported from stream and number of columns is reduced
- SDL_DSTRUCT
- associative arrays support now the retrieval of strings and numbers (ResolveAsString and ResolveAsNumber)
- routines for calculating hash codes implemented: SHA1FromString, SHA1FromStream, SHA1FromFile, and SHA1DigestToHex
- SDL_FILESYS
- new function DetectStringInFile can be used to check validity of a file
- SDL_GAUGE
- published with release 9.0 of the SDL Component Suite
- SDL_GEODB
- two additional versions of AddBLOB implemented
- new property Revision implemented
- new method SearchForItemID searches database item IDs
- The FilePath variable of the meta information record now contains the full file spec of the original file (including the filename)
- ExportDataDebug now includes BLOB sizes, as well
- SDL_GEOMAP
- TGeoMap now supports the OnMouseWheel, OnMouseWheelUp, and OnMouseWheelDown events
- new method ZoomFitPage resizes map to fit into current window
- new method CopyToBMP allows to copy portions of a map to a bitmap (including non-visible parts of the map)
- calibration models extended by conic conformal and Miller cylindrical projection
- ParseCalibData now returns the calibration model too
- new method CopyEntireMapToClipboard copies the entire map (including landmarks) into the clipboard
- RemoveAllLandmarks is now available in a second overloaded form restricting the removed landmarks to a specific class number
- procedure WriteRawCalDataToOpenXMLFile extended to additionally store calibration model
- bug fix: ReadLandmarksFromOpenXMLFile and LoadLandmarks now read landmarks correctly (first LM was set to all-zero)
- SDL_GRADFL
- property FrameStyle implemented
- SDL_HTMLSUPPORT
- published with release 9.0 of the SDL Component Suite
- SDL_MATH1
- new routines to check the validity of various numeric types implemented: IsValidBin, IsValidDecInt, IsValidFPNum, IsValidHex, IsValidOct
- RoundNeg125 and RoundPos125 implemented
- interface of function IsValidDouble changed: the parameter DecPChar has been renamed to DecSeparator and is now of type TDecPSep instead of integer
- bug fix: ScanDateTime works now as expected if no date (only time) is specified
- SDL_MATH2
- The algorithm used for TCurveFit.CalcPolyFit has been replaced by an SVD based version which is much more stable for higher orders (up to MaxPolyFitOrder).
- second order derivative of Savitzky-Golay smoothed filter implemented
- SDL_MATRIX
- the matrix inversion routine now works for matrices with very small values, too.
- SDL_NTABED
- new functions NrOfMarkedDataA and NrOfMarkedDataB return number marked data cells
- new property BoldMarks determines bold/normal font of marked cells
- new property IfAnyMarked checks if at least one cell of the table editor is marked.
- PopupMenuClickCopy now copies selected data both to the matrix clipboard and to the Windows clipboard.
- property ClipboardUseFullPrec controls numeric precision when copying to Windows clipboard
- event OnMouseUp published
- bug fix: copy into data clipboard does not crash after matrix transpose
- SDL_NUMIO
- new component TNumIO2 is an improved replacement of the existing TNumIO component (which is no longer supported but still part of the SDL Component Suite for backward compatibility).
- type declaration TDecPSep moved from unit SDL_numio to SDL_sdlbase
- SDL_NUMLAB
- new property Transparent allows to make the outer background transparent
- SDL_PLOT3D
- TPlot3D now supports the OnKeyPress, OnKeyDown, OnKeyUp, OnMouseWheel, OnMouseWheelUp, and OnMouseWheelDown events
- various mesh kinds implemented (new property MeshKind)
- SDL_POLCHART
- property SuppressPaint implemented
- property MouseAction supports now maZoomWind and maZoomWindPos
- property LabelModeAngular extended to provide symmetric labels around zero (-p to +p radians)
- TPolChart is now derived from TCustomControl instead of TGraphicControl
- SDL_RCHART
- TSmithChart is a new component derived from RChart. It supports Smith charts which are commonly used in electronics and electrical engineering
- new method SetEqualScales implemented
- new method SetEqualScalesXOnly implemented
- new method SetEqualScalesYOnly implemented
- mouse wheel events are now published
- function FindUsedLayers implemented
- improvement: the background color of dashed lines is now controlled by the property FillColor
- improvement of the methods AutoRange, AutoRangeXOnly, and AutoRangeYOnly
- bug fix: AddTextLabel now works as expected (bug was introduced with release 8.5)
- bug fix: mouse cursor adjusts its image according to MouseAction (bug was introduced with release 8.5)
- bug fix: changing the range of any axis does no longer force several repaints
- bug fix: rectangles and ellipses are now filled with the correct color after switching from transparent to opaque items
- bug fix: maZoomWind now keeps scale ratio of axes if IsoMetric is TRUE
- bug fix: number of grid lines per axis is no longer limited to 50 (new limit is 250)
- SDL_REPLIST
- new method RemoveEmptyRows implemented
- internal data structure of component is now packed into separate class TRLData
- new property ShowEmptyCheckBoxes allows to hide check boxes of empty cells
- new function MouseCell returns the cell number of a particular point of the report list
- two new functions CountCheckedElemsInCol and CountCheckedElemsInRow count checked elements
- new property CountHeadRows returns number of visible headers
- Enabled property now affects colors of text, check boxes and highlighting (cells appear dimmed if disabled)
- column headers can now be adjusted in color by ColorColumnHd and ColorColumnHdText
- the data of the report listview can now be displayed without any headers by setting both the new CommonHeaderVisible and the new ColumnHeadersVisible properties to FALSE.
- new common header implemented, which is controlled by the following properties: CommonHeader, CommonHeaderVisible, CommonHeaderAlignment, ColorCommonHd, ColorCommonHdText
- new property FixedFirstColumn can be used to create a row header
- improvement: component uses now double buffering to reduce flicker when scrolling
- bug fix: horizontal scrolling no longer creates spurious vertical lines in header
- bug fix: FirstSelectedRow returned 1 in some cases despite the number of rows was zero
- bug fix: InterRowIndicatorPos works now correctly if TopRow is greater than 1
- bug fix: component is no longer disabled if EditRowEntries is called with an readonly column formatter
- bug fix: Fill now works correctly for checked columns too
- bug fix: ExportHTMLTable now creates correct HTML tables for checked columns, too
- bug fix: property LeftCol now addresses the columns correctly (had an offset of +1)
- SDL_ROT3D
- TRot3D now supports the OnKeyPress, OnKeyDown, OnKeyUp, OnMouseWheel, OnMouseWheelUp, and OnMouseWheelDown events
- the events OnDataRendered and OnBeforeRenderData implemented
- bug fix: rotated image was compressed to zero thickness for very small z angles
- SDL_SCALE
- ConvertPixelToScale implemented
- SetBounds implemented
- SetRange implemented
- improvement: numeric labels are suppressed on non-integer tick marks if number of decimal places is set to zero
- SDL_SDLBASE
- type declaration TDecPSep moved from unit SDL_numio to SDL_sdlbase
- SDL_SLINE
- published with release 9.0 of the SDL Component Suite
- SDL_STRINGL
- strffForcePlus implemented
- function Tokenize implemented
- The following procedures and functions have been moved to the unit SDL_htmlsupport: ResolveHTMLEntities, MakeStringHTMLCompatible, HTMLEntityToAnsi, ExtractHTTPPath, CountWordsHTML, and AnsiToHTMLEntity
- bug fix: TGrep now does not crash with expressions such as "a+" applied to empty strings
- bug fix: expressions such as "[a-z]*" or "a*" are now handled correctly
- SDL_THUMBNAILS
- Paint method published
- SDL_VECTOR
- new methods StoreOnFile and LoadFromFile implemented
- new property IsEmpty implemented
- SDL_WAVELET
- published with release 9.0 of the SDL Component Suite
December-05, 2006
- New release of the (German) Delphi Programming Course.
September-1, 2006
- The SDL Component Suite has been tested and approved for Turbo Delphi/C++ compatibilty. In order to use the SDL Suite under the Turbo Products you simply have to install the BDS2006 version of our products.
June-11, 2006
- Updated release 2.501 of DataLab. For a detailed list of improvements, please see the Datalab release history.
May-24, 2006
- New release 2.500 of DataLab. For a detailed list of improvements, please see the Datalab release history.
February-18, 2006
- New release 8.5 of the SDL Component Suite
- New components TMarkSel and TBoxPlot implemented
- all unit names have been changed by adding the prefix SDL_
- Personal Edition and Standard Edition are now the same (no need to install separate packages for the Personal Edition of Delphi or C++Builder)
- BOXPLOT
- The unit BOXPLOT is made available to the public as part of SDL Component Suite 8.5
- COLSEL
- Enabled (ColSel) property is now published
- disabled state is now indicated by gray colors
- DATATABLE
- ExportAsASC (DataTable): default width of exported data is now 12 characters
- optimized resizing of the data table
- several new methods to calculate statistical parameters of the numeric cells only: MeanVarOfNumCells, QuartilesOfNumCells, MinMaxOfNumCells, PercentileOfNumCells, GeometricMeanOfNumCells, HarmonicMeanOfNumCells, CountNumCells, SumOfNumCells, StandardizeNumCellColumns, StandardizeNumCellRows
- DENDROGRAM
- TDendrogram now supports class colors
- new method CalcClasses allows to assign class numbers to the data which are derived from the cluster analysis
- DSTRUCT
- bug fix in CalcCRC32ofFile: this routine now opens the file in read-only mode
- TStringArray now has an OnBeforeSortExchange event to influence the sort order
- FILESYS
- component TUnivSaveDialog has now another predefined parameter "ext" which allows to force a file extension
- new function EnsureDefaultFileExt adds a default file extension to an extensionless filename
- FOURIER
- new property WgtFunction allows to specify user-defined weighting functions
- GEOATLAS
- GEOATLAS is now available in the Light Edition of the SDL Suite
- GEODB
- GEODB is now available in the Light Edition of the SDL Suite
- new property Description to store short comment on database
- bug fix: ReplaceXXXXX methods do no longer store wrong item ID
- bug fix: GarbageCollection does no longer occasionally increase the database file
- GEOMAP
- GEOMAP is now available in the Light Edition of the SDL Suite
- new method RenameMapImg impemented TLandMark and AddLandMark extended to support time stamps and alphanumeric identifiers of landmarks
- bug fix: CreateAndLoadEmptyMap now generates correct maps even if the boundaries exchanged
- bug fix: color of EmptyMsg string does not depend on program history anymore
- MARKSEL
- The unit MARKSEL is made available to the public as part of SDL Component Suite 8.5
- MATH1
- ScanHex now ignores a leading '$'-character
- bug fix: ScanDegrees does no longer crash if input string is empty
- TDegreeFormat extended by additional type dfNumeric
- new functions CanonicalAngleRadians and CanonicalAngleDegrees implemented
- MATH2
- the routine CalcPrincComp is now available in a second overloaded version which allows to select whether to normalize the eigenvalues or not.
- CalcCovar now calculates the squared correlation coefficients and the sum of squared differences as additional options (mode=3, or 4)
- kMeansClustering implemented
- the coefficients of the Savitzky-Golay-Polynomials are now publicly available (see GolayPoly)
- TCurveFit.MeanAngleX, TCurveFit.MeanAngleY for the calculation of mean angles implemented
- SpearmanRankCorr, KruskalGamma, and KendallsTau as methods of TCurveFit implemented
- MATRIX
- bug fix: method Percentile now calculates correct values (bug emerged only for less than 100 selected elements)
- NTABED
- bug fix: PopupMenuClickExtClip does no longer recognize a zero value at the end of the text if it is actually empty
- bug fix: dimension of table editor is adjusted correctly if data is imported into an external (assigned) TDataTable
- NUMIO
- PLOT3D
- size of bounding box is now declared as a public constant P3BoxSize
- DrawOnForeignCanvas implemented
- range of magnification extended to 100 (was limited to 3 in previous releases)
- POLCHART
- bug fix: LoadData (FName, TRUE) now correctly appends data (bug was introduced with release 8.0)
- RCHART
- OnMouseLeave and OnMouseEnter events implemented
- BackGroundImg extended to display colored background area
- MarginTop, MarginLeft, MarginRight, MarginBottom are introduced instead of TRim, LRim, RRim, and BRim
- bug fix: layer number of text label is correctly assigned now
- bug fix: AutoRange, AutoRangeXOnly, and AutoRangeYOnly now work correctly if Layer is set to a zero value
- bug fix: CrossHair.Layer property cannot be set to illegal values anymore
- constant MaxNumLayers moved to SDLBASE and renamed to MAXNUMRCLAYERS
- text labels now support vertical alignment
- bug fix: LoadData (FName, TRUE) now correctly appends data (bug was introduced with release 8.0)
- bug fix: initialisation of scale positions in Light Edition was wrong
- REPLIST
- new method ExportHTMLTable allows to export the report list view as an HTML file
- new event OnBeforeHTMLExport allows to control specific HTML properties of the exported text
- the new event OnBeforeSortExchange allows to influence the sorting behavior of the list view
- CopyToClipboard offers now an additional, overloaded version which allows to insert any string as separator
- SDLBASE
- class TCustomTextLabel implemented
- XML Tags for user defined types implemented: xml(TYPEIDENTIFIER)
- public constants LanguageID, ISO639_2Char, and ISO639_3Char provides names and ISO-codes of languages
- SDLCOLORS
- new function Interpolate3Colors implemented
- STATIS
- function DeanDixonCriticalValues provides critical values of the Dean-Dixon outlier test
- new function DeanDixonTest performs the Dean-Dixon outlier test
- UDistriQuantile, UDistriIntegral, and UDistriDensity implemented
- Mann-Whitney U-Test implemented (PerformMannWhitneyUTest)
- TSignifLevelEx and NumericSigLevel extend definition of levels of significance
- hypergeometric distribution implemented: HyperGeoDistriDensity
- KendallsTau implemented (calculates Kendall's tau-b rank correlation coefficient)
- KruskalGamma implemented (calculates Kruskal's gamma value)
- SpearmanRankCorr implemented (calculates Spearman's rank correlation
- STRINGL
- new function CountWords implemented
- new function CountWordsHTML implemented
- function HTMLEntityToAnsi now converts non breaking spaces, too
- new function ExtractHTTPPath extracts HTTP path information
- new function ProcessHexChars allows to insert control characters into a string
- THUMBNAILS
- bug fix: index of property SlideSelected is now correct (was offset by the value of Min)
- UNIVCONST
- uc_SecondsPerDay defined
- VECTOR
- bug fix: method Percentile now calculates correct values (bug emerged only for less than 100 selected elements)
November-27, 2005
- Hans Lohninger's German course on Delphi programming is now available in a new release.
May-06, 2005
- New sample application funcplot which implements a very simple function plotter using the component TMathExpression of unit MATH2.
January-24, 2005
- Release 8.2 of the SDL Component Suite is now available for Delphi 2005, too (both for Win32 and VCL/.Net applications).
(news older than Jan 2005 removed)

