JMN-Lib versions


For JMNCommon:

DataSetCom: Added: FNamesFromIdxFields.

StrAnal0: Added: PriorDelStrAndStrFromInStr, StrAndNextDelStrFromInStr.

StrNumU: Added: StrContainsNum.

StrUtil00: Added: StrWithValidChars.

For JMN:

CtrlPS: Added: TFrPosWDBGridCols, TPos

DataSetUCom: Added: FldsOfDataSetToClipboard, FldsOfDBGridToClipboard.

DbNavNew0: Added: SetHint. Deleted Hints.

DbNum0: Arrange bug for format.

dnPxFlds: Moved from JMNBDE library. Now only with TPxStringField.

EdiTAmp0: Added TCustomComboBoxR.SetItemIndex.

GoogleTrans: New unit.

LangUtils: New unit.

Several: Added: GetUserFromWindows, DBGSetWidthToLastColumn, SetGroupBoxW.

StrUtil0: Added: CharIsDiacritic, StrContainsDiacritic, StrAllCharsUpcase, LoCase2, LowerCase2, StrHtmToStr, StrContainsOnlyLetters, CharIsLetterMD.

For JMNSm:

DataSetU: DBGridToTxtF.

New unit: JvDBPxGrid, with TJvDBPxGrid.

For JMNSql:

ZeosSQLU: Added: SortedFieldNamesWOAscDesc, GetDuplStrFldByCaseOrDiacr, GetDistinctStrFld, GetIndexFieldCount, OpenTablesWLog, GetFieldNameType. Fix ExistsDatabase bug.

For JMNObjReposSm, JMNSqlObjRepos

Several changes.


Full package and folder reorganization:

JMN -> JMN and JMNSm

JMNObjRepos -> JMNObjReposSm

JMNObjReposSF -> JMNObjReposBl

Added po files (from JMNTntLib).

A lot of to rename files.

For JMNCommon:

DataSetCom: added TAddRecords0.

MessFont00: Changed var names: IconIDs -> MsgDlgTIconIDs and ButtonNames -> MsgDlgBtnNames.

Several0: Added PostKeyEx32, ByteToFontStyles, FontStylesToByte.

StrNumU: Moved from RZNEdit0: CheckValueLongint, CheckValueReal, LongintValueValid, RealValueValid. IntegerFormat: changed and FloatFormat: solved bug.

New units:

DbCStat, with TQtVStatCalc [from old JMN_VNew_DXD].


For JMN:

MIni -> DMIni and LnkIni: now only for JMNSm.

DbNavNew0 -> DbNavNew0 and DbNavNew, now the published control is TmoDBNav.

Deleted units:


TaUtils: its (partial) content has been moved to FileUtil1.

TntRZNEdit2: its content has been moved to TntRZNEdit0 and TntRZNEdit.

Deleted Packages:

JMN_PxM_DXR (its content has been moved to JMN_SmBl_DXR).

JMN_PxM_DXD (its content has been moved to JMN_SmBl_DXD).

JMN_CCopy0_DXR (CCopyDlg0 has been moved to JMN_SmBl_DXR).


DataSetUCom: solved bug in StrFromFieldNames and StrFromDisplayLabels.

DataSetU and DataSetUSF: modified AddRecords, AddRecordsA and AddRecordsLF.

DateEditAppr0: Added Required property.

DbNum0: NotFormat property delete: New property: WithThousandSeparator.

DbCStatPres: full restructured -> DbCStatPres0 and DbCStatPres.

dnPxMask: raise errors -> ELog0.RaiseErrorOnlyMess.

EdiTAmp0: procedure SetText -> integrated as property Text. Bug fixed: in TCustomEditR not salved Required = False. ColorNormal and ColorWarning properties deleted. ColorWarning has been replaced by EdiDaTi.clEdiBgWarning. Deleted TCustomComboBoxRWLI.AddLastInput.

