exrecord - sample code

Building Hierarchies Made Easy: Edit, Undo, and Redo with Ease:

This movie demonstrates how to use the Copy, Cut, Paste, and Indent features to easily create and manage a hierarchical structure. You can perform these actions using keyboard shortcuts or through the context menu for convenience. The movie also highlights the Undo and Redo functionality, which lets you quickly reverse or repeat recent actions, making editing faster and easier, while helping you avoid mistakes. The Copy, Cut, Paste, and Indent features will be supported in the eXGrid and eXG2antt controls.

Graph availability for the eXPivot/JS version:

The eXPivot divides its area into four sections: one for applying aggregate functions to the pivot's cells, sections for pivot rows and columns that define the table structure, and a table section that can display either tabular data or graphical charts. The custom-view feature allows integration with any custom controls. In this example, eXGraph is used to enhance eXPivot with graphical capabilities. eXGraph visualizes the summarized information as columns, displaying aggregated data from eXPivot rather than raw values, which makes it easier to interpret trends and comparisons graphically. Click here to try or more sample here

The following video demonstrates how eXGraph adds graphical functionality to eXPivot:

The movie demonstrates how to display various types of charts based on the summarized data within the pivot control. The control can divide its area into four sections: one for applying aggregate functions to the pivot's cells, the pivot rows and columns that define the table structure, and the table section that can display either tabular data or graphical charts. The custom-view feature supports any type of custom controls. In this sample, the eXGraph is used to provide graphical features for eXPivot. The feature will be supported in the /COM, /NET, /WPF, and /JS versions as well.

The following video highlights an innovative feature designed to improve link visualization:

The following video demonstrates a new feature that enhances link visualization. It intelligently avoids obstacles such as elements, objects, and bars, ensuring a clear and unobstructed display. Additionally, overlapping links are distinguished by alternating colors and variable widths, improving clarity and making it easier to differentiate them visually. This feature will be available across all configurations (/JS, /COM, /NET, and /WPF) for the following components: eXSurface, eXSwimlane, eXG2antt, and eXG2Host.

The following movie illustrates how to insert, code and use any component using Delphi 12:

