Gregor Markowski

Send e-mail to this Author

Professional set of Delphi and C++Builder components for virtual instrumentation

  • Meters, Bars (Gauge), with linear or log(10) scaling
  • Digital indicators (time, value)
  • Operating Point display
  • Dial (knob), Sliders, Trend/Recorder
  • buttons, switches, LED indicators
  • DB-Aware components and many more
Author Products

Total 10 products

Advanced DBEdit Controls v.2.00

DB-Aware Components > Visual > Edits and Memos

By Gregor Markowski.

Freeware 18 Dec 2014

Description

The suite of enhanced edit components:
  • TAdvEdit
  • TAdvMemo
  • TAdvTreeView
  • TAdvPopupEdit
  • TAdvDropDownEdit
  • TAdvDateTimeEdit
  • TAdvNumericEdit
  • TAdvComboBox
  • TAdvColorBox
  • TAdvDBEdit
  • TAdvDBMemo
  • TAdvDBTreeView
  • TAdvDBDateTimeEdit
  • TAdvDBNumericEdit
  • TAdvDBComboBox
  • TAdvDBLookupComboBox
  • TAdvDBLookupTreeView
  • TAdvDBColorBox
for fast and easy data entering.

All these components (except TAdvTreeView and TAdvDBTreeView) are descendants of TAdvCustomEdit class and TAdvCustomEdit class is improved descendant of TCustomEdit. I have created these components with minimum programming code. Wherever the original Borland code was not optimal I have overriden it, but generally Ive tried to take the maximum advantage of Borland code.

My idea also was to make these components maximum friendly for both keyboard and mouse using and to give them pretty look (see TMathCalculator and TDateTimeSelector which descendants are also used as dropdown window appropriately in TAdv(DB)NumericEdit and TAdv(DB)DateTimeEdit).

You will be amazed at the potentiality, efficiency and look and feel of AdvEdit components.