EdiTime0: TEditTimeMP0 Required property with changes of edit color.

ExtMemo: Deleted TMemoExtWhenChange -> TMemoExt (which contains the TMemoExtWhenChange properties)
Added OnChangePos property, deleted WhenAnyChange procedure.

FileUtilM0:Deleted functions:
FileIsReadOnly -> use SysUtils.FileIsReadOnly
FileSetNotReadOnly -> use SysUtils.FileSetReadOnly (FN, False)
FileSetReadOnly -> use SysUtils.FileSetReadOnly (FN, True)

JvSpinR0: Deleted WinControlTitle. Added ValidL and changes in Color for Required property.

IADBCtrls: full restructured -> IADBCtrls0 and IADBCtrls.

IAExtCtrls: full restructured -> IAExtCtrls0 and IAExtCtrls.

TRZNE0 -> TRZNEdit0: KeyDown deleted, KeyPress modified, added WMPaste.

TRZNEdit: full restructured. clDefWarning -> moved and renamed to EdiDaTi.clEdiBgWarning. ColorNormal and ColorWarning properties deleted. ColorWarning has been replaced by EdiDaTi.clEdiBgWarning. FontColorNormal and NotFormat properties deleted. Moved to StrNumU: CheckValueLongint, CheckValueReal, LongintValueValid, RealValueValid. TEditReal0 and TEditVReal0 with new properties: MaxVExcluded, MinVExcluded.

PBJustOne: full restructured -> PBAppInstC and PBJustOne (only for JMNBl). Added example.

Several: Deleted: RS_FromDialog -> Menus.cDialogSuffix; added: FillFileList, DeleteDialogSuffix, ActL_DeleteDialogSuffix, AddItemToStrList, DBGSetWidthTo1Column; JvDBGDefaultWidth, renamed to DBGDefaultWidth

StrAnal: Add FindInText, StrOkWithFilePattern/s.

TScnFile: full modified, with inclusion of regular expression searchings; and -> TScnFile0 + TScnFile.

For JMNBl:

New: ExtMemoBl: with TMemoExtBl and TMemoExtPresLBl.

MIniGLLSF: Added AdjustMemo, AdjustToolBar0WVis, AdjustToolBarWVis

FTrans: Added PrepRetranslate.


CtrlPS0 has been deleted, their objects has been moved to CtrlPS, and added IniFileLoad/Save.

For JMNCommon: TntParseClass0: Added TIntegerList0.

For JMNTnt:

DbNum -> DbNum0 and DbNum.

DbNavNew0: add UserSayYesH, add DeleteRecs and fixed delete bug.

ELog0: Added procedures RaiseErrorOnlyMess and RaiseErrorFmtOnlyMess.

IABasicCtrls: new property: AutoSize [-> Several: deleted procedure SetCheckBRadioBWH]; and fix any bugs.

ParseExpr0: fixed bug for Power function when the second parameter was < 1; Added CubRt (cube root)

For JMNBl:

ComCtrlsBl: Added a call to ResetLabels on ChangePage.

FTrans: Add a hotkey automatic assignment (Alt-character key sequence) for the labeled controls, in runtime.

JvMemoryDatasetBl: Added PostErrorH.

New units:

DateEditApprBl: new component TDateEditApprBl.

EdiTimeBl -> new components: TEditTimeBl, TEditTimeLimBl and TEditTimeMPBl.


StrUtil00: DelAmpersand moved to StrUtil0, and added in this last unit DelAmpersandC.

Several0: Added ColorName and MessToTracker.

DbNavNew0 and its inherited units, for language compatibility has been deleted the properties RecordName (and Gender). DbNavNew0: TmoDBNavRow0 and TDBGridRow have been deleted; Hints only public.

DbNavNewWBI: TmoDBNavRowWBI0 has been deleted.

SqlDbNavNew: TmoSqlDBNavRow has been deleted.

TntParseClass -> TntParseClass0 and TntParseClass.