The video demonstrates how to insert, code, and utilize the exg2antt control within the RAD Studio 12 IDE. The process is similar for any other Exontrol components. If you are running the RAD Studio 12 IDE on a 64-bit Windows machine, please ensure you install the x64 version of the control. Otherwise, you will need to use the x86 (32-bit) version of the component.
Jun04
ExFolderView, 18.0.0.4
*NEW: Ability to change the parameters passed by reference of the control's events for environments that does not support events with parameters by reference, such as uniPaas 1.5 (formerly known as eDeveloper), DBase, and so on (available for /COM only)
*Added: Event event, notifies the application once the control fires an event
*Added: EventParam() property accesses a specified parameter of the current event. This property has effect only during an event, and can be used to change or retrieve a specified parameter of the current event. Use the EventParam(-2) to display entire information about fired event ( such as name, identifier, and properties ). The EventParam(-1) retrieves the number of parameters of fired event.
ExGraph, 12.0.0.2
*Added: Delphi 12 sample
*Added: Enhances the loading speed of EBN files
*Fixed: Prevent returning the event parameter by reference when accessing the EventParam(index) property. For example, PowerBuilder generates a 'Bad runtime function reference' error if an event parameter passed by reference is accessed through the EventParam(index) property
Jun02
ExSuite/JS, 4.5
*NEW: ExRollist/JS component is an interactive list control that arranges its items along the path of an ellipse. As users navigate through the list, the selected item is automatically positioned and displayed at the center of the control, ensuring maximum visibility and focus. This layout creates a smooth and visually engaging experience when browsing items. (exontrol.rollist)
*NEW: Ability to scale logarithmic axis, where values increase exponentially (exontrol.graph)
*NEW: Ability to display the numbers in scientific (1.23e+03) or fixed-point (1230.00) notation (exontrol.common)
*Added: exontrol.Graph.ValueAxisOptions.type {AxisTypeEnum}, specifies the scale type used by the value axis. The axis can be set to use a linear scale (exLinear = 0), where values increase at a constant rate, or a logarithmic scale (exLogarithmic = 1), where values increase exponentially, useful for representing data with large ranges or multiplicative factors (exontrol.graph)
...
ExG2antt, 27.0.0.7
*Added: EditorOptionEnum.exSliderTickStyle option specifies the style to show the slider's ticks according with the EditorOptionEnum.exSliderTickFrequency option
*Fixed: The edit-field is shifting 2-pixels to the right when selecting a new value from a DropDownType or PickeEditType editor
*Fixed: Aligns the ticks with the slider's thumb indicator, if using the Editor.Option(exSliderTickFrequency) property
ExGantt, 19.0.1.2
*NEW: Support for "FileGroupDescriptor" and "FileContents" clipboard format, or ability to accept messages or attachments by drag and drop from the MS Outlook application (or any other applications that use these clipboard format)
*Added: During the OLEDragDrop event the Data.Files.Count property returns the number of messages or attachments being dropped, while Data.Files(index) property returns the fully path-name of the file that contains the message or the attachment. The control automatically extracts the message/attachment's content to a temporarily file, as you would drop a file from Windows Explorer.
*Added: The Items.CellMerge(Item,Column) supports a string value that holds the list of identifiers separated by comma. For instance, Items.CellMerge(Item,0) = "1,2,3", specifies that the cell on column 0, merges with cells of columns 1, 2, 3. The syntax is equivalent with Items.CellMerge(Item,0) = 1; Items.CellMerge(Item,0) = 2; Items.CellMerge(Item,0) = 3;
May28
ExShellView, 18.0.0.5
*Added: The Appearance property defines the control's border
*Added: The ExecuteTemplate() method can return the value of a variable. For instance, the eXSurface's PointToPosition method uses variables by reference which is not supported in PowerBuilder. For that you can use a code like ExecuteTemplate("dim x,y;x=-1;y=-1;PointToPosition(x,y);x") that returns the x-position (surface's coordinates) of the current mouse pointer. In the same manner you can use ExecuteTemplate("dim x,y;x=-1;y=-1;PointToPosition(x,y);y") to return the y-position.
*Fixed: Prevent returning the event parameter by reference when accessing the EventParam(index) property. For example, PowerBuilder generates a 'Bad runtime function reference' error if an event parameter passed by reference is accessed through the EventParam(index) property
ExStatusBar, 18.0.0.2
*Added: The Icon parameter of the ReplaceIcon method supports loading an icon in various ways. If the ICON is not provided via its handle, it will attempt to load it from a picture using its reference, the full path to the picture file, or the picture's content encoded as BASE64 strings using the eXImages tool.
*Fixed: The ReplaceIcon method fails to load icons using handles in x64 applications.
*Fixed: Prevent returning the event parameter by reference when accessing the EventParam(index) property. For example, PowerBuilder generates a 'Bad runtime function reference' error if an event parameter passed by reference is accessed through the EventParam(index) property
May26
ExGrid, 19.0.0.1
*Added: ExGrid.pdf (include the control's documentation in PDF format)
*Added: The Images method supports the Microsoft ImageList ( mscomctl.ocx, MSComctlLib.ImageList type) object directly. Shortly, you can define the control's images by calling Images(ImageList1.Object). The ImageList1.Object returns the object of MSComctlLib.ImageList type. The Microsoft ImageList object is available for /COM on x86 and x64 machines (starting from Access 2016)
*Added: The column is not clickable while the Column.AllowSort and Column.AllowDragging properties are false (also prevents changing the column's background color while cursor hovers a non-clickable column, Background(exCursorHoverColumn) property)
*Fixed: The Background(exListOLEDropPosition) property specifies the visual-appearance (including EBN files) of the item while the OLE drag and drop cursor hovers it (previously the item's highlight-appearance was always 2-pixels tall)
ExToolTip, 18.0.0.3
*Added: Delphi 12 sample
*Added: The Icon parameter of the ReplaceIcon method supports loading an icon in various ways. If the ICON is not provided via its handle, it will attempt to load it from a picture using its reference, the full path to the picture file, or the picture's content encoded as BASE64 strings using the eXImages tool.
*Fixed: The ReplaceIcon method fails to load icons using handles in x64 applications.
May21
ExList, 19.1.0.8
*Fixed: Dropping the column after the last visible column, ends up one-column to the right after the dropped position.
*Fixed: The control shows the dragging column in black, even the control's header shows the columns in white (ForeColorHeader property)
*Fixed: The control's ForeColorHeader property is not applied on the control's columns-float bar (the columns into the columns-float bar are always displayed in black)
ExScrollBar, 21.0.0.7
*NEW: The ex-HTML tags, including fgcolor, bgcolor, gra, out, sha, solidline, and dotline, now support 150 named colors, such as <fgcolor red>, as well as RGB format specifications like <fgcolor rgb(255,0,0)>. This enhancement offers more flexibility in defining colors within ex-HTML tags
*Fixed: Prevent returning the event parameter by reference when accessing the EventParam(index) property. For example, PowerBuilder generates a 'Bad runtime function reference' error if an event parameter passed by reference is accessed through the EventParam(index) property
*Fixed: The ReplaceIcon method fails to load icons using handles in x64 applications.
May19
ExEditors, 14.0.0.2
*Added: Delphi 12 sample
*Fixed: Declares event parameters as [in, out] in the control's Type library to ensure that the class wrapper correctly generates code for parameters passed by reference. For example, in Delphi, the wrapper class now displays the NewValue parameter of the Change event as var NewValue: OleVariant rather than const NewValue: OleVariant.
*Added: The Icon parameter of the ReplaceIcon method supports loading an icon in various ways. If the ICON is not provided via its handle, it will attempt to load it from a picture using its reference, the full path to the picture file, or the picture's content encoded as BASE64 strings using the eXImages tool.
ExTexture, 6.0.0.3
*Added: Update the samples to support x64 configuration (/COM version)
*Fixed: No control frame is shown in design-mode under MS Excel's spreadsheet
*Fixed: The expropertieslist/com fails if the user is trying to spy the control (x64 version only, AllowSpy property, browses the object by drag and drop)
May15
ExPrint, 22.0.0.3
*Added: Delphi 12 sample
*Added: Enhances the loading speed of EBN files
*Fixed: The frame of the page's content is offset by one pixel to the left and top to highlight only the content
ExCascadeTree, 17.0.0.5
*Fixed: Prevents removing all locked-items when Requery method (ADO) occurs for the current data-source (ADO, DataSource method, Items.LockedItemCount property)
*Fixed: A GPF (Stack overflow) occurs if using ADO DataSource for provider of vfpoledb
*Fixed: The Layout property does not refresh the control, if using uncoded format, such 'HScroll=100'
May12
ExPropertiesList, 24.0.0.1
*NEW: Ability to display the numeric values of ENUM literals in drop-down editors
*Added: The FormatEnumValue property defines the HTML expression used to display the value of each enum literal, shown to the right of the item in drop-down editors. For instance, FormatEnumValue = "value" shows the raw value, while "(`" + (len(value) > 2 ? `0x` + hex(value) : value) + `")" displays values of 2 digits or fewer as-is, and longer values in hexadecimal prefixed with 0x
*Fixed: Can't change the selected value by pressing the SPACE key in drop-down editors for Enum types when the check box is not displayed (AllowMultipleValuesOnEnum property)
ExRecord, 17.0.0.4
*Added: Update the samples to support x64 configuration (/COM version)
*Fixed: The AttachTemplate method fails if using "handle" keyword on x64 version
*Fixed: The expropertieslist/com fails if the user is trying to spy the control (x64 version only, AllowSpy property, browses the object by drag and drop)
May08
ExHelper, 29.0.0.1
*Added: Display the values of ENUM literals in drop-down editors
*Fixed: Changes the output's background color to white
*Update: ExPropertiesList 24.0
May07
Expression, 20.0.0.8
*NEW: The ex-HTML tags, including fgcolor, bgcolor, gra, out, sha, solidline, and dotline, now support 150 named colors, such as <fgcolor red>, as well as RGB format specifications like <fgcolor rgb(255,0,0)>. This enhancement offers more flexibility in defining colors within ex-HTML tags
*Added: The `format` operator of expression properties supports formatting the time values, using h, hh, H, HH (hours with no/leading zero for single-digit hours; 12/24-hour clock), m, mm (minutes with no/leading zero for single-digit minutes), s, ss (seconds with no leading zero for single-digit seconds), t, tt (one character time marker string, such as A or P, or multi-character time marker string, such as AM or PM). For instance, the "date(value) format `hh:mm:ss tt`" returns the time in a 12-hour clock representation with hours, minutes, seconds, and an AM/PM indicator.
*Fixed: Sometimes, the Data.Files.Count property returns a wrong number of files, during OLE drag and drop events (/COM version)
ExRadialMenu, 19.0.0.1
*NEW: Ability to display the numbers in scientific (1.23e+03) or fixed-point (1230.00) notation
*Added: The format operator of expression properties supports formatting numbers in scientific (1.23e+03) or fixed-point (1230.00) notation; the "value format 'flags'" string accepts the pattern '%'<flags>?<width>?<precision>?<length>?<specifier>, where flags control formatting as follows: - (left-justify), + (always show sign), space (prefix space for positives), # (force decimal point or preserve trailing zeros), and 0 (pad with zeros), with optional width, precision, length (l, ll, L, etc.), and specifier (e, E, f, F, etc.). The format specifier e (or E) defines scientific (exponential) notation output. The format specifier f (or F) defines fixed-point notation output. For instance, "dbl(value) format '%.2e'" converts the value to a number and formats it using scientific notation (gives both the mantissa and the exponent in scientific notation (e.g., 1.23e+003)), showing 2 digits after the decimal point. For instance "dbl(value) format '%.2e' replace `e` with ` x 10<off -4>` replace `+00` with ``" shows the number using as mantissa and a power of 10, such as 1.23 x 10^3
*Added: The Icon parameter of the ReplaceIcon method supports loading an icon in various ways. If the ICON is not provided via its handle, it will attempt to load it from a picture using its reference, the full path to the picture file, or the picture's content encoded as BASE64 strings using the eXImages tool.
May05
ExG2antt, 27.0.0.6
*Added: Improves the speed to load and display the cells of PictureType associated with a field of OLEObject type (Images within DataSource())
*Fixed: The Column.Def(exCellDrawPartsOrder) property works correctly for ex-html cells only (The cell's caption overwrites the cell's check, icons or picture)
*Fixed: The Data.Files(i) property returns only the first letter of the file rather than the full name of the dragged file (/COM version)
ExHTML, 22.0.0.5
*NEW: The ex-HTML tags, including fgcolor, bgcolor, gra, out, sha, solidline, and dotline, now support 150 named colors, such as <fgcolor red>, as well as RGB format specifications like <fgcolor rgb(255,0,0)>. This enhancement offers more flexibility in defining colors within ex-HTML tags
*Added: The ExecuteTemplate() method can return the value of a variable. For instance, the eXSurface's PointToPosition method uses variables by reference which is not supported in PowerBuilder. For that you can use a code like ExecuteTemplate("dim x,y;x=-1;y=-1;PointToPosition(x,y);x") that returns the x-position (surface's coordinates) of the current mouse pointer. In the same manner you can use ExecuteTemplate("dim x,y;x=-1;y=-1;PointToPosition(x,y);y") to return the y-position.
*Fixed: Sometimes, the Data.Files.Count property returns a wrong number of files, during OLE drag and drop events (/COM version)
May01
ExSuite/JS, 4.4
*NEW: The on/off feature binds and unbinds event listeners to elements
*NEW: Ability to customize the pivot's display, allowing the use of graphical data representations instead of traditional tables (exontrol.pivot)
*Added: The expression properties include support for the week(date) operator, which returns the week number of a given date (exontrol.common)
*Added: The CustomView property retrieves the CustomView object of the pivot control, allowing you to redefine its display. For example, setting CustomView.Object = new exontrol.Graph("cvsPivot",{autoFit: true}) configures the pivot control to use the exontrol.Graph component for graphical data representation (exontrol.pivot)
*Added: CustomView.Object {object}, sets or gets the control that defines the custom view (exontrol.pivot)
*Added: CustomView.Visible {CustomViewVisibleEnum}, shows or hides the custom view (specifies whether the custom view is hidden, fully visible, or displayed alongside the default view with a horizontal or vertical splitter) (exontrol.pivot)
*Added: CustomView.Data {array}, retrieves the data as a 2-dimensional array. Additionaly, CustomView.Categories (leading category columns), Columns (CSV column names), Items (row count), Series (trailing series columns), and Stack (CSV stack names for pivoted columns) (exontrol.pivot)
*Added: on(event, listener, method) method to bind event handlers and off(event, listener, method) method to remove them, enabling dynamic event handling for specified events. For instance, oControl.on("click", function(oEvent){console.log("Control clicked:", oEvent);}); binds a click event listener to oControl, logging "Control clicked:" and the event details to the console when clicked. For instance, oControl.off("click"); unbinds the click event that was previously added using on() (availables for all components)
*Added: The Add/Remove method of the exontrol.Lts object now supports event names with or without the "on" prefix and is case-insensitive. For example, Listeners.Add("click", ...) is equivalent to Listeners.Add("onclick", ...). Previously, it was case-sensitive. (exontrol.common)
...
Apr30
ExPivot, 18.0.0.2
*Added: The Background(exTreeLinesColor) method defines the color to show the tree-lines (connecting lines from the parent to the children)
*Fixed: A GPF may occur on closing the form/window/dialog if one or more events are handled by AttachTemplate method
*Fixed: Sometimes, the last character of a centered or right-aligned caption gets partially displayed in Print and Print Preview
ExToolBar, 21.0.0.2
*Added: Delphi 12 sample
*Added: Enhances the loading speed of EBN files
*Fixed: Items with X or Y property set are ignored
Apr28
ExComboBox, 18.0.0.6
*Added: Sets or gets the control's Font property in design mode, for the /NET version
*Fixed: The BackColor/ForeColor properties of the /NET version are not serialized once the user changes in design mode (the control's background/foreground is set to the default value once the form is started)
*Fixed: The BackColor/ForeColor properties of the /NET version are not copied in design mode, when the user copies the control in design-mode using CTRL + C (copy) and CTRL + V (paste) combination
*Fixed: On some machines, the format keyword (within expression properties) provides more than 2 decimals for French(Canada) regional settings (for instance "12.3456 format ``" displays 12.3456 instead of 12.35)
ExButton, 23.0.0.4
*Added: Delphi 12 sample
*Added: The Value property indicates whether the button is clicked or released. For example, setting Value = True simulates clicking the button, triggering the Click event.
*Fixed: Declares event parameters as [in, out] in the control's Type library to ensure that the class wrapper correctly generates code for parameters passed by reference. For example, in Delphi, the wrapper class now displays the NewValue parameter of the Change event as var NewValue: OleVariant rather than const NewValue: OleVariant.
Apr23
ExTree, 19.2.0.1
*NEW: Ability to executes x-script code ( including events ), from a string, file or a safe array of bytes. This feature allows you to load the control's visual appearance and behavior, without having to write any line of code. The x-script code can save EBNs, icons, pictures into BASE64 encoded strings, and so everything can be put into a single file, that should be invoked by AttachTemplate method. This feature allows you to run any x-script code for any configuration of the component (/COM, /NET or /WPF). 
*Added: AttachTemplate method executes the giving x-script code, and attach events if found. The x-script code can contain handle keyword that defines a handler for the specified event. For instance, the AttachTemplate("handle Click() { print(Version) }") sends the control's Version property to the debugger for display. All you need is to open the DebugView tool, and click the control.
*Added: The control's Template page supports AttachTemplate so you can assign x-script code ( including events ) in design mode, and so the control's visual appearance and behavior is changed once the control is created at runtime (/COM version only). 
*Added: The control's SearchColumnIndex property specifies the column being dropped or excluded from the Columns floating-bar, during the LayoutChanged event. If the column is being hidden, the SearchColumnIndex property indicates a negative value, else a positive value. For instance, you can use the MarkSearchColumn property on True, to highlight the column being shown by the Columns floating-bar (ColumnsFloatBarVisible property)
ExGantt, 19.0.1.1
*Fixed: The HeaderSingleLine property is ignored if the control's header displays multiple levels of columns (Column.LevelKey property)
*Added: The state of the newly inserted child-item is automatically set on 1, if the column-partial check feature is enabled and the parent-item's state is 1 (Items.CellState, Column.PartialCheck)
*Fixed: Scolls the control's header on the fly, when user scrolls the control's content by drag and drop (AutoDrag property on exAutoDragScroll)
Apr16
ExPlorerTree, 23.0.0.1
*NEW: Expandable-captions support, or ability to expand/collapse the captions using HTML tags such as <a id;exp=text> or <a id;e64=encode64>
*Added: The <solidline> and <dotline> HTML tags support color in RGB format using the <solidline RRGGBB> or <dotline RRGGBB> syntax, which indicates the color to show the solid or dotted line
*Added: The ExecuteTemplate() method can return the value of a variable. For instance, the eXSurface's PointToPosition method uses variables by reference which is not supported in PowerBuilder. For that you can use a code like ExecuteTemplate("dim x,y;x=-1;y=-1;PointToPosition(x,y);x") that returns the x-position (surface's coordinates) of the current mouse pointer. In the same manner you can use ExecuteTemplate("dim x,y;x=-1;y=-1;PointToPosition(x,y);y") to return the y-position.
ExMenu, 18.0.0.4
*Added: Delphi 12 sample
*Fixed: Declares event parameters as [in, out] in the control's Type library to ensure that the class wrapper correctly generates code for parameters passed by reference. For example, in Delphi, the wrapper class now displays the NewValue parameter of the Change event as var NewValue: OleVariant rather than const NewValue: OleVariant.
*Fixed: Prevent returning the event parameter by reference when accessing the EventParam(index) property. For example, PowerBuilder generates a 'Bad runtime function reference' error if an event parameter passed by reference is accessed through the EventParam(index) property
Apr14
ExGrid, 18.0.1.7
*Fixed: The control's sort-bar displays no columns, if the SortBarColumnWidth property is positive (indicates the maximum width to display the column within the control's sort bar)
*Fixed: Changing the SortBarColumnWidth property has no effect for /NET or /WPF version
*Fixed: The column's caption is not vertically aligned if it contains \r\n sequences ( EOL )
*Fixed: Sometimes, the column's partial-check feature does not work correctly (Column.PartialCheck, Column.Def(exCellHasCheckBox))
ExMaskEdit, 16.0.0.2
*Added: Delphi 12 sample
*Added: The Icon parameter of the ReplaceIcon method supports loading an icon in various ways. If the ICON is not provided via its handle, it will attempt to load it from a picture using its reference, the full path to the picture file, or the picture's content encoded as BASE64 strings using the eXImages tool.
*Fixed: The ReplaceIcon method fails to load icons using handles in x64 applications.
Apr09
ExOrgChart, 21.0.0.5
*Added: The Icon parameter of the ReplaceIcon method supports loading an icon in various ways. If the ICON is not provided via its handle, it will attempt to load it from a picture using its reference, the full path to the picture file, or the picture's content encoded as BASE64 strings using the eXImages tool.
*Fixed: Prevent returning the event parameter by reference when accessing the EventParam(index) property. For example, PowerBuilder generates a 'Bad runtime function reference' error if an event parameter passed by reference is accessed through the EventParam(index) property
*Fixed: The ReplaceIcon method fails to load icons using handles in x64 applications.
ExSurface, 21.0.0.4
*Added: Update the samples to support x64 configuration (/COM version)
*Fixed: A custom-path link may be selected as it would be rectangular
*Fixed: A black frame appears around the control, even when the Appearance property is set to 0.
Apr07
ExSchedule, 23.0.0.5
*Added: EventKnownPropertyEnum.exEventBodyBackColor specifies the background color or the visual appearance of the event (body), equivalent of Event.BodyBackColor property
*Added: EventKnownPropertyEnum.exEventBodyForeColor specifies the foreground color of the event (body), equivalent of Event.BodyForeColor property
*Added: EventKnownPropertyEnum.exEventBodyPattern specifies the pattern of the event (body), equivalent of Event.BodyPattern property
*Added: EventKnownPropertyEnum.exEventShowStatus specifies whether the current event shows or hides its status, equivalent of Event.ShowStatus property
*Added: EventKnownPropertyEnum.exEventStatusColor specifies the color of the event's status, equivalent of Event.StatusColor property
*Added: EventKnownPropertyEnum.exEventStatusPattern specifies the pattern to show the event's status, equivalent of Event.StatusPattern property
*Added: EventKnownPropertyEnum.exEventLabelAlign indicates the alignment of the event's long label, equivalent of Event.LabelAlign property
...

2025..........................