Some of important features in all components:

  • property Allignment
  • property AllowExitOnKeyPress lets You decide if after pressing key UP, key DOWN or RETURN focus is changed to previous or next control (in Memos case, behaviour after RETURN press depends also on WantReturns setting, if AllowExitOnKeyPress = True then if key Up was pressed and Carret was in top line then previous control is focused and if key down was pressed and Carret was in bottom line then next control is focused)
  • properties ColorWhenFocused and FontColorWhenFocused let You to change colors of the control when it receives focus, without a need of writing additional code anywhere in Form
  • improved border drawing (see DEMO-exe)
  • in components with dropped down windows:
    • property AllowInput lets You decide if user can enter data (also paste is controlled) or only choose something from the dropped down window (generally there is a system that lets You fully control data entering in very easy way)
    • property CursorOverButton lets You change mouse cursor when it moves over edit controls button
  • TAdvColorBox - smart component for selecting colors
    • Standard Colors List
    • Hue/Saturation/Lumination Color Palette
    • You can easely switch between these two PopupWindows
  • TAdv(DB)NumericEdit with dropped down calculator with rounding feature
    • TMathCalculator is small TCustomControl descendants, and same as TDateTimeSelector, contains no other control - only graphic function and event handlig
  • in TAdvDBLookupComboBox:
    • property EditingOptions lets You define how user can modify ListSources Dataset (insert, edit, delete / accessed by clicking on Buttons or PopupMenu) and how KeyValue should be set
    • property ListTitles is a semicolon separated string that lets You set column titles (if ListFields.Count > 1 and lvoColumnTitles in ListViewOptions); if ListTitles is empty then titles are taken from columns Field.DisplayLabel properties
    • properties ListTitlesColor and ListViewOptions let You customize appearance of the dropped down list (column headers, vertical and horizontal lines, rounding float fields to CurrencyDecimals)
    • HotTrack property and MouseWheel scroll let You walk through the dropdown list in much more comfortable way than in standard TDBLookupComboBox
    • support for multifield KeyField
  • in TAdvDBLookupTreeView
    • works just like TAdvDBLookupComboBox
    • tree is built dynamically, "on demand" of expanding node
    • very fast node locating when setting a KeyValue
    • SizingBorder for popup TreeView window
    • You can decide if only Childless nodes can be selected
    • property MultiParentAllowed: if set to True then You can attach same nodes to varies Parents
  • in TAdvCheckListBox, TAdvComboCheckBox, TAdvDBComboCheckBox
    • check flag can be stored as integer or bytes
    • options are identified by list item indexes
  • and much more - see DEMO application (using TObject descendants class hierarchy)
  • see History.Txt for changes
  • You can register the components under Your own names if You already have components with such names in Your Delphi IDE. Take a look at the AdvEditCtrls_RegDeclar.pas placed in Source folder. You can use them in Your IDE completly free - there is no time limit or NAGscreen.

    Informations

    • Status: Trial (work while IDE is running)
    • Source: None
    • Exe demo: included
    • Size: 1 854kB

    Platforms: D2006, D2007, D6, D7

    AdvTreeViews v.1.25

    DB-Aware Components > Visual > TreeViews

    By Gregor Markowski.

    Freeware 30 Mar 2013

    Description

    Two components:
    • TAdvTreeView (descendant of TCustomTreeView)
    • TAdvDBTreeView (descendant of TAdvTreeView)
    for fastest handling of tree data structure.

    Features:

    • full drag & drop support (whent property DragAndDropEnabled set to True)
    • fastest creating tree data structure, just "from scratch", using keyboard or built-in popup menu
    • properties ColorWhenFocused and FontColorWhenFocused let You change colors of the control when it receives focus, without a need of writing additional code anywhere in Form
      in TAdvDBTreeView
    • three build methods:
      • tbmParentFieldSort
      • tbmDatasetFilter
      • tbmProcessRawDataset
    • ID field can be of any text data type
    • null value for root allowed
    • tree is built dynamically, "on demand" of expanding node
    • very fast node locating when setting a KeyValue
    • property MultiParentAllowed: if set to True then You can attach same nodes to varies Parents
    • and much more - see DEMO application (using TObject descendants class hierarchy)
    • see History.Txt for changes
    You can register the components under Your own names if You already have components with such names in Your Delphi IDE. Take a look at the AdvTreeViews_RegDeclar.pas placed in Source folder. You can use the components in Your IDE completly free - there is no time limit or NAGscreen.

    Informations

    • Status: Trial (work while IDE is running)
    • Source: None
    • Exe demo: included
    • Size: 671kB

    Platforms: D2006, D2007, D6, D7

    DBGridTreeView v.1.12

    DB-Aware Components > Visual > TreeViews

    By Gregor Markowski.

    Freeware 03 May 2013

    Description

    TDBGridTreeView is a TCustomDBGrid descendants for browsing tree data structures..

    If assigned Dataset is not recognized as TTreeDataset then TDBGridTreeView acts exactly as standard TDBGrid.

      published properties of TreeViewParams
    • ButtonStyle
    • LineStyle
    • TreeColumnAlign

      the assigned Dataset is accessed through PropInfo and must have following published properties to be recognized as TTreeDataset
    • TreeParams with two string properties KeyField and ParentField
    • Depth
    • HasChildren
    • IsFirstChild
    • IsLastChild
    • IsAncestorLastChild
    • Expanded

    Try included DEMO-exe for more details

    Informations

    • Status: Fully functional
    • Source: None
    • Exe demo: included
    • Size: 842kB

    Platforms: D2006, D2007, D6, D7

    FIB DAC v.2.02

    DB-Aware Components > Direct DB Access > Interbase and Firebird

    By Gregor Markowski.

    Freeware 23 Jul 2009

    Description

    The suite of eight data-aware components:
    • TFIB_Database
    • TFIB_Transaction
    • TFIB_Dataset
    • TFIB_UpdateSQL
    • TFIB_Query
    • TFIB_StoredProc
    • TFIB_Generator
    • TFIB_CreateAlterDrop
    for direct access of Firebird databases (Interbase also, but tested only on Interbase ver. 7.5). The components are based only on my own, not seldom non-standard, ideas. I have created these components with minimum programming code (all DCUs weigh ONLY 308KB). Wherever the original Borland code was not optimal I have overriden it, but generally Ive tried to take the maximum advantage of Borland code.

    You will be amazed at the potentiality and efficiency of FIB DAC components that set a new standard, unattainable for other compomnents being usually heavy, overgrown and complicated. TFIB_Dataset is the only dataset component that besides simplest (and slowest together) static data access method, supports dynamic data access and partial (growing) records fetching (IN MANY CASES EVEN HUNDREDS TIME FASTER THEN STATIC METHOD; see Readme.txt and Readme_comparision.txt for more details).

    Here are some features of the most important component, i.e. TFIB_Dataset:

    • the fastest Firebird Servers data access (when Unidirectional = True, also as replacement for all dbExpress drivers; when used as data supplier for ClientDataSet, TFIB_Dataset automatically sets Unidirectional to True and allocates 0 bytes for fetched records)
    • one component for all recordsets, ReadOnly and not ReadOnly i.e. physical Tables
      • You can also select from stored procedures; published property ProcName lets You choose required procedure (among procedures that return any fields) from the drop-down list at design time
    • published property SQLStatement is divided into five sections: SELECT...FROM... , WHERE , GROUP BY , PLAN , ORDER BY
    • statements based on one table with joined other recordsets ARE TREATED AS TABLES i.e. NOT READONLY DATASETS
    • three strategies for accessing of data:
      • daStaticAccess (nonTable Datasets are always accessed in this manner) - all fields of fetched records are stored in memory; this is the conventional and the slowest method of data access)
      • daDynamicAccess - purely record identifying fields are stored in memory (if there is no primary/unique key for the table or size of primary/unique index > 8, RDB$DB_KEYs are stored)
        ESPECIALLY RECOMMENDED FOR BIG TABLES WITH LOTS OF FIELDS
      • daPartialFetch - all fields are stored in memory but records are fetched and appended in progressive manner during each call of one of search method (i.e. Locate, LocateNearest, FindKey, FindNearest) so You have the guarantee that searched records are fetched
        ESPECIALLY RECOMMENDED FOR HUGE TABLES
    • each table based TFIB_Dataset, immediately after it is opened, returns the real RecordCount in the rowset and can be browsed from bottom without any time delay
    • ingenious algorithms for FASTEST exact and nearest record locating
    • MasterSourceFields are defined regardless of IndexFieldNames, it means You can sort detail Dataset as You want without loosing link to MasterSource
      • in dsInsert state, TFIB_Dataset assigns for You MasterFields values to appropriate LinkedFields automatically
      • You can use Borland Field Link Designer at design-time to set relationship between master-detail fields
    • allowed multiple reference for same parameter (listed only once in Params property), for example: SELECT * FROM PERSONS WHERE (:BirthPlace_ID = 0 OR BIRTHPLACE_ID = :BirthPlace_ID) AND (:BirthDate = 0 OR BIRTHDATE >= :BirthDate)
    • records are stored with minimum allocation of memory (each null field value takes just one bit of memory and string fields occupy only actual length)
    • fully supported array fields; each array field is created as TFIBArrayField (descendant of TArrayField) and is compatible with TCustomDBGrid descendants
    • public property IndexFieldNames lets You sort dataset both in ascending and descending order
    • when performing Delete UpdateStatus returns usDeleted and after deletion succeded DataEvent(deUpdateRecord, 0) is sent before Resync is called, so deleted Record is at this moment still in the Buffer retuned by ActiveBuffer
    • fully supported EMBEDED server; see Demo app
    • and much more; see Readme.txt for more information
    • see History.txt for changes

    Informations

    • Status: Trial (work while IDE is running)
    • Source: None
    • Exe demo: included
    • Size: 946kB

    Platforms: D2006, D2007, D6, D7

    Memory Dataset v.3.11

    DB-Aware Components > Direct DB Access > Memory Tables

    By Gregor Markowski.

    Freeware 18 Dec 2014

    Description

    The TMemoryDataset is a perfect replacement for Delphi TClientDataset.

    I have created this component with minimum programming code and tried to achieve the maximum functionality Wherever the original Borland code was not optimal I have overridden it, but generally Ive tried to take the maximum advantage of Borland code.You will be amazed at the potentiality and efficiency of TMemoryDataset component - TMemoryDataset not only allocates circa 1/3 of the memory that TClientDataset allocates but also is much faster in opening and creating indexes (especially multiple field indexes)

    The package contains also TTreeDataset component that is a descendant of TMemorydataset.

    Here are some features of the TMemoryDataset component:

    • no Midas and no external DLLs are used, TMemoryDataset is written in pure pascal code
    • borland TDatasetProvider functionality is integrated into TMemoryDataset, and property ProviderOptions implements apropriate TDatasetProvider options
    • cascade updates are performed on nonTMemoryDataset datasets as well, if detail dataset has properties MasterFields and IndexFieldNames
    • unlike TClientDataset, TMemoryDataset method ApplyUpdates doesn't perform Commit, so You can apply updates for multiple datasets in one transaction, by explicit call Commit method of Database assosiated with DefaultDestDataset after last call of ApplyUpdates
    • You can use TMemoryDataset with nonSQL based datasets as well
    • You can create fields in field editor without any link to other dataset or just use a dataset as FieldDefsSource, or set DefaultSrcDataset or DefaultDestDataset; if DefaultSrcDataset and DefaultDestDataset are different use the DefFieldValueAssignment (avByFieldIndex, avByFieldName,avByFieldNo) to link fields between the datasets
    • create indexes by setting IndexFieldNames; You can use 'desc' and 'cs' keywords to create descanding or casesensitive index for example: 'field1name desc cs; field2name;field3name cs;field4name desc';
    • by setting ranges, You don't need to think if field is indexed descending or ascending, TMemoryDataset will allways take values greater (or equal depending on KeyExclusive value) then lower value of range values and lower (or equal) then greater value of range values
    • ingenious algorithms for FASTEST creating of multiple field indexes and exact and nearest record locating
      • sorting on fkLookup fields (if LookupDataset allows to set index on LookupResultField it means there is IndexFieldDefs/IndexName or IndexFieldNames published property) without allocating any additional memory, sorting algorithm uses index in LookupDataset
      • a Calculated field can also be sorted; if it has an equivalent sort order in a fkData field, then put this fkData field name into Origin property of the calculated field
    • full support for FASTEST filtering (especially when using 'IN' expressions: 'aField in (value1,value2,..., valueN)'
    • MasterSourceFields are defined regardless of IndexFieldNames, it means You can sort detail Dataset as You want without loosing link to MasterSource
      • in opposite to TClientDataset,TDatasetField is natively used in connection with MasterSource, showing in simply way details in TDBGrid descendants
      • in dsInsert state, TMemoryDataset assigns for You MasterFields values to appropriate LinkedFields automatically
      • You can use Borland Field Link Designer at design-time to set relationship between master-detail fields
    • records are stored with minimum allocation of memory (string fields occupy actual length); there are 2 strategies of storing data (property StorageModel):
      • smVariableFieldsOffsets - minimum amount of memory is allocated for fields data (each null field value takes just one bit of memory)
      • smFixedFieldsOffsets - little more memory used for fields storage but faster creation of fields indexes and faster locating on searched records
    • all field types are fully supported
    • property StoreEmptyStrAsNull; if set to True then:
      • strings with 0 length or containing only whitespaces are stored as null
      • memory is saved in smVariableFieldsOffsets StorageModel
    • property StoreZeroAsNull for TNumericField descendants; if set to True then:
      • zero values are stored as null
      • negative values are placed before nulls in sort order
      • more clarity is given when browsing data in TCustomDBGrid descendants
      • memory is saved in smVariableFieldsOffsets StorageModel
    • SparseArrayElementCount published property lets You set the way of storing array fields:
      • -1 means all array elements are created in TArrayField Fields property
      • 0 means all array elements are stored but only one child field named 'Array_Elements' is created, but still You have access to each array element
      • >0 defines the maximum chilld field count that can be created and accessed
      • if array field is created in field editor it is highly recommended to use TmArrayField for which You can set value of property Size at design time
    • extreme fast locating of required records; nearest locate methods let You search with options (nloLowestDifference, nloKeyExclusive)
    • LoadDataFromTextFile method allows import not only text fields but multiline Memos and Blobs (in form of hexadecimal strings) as well
    • You can use TMemoryDataset in You Delphi IDE without any restrictions
    • try DEMO-exe to see an example of using TMemoryDataset (including TADTField)

    Informations

    • Status: Trial (work while IDE is running)
    • Source: None
    • Exe demo: included
    • Size: 1 704kB

    Platforms: D2006, D2007, D6, D7

    MS SQL Server Detector v.1.1

    Database Tools > MS SQL > Other

    By Gregor Markowski.

    Freeware 24 Oct 2011

    Description

    This program detects all runnig Microsoft SQL Servers on the local network in the fastest possible way. Detected servers are listed in the grid with three columns: Host name, Instance name and SQL Server version.

    Informations

    • Status: Fully functional
    • Source: None
    • Size: 526kB

    Platforms: XP,

    MSSQL DAC v.2.55

    DB-Aware Components > Direct DB Access > MS SQL

    By Gregor Markowski.

    Freeware 17 Dec 2009

    Description

    The suite of eight data-aware components:
    • TSQLCE_Database
    • TSQL_Database
    • TSQL_Dataset
    • TSQL_UpdateSQL
    • TSQL_Query
    • TSQL_StoredProc
    • TSQL_Function
    • TSQL_CreateAlterDrop
    for direct access of Microsoft SQL Server (2008, 2005 and 2000 and Compact Editions 3.x) databases. The only thing You need is client library installed on the computer (sqlncli10, sqlncli or sqlsrv32, but Native Client library is recommended for SQL Servers 2000 as well) or Compact Edition Servers 3.x if You want to access *.sdf files. The components are largely based on my own non-standard ideas and I have created these components with minimum programming code (all DCUs weigh ONLY 395KB). Wherever the original Borland code was not optimal I have overridden it, but generally Ive tried to take the maximum advantage of Borland code.

    You will be amazed at the potentiality and efficiency of MSSQL DAC components that set a new standard, unattainable for other components being usually heavy, overgrown and complicated. TSQL_Dataset is the only dataset component that besides simplest (and slowest together) static data access method, supports dynamic data access and partial (growing) records fetching (IN MANY CASES EVEN HUNDREDS TIME FASTER THEN STATIC METHOD; see Readme.txt and Readme_comparision.txt for more details).

    TSQLCE_Database is a component for access of Microsoft SQL Servers Compact Edition ver 3.x; important properties:

    • ClientDriver: (cdAutoDetect, cdSqlSrvCe__3_5, cdSqlSrvCe__3_0);
      • the best way is to install both versions (3.1 and 3.5) and to use the default cdAutoDetect value, because TSQLCE_Database will choose for You the proper driver to connect to the database
    • ConnectOptions: a set of three options
      • coCreateIfNotExists
      • coCreateEncrypted
      • coOpenExclusive
    • for customizing the behavior of TSQLCE_Database during establishing connection to the database

    At design time TSQL_Database detects all running MS SQL Servers very fast and let You choose server and instance name from the drop down list of ServerName property.

    TSQL_StoredProc :

    • implemented all MS SQL Server procedure features i.e. output parameters and multiple rowsets
    • returned rowsets (if any) can be accessed (at run-time only) by public property
      • Rowsets[RowsetNo] : TSQL_Dataset
      • published property FreeRowsetOn_CDS_read: applied when a Rowset is used as data supplier for ClientDataSet - if set to True (default) then all stored records are released from memory after ClientDataSet has finished getting records from the rowset
    • preparing and unpreparing is performed automatically
      • the only thing You need to do is to assign parameter values and call ExecProc method

    Here are some features of the most important component, i.e. TSQL_Dataset:
    • the fastest SQL Server data access (when Unidirectional = True, also as replacement for all dbExpress drivers; when used as data supplier for ClientDataSet, TSQL_Dataset automatically sets Unidirectional to True and allocates 0 bytes for fetched records)
    • one component for all recordsets, ReadOnly and not ReadOnly i.e. physical Tables
      • You can also select from Table-valued functions, for example: SELECT * FROM aTable_ValuedFunction(:par_1,:par_2,:par_3,:par_N)
      • public property TableValuedFunction lets You choose required function from the dropped down list at designtime
    • published property SQLStatement is divided into four sections: SELECT...FROM... , WHERE , GROUP BY , ORDER BY
    • statements based on one table with joined other recordsets ARE TREATED AS TABLES i.e. NOT READONLY DATASETS
    • three strategies for accessing of data:
      • daStaticAccess (nonTable Datasets are always accessed in this manner) - all fields of fetched records are stored in memory; this is the conventional and the slowest method of data access)
      • daDynamicAccess - purely record identifying fields are stored in memory (if there is no primary/unique key / Identity field for the table then it is marked as ReadOnly)
        ESPECIALLY RECOMMENDED FOR BIG TABLES WITH LOTS OF FIELDS
      • daPartialFetch - all fields are stored in memory but records are fetched and appended in progressive manner during each call of one of search method (i.e. Locate, LocateNearest, FindKey, FindNearest) so You have the guarantee that searched records are fetched
        ESPECIALLY RECOMMENDED FOR HUGE TABLES
    • each table based TSQL_Dataset, immediately after it is opened, returns the real RecordCount in the rowset and can be browsed from bottom without any time delay
    • ingenious algorithms for FASTEST exact and nearest record locating
    • MasterSourceFields are defined regardless of IndexFieldNames, it means You can sort detail Dataset as You want without loosing link to MasterSource
      • in dsInsert state, TSQL_Dataset assigns for You MasterFields values to appropriate LinkedFields automatically
      • You can use Borland Field Link Designer at design-time to set relationship between master-detail fields
    • allowed multiple reference for same parameter (listed only once in Params property), for example: SELECT * FROM dbo.PERSONS WHERE (:BirthPlace_ID = 0 OR BIRTHPLACE_ID = :BirthPlace_ID) AND (:BirthDate = 0 OR BIRTHDATE >= :BirthDate)
    • records are stored with minimum allocation of memory (each null field value takes just one bit of memory and string fields occupy only actual length)
    • all field types are fully supported
      • decimal fields up to size 38.x (stored in packed format with minimum memory allocation as well)
      • each SQL_VARIANT fields is created as TmVariantField (a little bit improved TVariantField descendant) and handled (read and write) as native SQL type, for example even if field value is set AsString = '2001-01-01 12:34:56' it wil be stored as SQL_DATETIME
    • when performing Delete, UpdateStatus returns usDeleted and after deletion succeded DataEvent(deUpdateRecord, 0) is sent before Resync is called, so at this moment deleted Record is still in the Buffer retuned by ActiveBuffer
    • and much more; see Readme.txt for more information
    • see History.txt for changes
    • try DEMO-exe to feel the power of MSSQL DAC

    Informations

    • Status: Trial (work while IDE is running)
    • Source: None
    • Exe demo: included
    • Size: 1 089kB

    Platforms: D2006, D2007, D6, D7

    TAdvDBGrid v.1.31

    DB-Aware Components > Visual > Grids

    By Gregor Markowski.

    Freeware 18 Dec 2014

    Description

    TAdvDBGrid is descendant of TDBGrid and implements following features:

    TAdvDBColumn:

    • multiline columns headers
    • bands for group of columns
    • footers with various kind of counting (sum, min, max, avg); scope can be set for entire dataset or only for visible rows
    • property ColumnKind let You customize visualization and editing way of data; can be one the following values
      • ckDefault, ckBoolean, ckOptions, ckLookupEdit, ckDate, ckDateTime, ckTime, ckLinkTo_wwwSite, ckLinkTo_eMail, ckPassword, ckProgressbar, ckColor
    • for all numeric and datetime fields appropriate (extreme lightweight) Popup window is available (if property ExtendedEditor is set to True - default)
    TAdvDBGrid has also following features:
    • AutoSort; if underlaying Dataset has properties IndexDefs and IndexName, or IndexFieldNames then clicking on title automatically sorts underlaying dataset (holding Ctrl or Alt You can click multiple columns for sorting on multiple fields)
    • blobs editors (images can be shown in hint windows)
    • variable colouring of rows (in both state: on focus in and focus out)
    • columns are scrolled horizontally directly on thumb move; vertically, You can decide by including or not oeThumbTracking into OptionsEx
    • fields can be edited even if the selected Row is highlighted (dgRowSelect is included into Options)
    • rows can be selected by checking checkboxes in indicator column
    • support for multifield KeyField of LookupDataList
    • for more features see DEMO application
    the package contains also TAdvDBGridTreeView component that as a descendant of TAdvCustomDBGrid introduces only one new published property TreeParams with following features:
    • ButtonStyle: TDBGTVButtonStyle default bsRectangle
    • LineStyle: TDBGTVLineStyle default lsDotted
    • TreeColumnAlign: TBGTVTreeColumnAlign default tcaAlignToTree
    • if assigned TDataset is not recognized as TTreeDataset then TAdvDBGridTreeView acts exactly as TAdvDBGrid

    Informations

    • Status: Trial (work while IDE is running)
    • Source: None
    • Exe demo: included
    • Size: 1 611kB

    Platforms: D2006, D2007, D6, D7

    TreeDataset v.1.17

    DB-Aware Components > Direct DB Access > Memory Tables

    By Gregor Markowski.

    Freeware 18 Dec 2014

    Description

    TTreeDataset as a descendants of TMemoryDataset lets You handle tree data structures in very easy way. For example a descendant of TCustomDBGrid needs just a few methods to be overriden to work with TTreeDataset.

      main features
    • if You attach a data source then poLoadDataOnOpen in ProviderOptions lets You decide if all nodes are loaded on open; if the option is excluded then tree is builded dynamically according to the progress of node expanding
    • when dataset is filtered then You can use FilteredRecordHandling to decide if not filtered out descendants of filtered out record can be attached to the nearest not filtered out ancestor or excluded from the tree
    • in multiparent tree data structure all data is preserved on changing parent and no additional memory is allocated
    • following published properties let You adjust any visual-data aware component for TTreeDataset access
      • Depth - the level of the node; root branch starts with 0
      • HasChildren and Expanded - for correct visualization of expand buttons; by setting Expanded to True or False You can expand or collapse node
      • IsLastChild (if needed IsFirstChild as well) and IsAncestorLastChild - for drawing of tree lines; IsAncestorLastChild returns a string of 'Depth' count character indicators: 'F' for False and 'T' for True where first character indicates if ancestor on root branch is last child, and so on...

    Try DEMO-exe to see an example of a random generated human population.

    Informations

    • Status: Trial (work while IDE is running)
    • Source: None
    • Exe demo: included
    • Size: 1 939kB

    Platforms: D2006, D2007, D6, D7

    TXPBitBtn v.1.0

    Components > Buttons and Check Boxes > Buttons

    By Gregor Markowski.

    Freeware 13 Jan 2008

    Description

    A smart and lightweight descendant of TButton, with same properties as standard Delphi TBitBtn component. The Glyph isn't visible at design time. There are two versions of bpl modules attached: the one (WinXP_Style) with TXPManifest component included (installed on Win32 component palette) and the other one (XPThemedBitBtn) contains only TXPBitBtn (in both variants installed on Standard component palette).

    Informations

    • Status: Fully functional
    • Source: None
    • Size: 54kB

    Platforms: D6


    More interesting links and pages



    Wheel of Fortune Answers


    Discover UK licensed casino sites at Casinopilot


    Check out Valforex reviews


    Scrummaster and Agile trainings


    Word Unscrambler


    Check the best online casinos in UK


    What is control panel?


    China Wholesale Suppliers Directory


    Free Angram Solver


    Syllable Word Counter


    Printable Sudoku Puzzles


    Download Instagram Stories


    Word Search Puzzles


    Try out new casino sites at SmartphoneCasinos.co.uk


    https://www.skillonnetcasinos.com


    https://www.jumpmanslotsites.com


    https://www.nektancasinosites.com


    Percentage Calculator


    Stopwatch


    KG To LBS


    Time Calculator