TntDMWinPlot -> TntDMWinPlot0 and TntDMWinPlot.

Several examples for parser and plot units.

For JMNBl: component modification (and inclusion of new ones) so you don't have to keep in mind possible assignments to OnEnter and OnExit can modify the component diction for people who use screen reader. Now says Alt + Char (Char = C from control &Caption).

FTrans: public var MinAppliOnMinClick: Boolean; True by default, minimizes the application when the minimize button of dialog windows is clicked. Changes for to speak components due to most common use of OnEnterBl and OnExitBl.

New examples: an alternative to MinMode, several for Parser units and for WinPlot unit.


DataSetUCom unit : added CharsYesNoIADBCheckBox.


New DMTrans unit : TDMTranslate is an ancestor for all TDataModule that will perhaps require a translation. Consecutive changes in others TDataModule.

Several: several changes/fixes in TResizeBtnArray.Resize.

FTrans: Fixed bugs: TMenuItem.Check and OnEnterBl lost. Change in WithoutBackWindowMess operation.



Renamed : RepeatedChrNumInStr -> CharCount.
Added: StrReplaceChars, StrCount

Renamed unit: IACheckControlJ -> IABasicCtrls. Renamed controls: TCheckBoxMLines -> TIACheckBox, TRadioButtonMLines -> TIARadioButton.

New components: TIARadioGroup, TIADBCheckBox, TIADBRadioGroup, TIARadioGroupBl, TIADBCheckBoxBl, TIADBRadioGroupBl.

In the previous controls: the images are changed to a bigger ones when TFont.Size > 12. New example. Also Alignment property values for Right and Left now has a similar aspect to standard TChecBox and TRadioButton, then the default value is taRightJustify. The AutomaticWrap property has been renamed to WordWrap.

Obsolete components (and its replacement)

TCheckBoxBl -> TIACheckBoxBl.
TRadioGroupBl -> TIARadioGroupBl.
TDBCheckBoxBl -> TIADBCheckBoxBl.
TDBRadioGroupBl -> TIADBRadioGroupBl.

TRadioGroupRBl -> TIARadioGroupBl and Required = True
TDBRadioGroupRBl -> TIADBRadioGroupBl
and Required = True

Consecutive changes in FTrans, and MessFontSF (TRadioButton replacement).

Added TDirMon unit.

JMN\Examples\SAPI 4/5 examples have been moved to JMNBl\Examples.

Packages changes: created JMN_CCopy0_DXR, JMN_CCopy_DXR and JMN_CCopy_DXD, and moved units from JMN_VNew2_DXR and JMN_VNew2_DXD.

Units arrangement: Inst0, Inst and InstSF.


VCtrls: Added AlignLeftCtrlsOfWC, AlignTopCtrlsOfWC, AlignLeftTopCtrlsOfWC.

IACheckControlJ: the images of its controls are changed to a bigger images when TFont.Size > 12.

CCopyDlg example bugs has been fixed.

All pas units headings has been homogenized.


VCtrls: Renamed several functions:

*Control* -> *Ctrl*
WidthCtrls -> CtrlsWidthAll
MaxWidthCtrls -> CtrlsWidthMax
MaxBottomChildren -> ChildCtrlsBottom
MaxRightChildren -> ChildCtrlsRight

MabSave: Added TNewIniFile.ReadStringNN.

MIniGLLSF: Added TopOfGroup.


Resourcestring of DataSetU and DataSetUSF has been moved to DataSetUCom.

JvDBGridBl:Add: TJvDBGridBl.KeyDown modification for DeletePrompt.


Several0: Added: MenuItemsEnab and MenuItemsVis.

DataSetCom: Added: DSAfterScrollDownUp.

DataSetU and DataSetUSF: Modified: ResRewAppTF00.

FileUtilMSF: Added: FileExistsSetNotReadOnlyMessSF.


IACheckControlJ: New properties: for all components: Action; and for TCheckBoxMLines: AllowGrayed and State. Since its adaption for screen readers: a little display error without solution, when click this components.

JMNBl library:

Already a program can emulate a screen reader (important changes in FTrans). Examples in JMNObjReposSF.

New directives: WithPoF (contained in, ForBlind and ForBlindSpk (contained in

Solved bug TLabelWC.

New components: TJvFilenameEditBl, TJvDirectoryEditBl, TJvDateEditBl, TJvDBGridBl.

DMFormExpr unit has has been moved to ATCalc directory.

JMN_BlOther_D7R: FormExpr and FPrgTrace has been deleted and its units has been moved to ATCalc directory, xSGrid0SF and xSGridSch has been moved to JMNObjReposSF directory.


AddRecordsXX: moved to DataSetU and DataSetUSF from DataSetCom and display the record when occur an error.

Two units have been moved form JMNBDE packages to JMNVNew ones: dnDBPxG and dnDBPxM: with the next components TDBPxEdit, TDBPxComboBox, TDBPxGrid, TDBPxEditR and TDBPxComboBoxR; and an example. TPxFields (defined in JMNBDE packages) are not more supported.

Rebuild of

EdiTAmp -> EdiTAmp0, EdiTAmp and EdiTAmpBl.

JvSpinR -> JvSpinR0, JvSpinR and JvSpinRBl.

RfEdit -> RfEdit0, RfEdit and RfEditBl.

WithEditFontMess property has been deleted from RZNE0 (1) and DbNum (2) components. For messages with appropriate font:

(1): TEditReal, TEditInteger, TEditCardinal, TEditVReal, TEditVInteger and TEditVCardinal, use RZNBl components.
(2): TDBIntegerEdit and TDBFloatEdit, use DbNumBl components.

New components for blind users or shared font, idem names as previous (1) and (2) with Bl suffix, in RZNBl and DbNumBl units.

EdiTAmpBl: TDBRadioGroupRBl, TDBEditRBl, TDBEditTxtBl, TDBEditNameBl, TDBLookupComboBoxRBl, TRadioGroupRBl, TEditRBl, TEditFileNameExtBl, TEditOnlyFileNameBl, TEditTxtBl, TEditNameBl, TJvSpinEditRBl, TComboBoxRBl, TComboBoxRWLIBl, TPxMaskEditRBl, TPxComboBoxRBl, TPxComboBoxRWLIBl. With an example.

JvSpinRBl: TJvSpinEditRBl.

LabelWC: TLabelWC.

RfEditBl: TRFilterEditBl.

RZNBl: TEditRealBl, TEditIntegerBl, TEditCardinalBl, TEditVRealBl, TEditVIntegerBl, TEditVCardinalBl. With an example.

Changes in MessFontSF:

TEditVInteger -> TEditVIntegerBl, used in InputIntegerXYBl
TEditVReal -> TEditVRealBl, used in InputExtendedXYBl and Input2ExtendedXYBl

In Several0: added new proc/func LocateMenuItemFromOther and MenuItemXXXXFromOtherX, used for programs for blind users which use NVDA, then it is required duplicate the MainMenu without images, since if MainMenu contains images the assignment MainMenu.Images := nil doesn't enables NVDA to pronounce the menu items correctly. With an example.


DataSetU and DataSetUSF: Several functions and procedures have been moved to new units: DataSetCom and DataSetUCom.

DbNavNew0: added default RecordName = 'record'

SqlPar: renamed const FNSql* to FNQue*, TSaveSqlAs -> TSaveQueAs.

Moved DbNavNewWBI to JMNBl folder.


JMDSetSort and JMDSetSort procedures and renamed to DataSetSort and DataSetSortOpt, and changed their first paramenter.

Added: DataSetExpOpcSet property, used from TFrSingleGrid0SF.

Added new package JMN_BlOther_DXR, that now contains FormExpr, FPrgTrace, xSGrid0SF and xSGridSch.

JMNSQL full renamed files deleting MySql for Sql and Que(ry). Since support other engines in addition to MySql.


VCtrls: added MaxBottomChildren, MaxRightChildren.

ParseClass: added optional complet name for function/procedure parameters. ParseExpr0: use of complet name for any functions.

Parser: change short description of all statistical functions and others.

FormExpr: Change short description of a lot of functions/procedures and added complet name for any functions/procedures parameters.

MessFontSF: use TMemo instead of TLabel for dispay information for inputs with container, for blind users


StrNumU: added VarComplexToRI from MessFont.

MabSave: added ReadVInteger and WriteVInteger

MessFont -> MessFont00 in Lib\JMNCommon\Source, MessFont0, MessFont.

Added MessFontSF, and MessOtherSF in Lib\JMNBl\Source.

Parser -> Parser0, Parser; added ParserSF in Lib\JMNBl\Source.
ParseExpr -> ParseExpr0, ParseExpr; added ParseExprSF in Lib\JMNBl\Source.

New component: TMathParserSF.


CtrlPS: added a new object TAliWidthTC with a property TitleCapt (it solves the rare problem when Title.Caption <> Field.DisplayLabel).

FormExpr has been moved from Lib\JMN\Source to Lib\JMNBl\Source.

Several forms has been moved from JMNObjReposSF to Lib\JMNBl\Source.

New component: TJv0TipOfDayBl.


Several0, added: ReverseColor and ReverseColorX.

Replaced HtmlHelpAPI.pas to HTMLHelpViewer.pas., and succesive changes.

Replaced string to TFileName, where string is referred to a Path or a FileName.

Added: a new folder JMNBl, enables you to create applications that

ELog: in two units: ELog0 and ELog and a new unit ELogSF.

EdiTime: Added properties OnKeyDown, OnPresYear, OnPresMonth, OnPresWeek, OnPresDay, OnPresHour and OnPresDecILI.


The components TCCopyMoveBoxDlg, TCDelBoxDlg, TCopyMoveBoxDlg, TDelBoxDlg and TQtVStatCalc, TQtVStatCalcPres are moved from prior packages.


Several0, added: ShortCutAsConst.

EdiTAmp: Added TEditFileNameExt.

Several: arranged SetRadioGroupWH bug and added SetDBRadioGroupWH
Added CreateMenuItem, CreateMenuItemM and CreateMenuItemP, for Menus created in runtime


A little change in StrAnal0.StrReplaceText

StrUtil0.StrToHtmStr is completed.

Some additons of DbNavNewWBI.pas


Added TextToSpeech from Alec Bergamini and Chen Yu, with their examples.

Added a modification of TWAVFile from Jurgen Faul, with their example.


Solved a little bug in font size of the buttons of CreateMessageFDialog of MessFont unit.


The Ralf Junker's DIMime unit has been moved from JMN\Source to JMNCommon\Source

Added instructions.

ButtonWithColor: property ChangeFontColor

DbNavNew0: when mnbAddInsert or mnbAddAppend Buttons are clicked then ClickInsert is called. DBGrid property for multiple deletion of records.

FileUtilM: function ForceDirMess.

Several: various procedures, SetCheckBoxX[X] and SetRadioButtonsX[X].


TJv0TipOfDay with a new properties: Initial tip frame sizes. Look at a new enhanced example.

FormExpr.pas: a new programming parser procedure: Break.


TJv0TipOfDay -> TJv0TipOfDay and TJv0TipOfDayF.


HtmlHelpAPI unit -> HtmlHelpAPI0 + HtmlHelpAPI (with error message if help file is not found).

Buttons large images of moDBNavWIB are full drawn.


Restructuring of the components, some of which have moved to the directory JMNCommon.

Added instructions.

TDialInterval, TDialIntervalShift have been deleted.

TIACheckControlI bug solved.