YOUSEFUL / DELPHI

Component reference

Every Atlas class, with its unit, members, and examples. Registered components appear on the Delphi tool palette; support types are the records, enumerations and base classes you use with them.

214 entries

Atlas VCL

Data models, grids, trees, editors, charts, scheduling and application layout for Windows. Tutorial · Sample projects

ComponentUnitKindSummary
TAtlasActionTileAtlas.LayoutVisual controlA coloured, clickable tile that shows and executes an action; Enter and Space activate it.
TAtlasChartAtlas.ChartsVisual controlLine, bar and pie chart control with chart-owned series, gaps for missing points and offscreen rendering.
TAtlasCommandBarAtlas.LayoutVisual controlTabbed command bar that groups action-bound buttons under tab and group captions.
TAtlasDiagramAtlas.DiagramVisual controlInteractive view of a TAtlasGraph: select, drag, connect, rename, add and delete nodes.
TAtlasGanttAtlas.GanttVisual controlGrid-based Gantt chart over a TAtlasTaskPlan: one row per task with caption, predecessor IDs, a timeline bar and a progress fill.
TAtlasGaugeAtlas.GaugesVisual controlHorizontal bar gauge with a caption, a clamped value and warning and critical colour thresholds.
TAtlasGraphAtlas.GraphNon-visual componentNon-visual model of captioned nodes and directed edges with stable IDs, hierarchy layout, cycle detection and transactional JSON.
TAtlasGridAtlas.GridVisual controlA grid that shows a TAtlasTable, sorts by header click and edits cells in place with validation.
TAtlasInspectorAtlas.InspectorVisual controlA property grid that lists the published properties of an object and edits them with type and range checks.
TAtlasMapAtlas.MapVisual controlOffline Web Mercator map control for your own markers and paths, with pan, anchored zoom and marker hit testing.
TAtlasNavigationAtlas.LayoutVisual controlList box whose items are actions: selecting an item executes its action.
TAtlasPdfDocumentAtlas.PdfNon-visual componentLoads a local PDF file through the Windows PDF engine and renders pages to PNG images at a chosen width.
TAtlasPdfViewerAtlas.PdfVisual controlPanel with a toolbar, status text and a scrollable page image that shows a PDF file through TAtlasPdfDocument, with page navigation and zoom.
TAtlasPivotAtlas.PivotNon-visual componentSummarizes a TAtlasTable by two dimensions into a new table with row, column and grand totals.
TAtlasPrintDocumentAtlas.PrintingNon-visual componentPaginates the current view of a TAtlasTable into fixed-size pages for preview, custom drawing or the Windows printer.
TAtlasRichEditAtlas.RichEditVisual controlA Windows RichEdit control with one-call selection formatting, find and replace, RTF bytes and redo.
TAtlasScheduleAtlas.ScheduleNon-visual componentIn-memory appointment model with stable IDs, per-resource conflict checking, interval queries, change notification and transactional JSON.
TAtlasSchedulerAtlas.SchedulerVisual controlDay or week view over a TAtlasSchedule with hour rows, side-by-side lanes for overlapping appointments, selection, keyboard movement and host edit events.
TAtlasSheetGridAtlas.SheetGridVisual controlA string grid that shows a TAtlasWorkbook: calculated values in the cells, the raw formula in the editor.
TAtlasSpellCheckerAtlas.SpellNon-visual componentChecks text against a word list you supply and suggests corrections ranked by edit distance.
TAtlasTableAtlas.DataNon-visual componentAn in-memory table with a fixed, typed schema, a sorted and filtered view, change notifications and CSV import and export.
TAtlasTaskPlanAtlas.GanttNon-visual componentTask model with intervals, progress, acyclic finish-to-start dependencies, staged automatic scheduling and transactional JSON.
TAtlasThemerAtlas.ThemesNon-visual componentApplies one of eleven built-in colour palettes to a control and every control inside it, and saves the choice by name.
TAtlasTileBoardAtlas.LayoutVisual controlFlow panel that lays out action tiles left to right and wraps them.
TAtlasTreeAtlas.TreeVisual controlA tree view with lazy child loading, safe node moves, caption search, sorting and JSON persistence.
TAtlasValueEditAtlas.EditorsVisual controlA TEdit that validates its text against a TAtlasColumnKind and normalizes it when focus leaves.
TAtlasWizardAtlas.WizardVisual controlPage-by-page wizard with Back, Next/Finish and Cancel buttons, a validation veto and finish, cancel and page-change events.
TAtlasWorkbookAtlas.SpreadsheetNon-visual componentA sparse one-sheet model of text, numbers and formulas with five functions, cell formats and JSON persistence.
TAtlasWorkspaceAtlas.LayoutVisual controlPanel of named, resizable edge and client panes that move between edges, float in tool windows and save their layout as JSON.
EAtlasChartError support typeAtlas.ChartsClassRaised when a chart rejects a coordinate, a second pie series, a negative pie value or an unrenderable range.
EAtlasDataError support typeAtlas.DataClassThe exception raised for invalid table data, schema changes, CSV text, pivot input and value edits.
EAtlasFormulaError support typeAtlas.SpreadsheetClassThe exception raised by TAtlasWorkbook for formula errors, bad addresses and invalid JSON; Code holds the error code.
EAtlasGraphError support typeAtlas.GraphClassRaised by TAtlasGraph for unknown nodes or edges, invalid bounds, self or duplicate edges, cycles and rejected JSON.
EAtlasLayoutError support typeAtlas.LayoutClassRaised by the workspace, command bar, tile board and navigation for invalid panes, layouts, bounds or missing actions.
EAtlasPdfError support typeAtlas.PdfClassException raised by TAtlasPdfDocument and TAtlasPdfViewer for Atlas VCL's own checks: missing file, wrong thread, page or zoom out of range, invalid render size, timeout.
EAtlasPrintError support typeAtlas.PrintingClassException raised by TAtlasPrintDocument for a missing table, an invalid page geometry or a page index out of range.
EAtlasPropertyError support typeAtlas.InspectorClassThe exception raised by TAtlasInspector.SetProperty for values it cannot assign.
EAtlasScheduleError support typeAtlas.ScheduleClassException raised by TAtlasSchedule and TAtlasScheduler for invalid intervals, unknown IDs, resource conflicts, rejected imports and invalid view settings.
EAtlasTreeError support typeAtlas.TreeClassThe exception raised by TAtlasTree for foreign nodes, cyclic moves and invalid JSON.
TAtlasAggregate support typeAtlas.PivotEnumerationThe aggregate TAtlasPivot.Summarize computes: count, sum, minimum, maximum or average.
TAtlasAppointment support typeAtlas.ScheduleRecordOne appointment of a TAtlasSchedule: ID, caption, resource, half-open interval and colour.
TAtlasAppointmentEvent support typeAtlas.SchedulerTypeMethod type of the TAtlasScheduler OnSelect and OnEdit events: the sender and an appointment ID.
TAtlasAppointmentRect support typeAtlas.SchedulerRecordAn appointment ID with the rectangle it occupies in the last rendered scheduler view.
TAtlasCellFormat support typeAtlas.SpreadsheetRecordHow a TAtlasWorkbook cell displays its number and how TAtlasSheetGrid paints it.
TAtlasChartKind support typeAtlas.ChartsEnumerationThe chart type of a TAtlasChart: line, bar or pie.
TAtlasChartPoint support typeAtlas.ChartsRecordA chart point as stored by a series: coordinates, a missing flag and an optional caption.
TAtlasChartSeries support typeAtlas.ChartsClassOne named, coloured list of points in a TAtlasChart, created by AddSeries.
TAtlasColumn support typeAtlas.DataRecordThe definition of one TAtlasTable column: name, kind, editability and preferred width.
TAtlasColumnKind support typeAtlas.DataEnumerationThe four value kinds of a TAtlasTable column: text, number, boolean and date.
TAtlasGeoPoint support typeAtlas.MapRecordA latitude and longitude in degrees, as used by TAtlasMap.
TAtlasGraphEdge support typeAtlas.GraphRecordA directed graph edge: source and target node IDs.
TAtlasGraphNode support typeAtlas.GraphRecordA graph node as returned by TAtlasGraph: ID, caption and rectangle.
TAtlasLoadChildrenEvent support typeAtlas.TreeTypeThe type of TAtlasTree.OnLoadChildren: procedure(Sender: TObject; Node: TTreeNode) of object.
TAtlasNumberFormat support typeAtlas.SpreadsheetEnumerationThe four number formats of a workbook cell: general, fixed, percent and currency.
TAtlasPageValidationEvent support typeAtlas.WizardTypeEvent type of TAtlasWizard.OnValidate: a page is about to be left through Next.
TAtlasPdfRect support typeAtlas.PdfRecordSource rectangle type of the Windows PDF render options binding; not used by the public rendering API.
TAtlasPdfSize support typeAtlas.PdfRecordWidth and height of a PDF page as reported by the Windows PDF engine (device-independent pixels at 96 dpi).
TAtlasRow support typeAtlas.DataTypeOne row of string values, TArray<string>, as returned by AtlasParseCSV.
TAtlasSpellingIssue support typeAtlas.SpellRecordOne unknown word found by TAtlasSpellChecker.Check: the word, its one-based start and its length.
TAtlasTask support typeAtlas.GanttRecordOne task of a TAtlasTaskPlan: ID, caption, half-open interval and progress percentage.
TAtlasTheme support typeAtlas.ThemesRecordA named palette of surface, alternate, primary and text colours, returned by AtlasTheme.

Atlas Analytics

Report definitions and linked dashboards over Atlas VCL data. Tutorial · Sample projects

ComponentUnitKindSummary
TAtlasDashboardAtlas.DashboardVisual controlA scroll box of KPI, chart and grid cards that all show one filtered snapshot of a TAtlasTable and refresh together.
TAtlasReportDefinitionAtlas.ReportsNon-visual componentA serializable report definition: a detail projection or a grouped summary over a TAtlasTable, run into a table, an HTML page or a print document.
EAtlasAnalyticsError support typeAtlas.AnalyticsClassRaised for invalid queries, report definitions and dashboard widgets.
TAtlasAnalytics support typeAtlas.AnalyticsClassStatic query functions over a TAtlasTable: select and filter, group and aggregate, and export the dataset JSON.
TAtlasDashboardWidget support typeAtlas.DashboardClassOne card of a TAtlasDashboard: its definition and the table it currently shows.
TAtlasFilter support typeAtlas.AnalyticsRecordOne filter condition: field, operator and value as text.
TAtlasFilterOperator support typeAtlas.AnalyticsEnumerationThe comparison of a TAtlasFilter: equal, not equal, contains and the four ordered comparisons.
TAtlasMeasure support typeAtlas.AnalyticsRecordOne aggregate column: the field to read, the result caption and the kind of calculation.
TAtlasMeasureKind support typeAtlas.AnalyticsEnumerationHow a measure is calculated: count, sum, minimum, maximum or average.
TAtlasWidgetDefinition support typeAtlas.DashboardRecordWhat a dashboard widget shows: kind, title, measured field, measure and chart dimension.
TAtlasWidgetKind support typeAtlas.DashboardEnumerationThe three dashboard widget kinds: KPI card, bar chart and grid.

Atlas UI

Kanban boards, an Object Pascal syntax editor and verified update staging. Tutorial · Sample projects

ComponentUnitKindSummary
TAtlasKanbanAtlas.KanbanVisual controlCustom-drawn Kanban board that shows a TAtlasKanbanModel as columns of cards, with selection, mouse and keyboard moves and wheel scrolling.
TAtlasKanbanModelAtlas.KanbanNon-visual componentNon-visual Kanban data model: ordered columns with optional work-in-progress limits, cards with stable ids, vetoable moves and a validated JSON format.
TAtlasSyntaxMemoAtlas.SyntaxVisual controlRich Edit control that colours Object Pascal source as you type and keeps its own text-only undo and redo history.
TAtlasWebUpdaterAtlas.UpdaterNon-visual componentNon-visual component that reads a JSON update manifest over HTTPS, compares version numbers, and downloads, verifies and stages the update file without running it.
EAtlasKanban support typeAtlas.KanbanClassRaised by the Kanban model and board for invalid ids, full columns, bad positions, unsupported JSON and changes during BeforeMove.
EAtlasUpdate support typeAtlas.UpdaterClassRaised by TAtlasWebUpdater for refused manifests, URLs, versions and limits, HTTP errors, and downloads that fail verification.
TAtlasBeforeCardMove support typeAtlas.KanbanTypeThe type of TAtlasKanbanModel.BeforeMove: a method that may veto a card move.
TAtlasKanbanCard support typeAtlas.KanbanRecordOne card of a Kanban board: its id, title and detail text.
TAtlasKanbanColumn support typeAtlas.KanbanClassInternal storage of one Kanban column; read columns through TAtlasKanbanModel instead.
TAtlasToken support typeAtlas.SyntaxRecordOne token found by the Object Pascal lexer: where it starts, how long it is and what kind it is.
TAtlasTokenKind support typeAtlas.SyntaxEnumerationThe kinds of Object Pascal token the syntax lexer tells apart: plain text, keyword, string, comment and number.
TAtlasUpdateInfo support typeAtlas.UpdaterRecordThe fields of an update manifest: version, download URL, SHA-256 digest and size.

Atlas Fin

Financial charts with OHLCV data, indicators and multi-pane views. Tutorial · Sample projects

ComponentUnitKindSummary
TAtlasFinChartAtlas.FinChartVisual controlA multi-pane financial chart: price bars, volume and technical studies in stacked panes on one shared, gap-free time axis.
EAtlasFinError support typeAtlas.FinDataClassThe exception Atlas Fin raises for invalid bars, CSV text, periods, zoom factors and export requests.
TAtlasBands support typeAtlas.FinIndicatorsRecordThe three lines TAtlasIndicators.Bollinger returns.
TAtlasBar support typeAtlas.FinDataRecordOne price bar: time, open, high, low, close and volume.
TAtlasBarEvent support typeAtlas.FinChartTypeThe event type of TAtlasFinChart.OnCrosshair: a bar index, or -1 for none.
TAtlasBarPeriod support typeAtlas.FinDataEnumerationThe calendar period TAtlasBarSeries.Aggregate combines bars into.
TAtlasBarSeries support typeAtlas.FinDataClassA validated, time-ordered list of OHLCV price bars with live update, time lookup, aggregation and CSV.
TAtlasFinPane support typeAtlas.FinChartClassOne horizontal pane of a TAtlasFinChart: a title, a height weight, its own value scale and the studies drawn in it.
TAtlasFinPanes support typeAtlas.FinChartClassThe collection behind TAtlasFinChart.Panes: the panes of a chart from top to bottom.
TAtlasFinStudies support typeAtlas.FinChartClassThe collection behind TAtlasFinPane.Studies: what a pane draws, in drawing order.
TAtlasFinStudy support typeAtlas.FinChartClassOne thing a pane draws: the price bars, the volume, or a technical indicator computed from the closes.
TAtlasIndicators support typeAtlas.FinIndicatorsClassTechnical indicators over an array of values: SMA, EMA, Bollinger bands, RSI and MACD.
TAtlasMacd support typeAtlas.FinIndicatorsRecordThe three lines TAtlasIndicators.MACD returns.
TAtlasStudyKind support typeAtlas.FinChartEnumerationWhat a TAtlasFinStudy draws: one of four price styles, volume, or one of five indicators.

Atlas Info

Data-aware grid, lookup, filter and rich text controls. Tutorial · Sample projects

ComponentUnitKindSummary
TAtlasDataFilterAtlas.DBFilterNon-visual componentA non-visual controller that filters a dataset by case-insensitive text on one field, composed with the dataset's own filter, and puts that filter back when cleared or freed.
TAtlasDBGridAtlas.DBControlsVisual controlA data-aware grid with validated typed edits that never post on their own, CSV export of visible or selected rows, and a row height that follows the monitor DPI.
TAtlasDBLookupComboAtlas.DBControlsVisual controlA data-aware lookup combo box that selects by key or by case-insensitive display text, checks the key against the lookup table and leaves the master record in edit state.
TAtlasDBRichEditAtlas.DBControlsVisual controlA data-aware rich edit that loads, formats and stores RTF in a blob or memo field and leaves posting to your code.
TAtlasFilterEditAtlas.DBFilterVisual controlAn edit box that applies its text to a TAtlasDataFilter every time the text changes.
EAtlasDatabaseError support typeAtlas.DBControlsClassThe exception the Atlas Info controls and filter raise when they refuse an operation.
TAtlasTextMatch support typeAtlas.DBFilterEnumerationHow TAtlasDataFilter compares the field text with the filter text.

Atlas Plot Pro

Statistics, box plots, heat maps, radar plots and analysis series. Tutorial · Sample projects

ComponentUnitKindSummary
TAtlasBoxPlotAtlas.BoxPlotVisual controlBox-and-whisker chart: one box per sample with quartiles, median, mean, 1.5 IQR whiskers and outliers.
TAtlasHeatMapAtlas.HeatMapVisual controlA matrix of values drawn as coloured cells with a two- or three-stop gradient, empty cells and a colour scale.
TAtlasPolarPlotAtlas.PolarPlotVisual controlRadar (spider) chart: categories as spokes, each series a filled or outlined shape across them.
TAtlasBoxHit support typeAtlas.BoxPlotRecordWhat TAtlasBoxPlot.HitTest found: the part, the category and, for an outlier, its index.
TAtlasBoxPart support typeAtlas.BoxPlotEnumerationThe part of a box plot a hit test found.
TAtlasBoxStats support typeAtlas.PlotStatsRecordBox plot statistics of one sample: count, quartiles, mean, whiskers and outliers.
TAtlasCustomChart support typeAtlas.ProChartVisual controlBase class of the Atlas Plot Pro controls: painting, off-screen rendering, export, title, footnote, legend and batching.
TAtlasHistogram support typeAtlas.PlotStatsRecordHistogram bins: edges, counts and a lookup of the bin a value falls in.
TAtlasLegendEntry support typeAtlas.ProChartRecordOne line of a legend drawn by TAtlasCustomChart.DrawLegend: a caption and a swatch colour.
TAtlasPlotAnalysis support typeAtlas.PlotAnalysisClassAdds a histogram, a polynomial fit curve or a smoothed copy as a new series of a TAtlasPlot.
TAtlasPolarGrid support typeAtlas.PolarPlotEnumerationShape of the radar chart's rings: polygons through the spokes or circles.
TAtlasPolarStyle support typeAtlas.PolarPlotEnumerationWhether radar series are filled shapes or outlines.
TAtlasPolynomial support typeAtlas.PlotStatsRecordA fitted least-squares polynomial: evaluate it anywhere and read its R squared.
TAtlasStats support typeAtlas.PlotStatsClassStatistics without a chart: mean, deviation, quantiles, box statistics, histograms, correlation, polynomial fits and smoothing.

Atlas Plot

General purpose charts: series, axes, legend, zoom and image export. Tutorial · Sample projects

ComponentUnitKindSummary
TAtlasPlotAtlas.PlotVisual controlVCL chart control with line, step, area, bar, point and pie series, zoom, hit testing and PNG, SVG, EMF and CSV export.
EAtlasPlotError support typeAtlas.PlotAxisClassRaised by Atlas Plot for invalid values, ranges, sizes and formats; the chart is left unchanged.
TAtlasCanvasSurface support typeAtlas.PlotSurfaceClassDrawing surface over any VCL TCanvas: screen, bitmap, metafile or printer.
TAtlasPlotAxis support typeAtlas.PlotAxisClassScale of one TAtlasPlot axis: automatic or manual range, logarithmic, date/time, inverted, grid, title and label format.
TAtlasPlotKind support typeAtlas.PlotSeriesEnumerationHow a TAtlasPlotSeries is drawn: line, step, area, bar, point or pie.
TAtlasPlotLegendPosition support typeAtlas.PlotEnumerationSide of a TAtlasPlot the legend occupies.
TAtlasPlotMarks support typeAtlas.PlotSeriesEnumerationWhich label a TAtlasPlotSeries draws next to each point.
TAtlasPlotPoint support typeAtlas.PlotSeriesRecordOne stored point of a series: argument, value, gap flag, text and colour.
TAtlasPlotPointEvent support typeAtlas.PlotTypeEvent type of TAtlasPlot.OnPointClick: the clicked series and point index.
TAtlasPlotSeries support typeAtlas.PlotSeriesClassOne data series of a TAtlasPlot: its points, kind, colour, marks and statistics.
TAtlasPlotSeriesList support typeAtlas.PlotSeriesClassThe collection behind TAtlasPlot.Series.
TAtlasPlotStacking support typeAtlas.PlotEnumerationHow TAtlasPlot stacks bar and area series.
TAtlasPlotSurface support typeAtlas.PlotSurfaceClassAbstract drawing target that TAtlasPlot.Render draws through: pen, brush, font, lines, shapes, text and clipping.
TAtlasPlotTick support typeAtlas.PlotAxisRecordOne axis tick: its value and its label.
TAtlasRenderProc support typeAtlas.PlotSurfaceTypeCallback that draws onto a surface; passed to AtlasExportImage.
TAtlasSvgSurface support typeAtlas.PlotSurfaceClassDrawing surface that builds an SVG document.

Atlas Virtual Grid

A custom-drawn grid over memory, on-demand or chart-backed data. Tutorial · Sample projects

ComponentUnitKindSummary
TAtlasMemoryDataAtlas.VGridDataNon-visual componentA data source that holds typed cells in memory, filled from invariant text or from typed cells.
TAtlasPlotDataAtlas.VGridPlotNon-visual componentThe chart companion: a data source that shows a TAtlasPlot chart as a table, with one row per argument and one column per series, and writes edits back to the chart.
TAtlasVirtualDataAtlas.VGridDataNon-visual componentA data source that stores nothing: the application supplies each cell on demand through OnGetCell and receives edits through OnSetCell.
TAtlasVirtualGridAtlas.VGridVisual controlA custom-drawn VCL data grid that holds no cells: it asks a data source for the ones on screen. It has bands, frozen columns, sorting, a text filter, totals, multi-row selection, in-place editing and CSV, HTML, SVG and PNG output.
EAtlasGridError support typeAtlas.VGridDataClassThe exception class of Atlas Virtual Grid, and the way a data source refuses a value.
TAtlasCell support typeAtlas.VGridDataRecordOne typed cell value: text, number, date/time or yes/no, or null.
TAtlasCellKind support typeAtlas.VGridDataEnumerationThe four kinds of cell value.
TAtlasCellStyleEvent support typeAtlas.VGridTypeMethod type of TAtlasVirtualGrid.OnCellStyle: choose a cell's background and text colour.
TAtlasColumnAlign support typeAtlas.VGridEnumerationHorizontal alignment of a column's cells, title and total.
TAtlasGetCellEvent support typeAtlas.VGridDataTypeMethod type of TAtlasVirtualData.OnGetCell: supply one cell.
TAtlasGridArea support typeAtlas.VGridEnumerationThe part of the grid a point falls on, as reported by HitTest.
TAtlasGridColumn support typeAtlas.VGridClassOne grid column: which data column it shows, and its title, width, format, band, alignment, visibility, read-only flag and total.
TAtlasGridColumns support typeAtlas.VGridClassThe grid's collection of columns.
TAtlasGridData support typeAtlas.VGridDataNon-visual componentThe abstract base of every data source: rows, typed columns, cells, change notification and batching.
TAtlasGridHit support typeAtlas.VGridRecordThe result of TAtlasVirtualGrid.HitTest: area, column and row under a point.
TAtlasGridMessageEvent support typeAtlas.VGridTypeMethod type of TAtlasVirtualGrid.OnEditError: the reason a value was refused.
TAtlasSetCellEvent support typeAtlas.VGridDataTypeMethod type of TAtlasVirtualData.OnSetCell: store or refuse one edited cell.
TAtlasTotalKind support typeAtlas.VGridEnumerationThe footer totals: none, sum, average, minimum, maximum or count.

Atlas Crypto

Misuse-resistant hashing, key derivation, encryption and signatures over Windows CNG. Tutorial · Sample projects

ComponentUnitKindSummary
TAtlasFileProtectorAtlas.CryptoComponentsNon-visual componentNon-visual component that encrypts and decrypts files and text with a password (PBKDF2-HMAC-SHA256 and AES-256-GCM in authenticated chunks), with progress and cancel.
TAtlasHashCalculatorAtlas.CryptoComponentsNon-visual componentNon-visual component that returns SHA-2 (or legacy SHA-1 and MD5) digests of text, streams and files as hexadecimal, and checks a file against a published checksum in constant time.
EAtlasCryptoError support typeAtlas.CryptoClassThe one exception class raised by every Atlas Crypto failure: bad arguments, failed authentication, CNG errors and cancel.
TAtlasAesGcm support typeAtlas.CryptoClassRaw AES in Galois/Counter Mode with a 12-byte nonce and a 16-byte tag. Prefer TAtlasSecretBox.
TAtlasBytes support typeAtlas.CryptoClassByte helpers: hexadecimal, URL-safe base64, UTF-8, joining, constant-time comparison and wiping.
TAtlasCryptoProgress support typeAtlas.CryptoBoxTypeProgress callback of the stream and file functions: an anonymous procedure with bytes done, bytes in total and a cancel flag.
TAtlasCryptoProgressEvent support typeAtlas.CryptoComponentsTypeThe method type of OnProgress on both components: bytes done, bytes in total, and a flag to cancel.
TAtlasEcdh support typeAtlas.CryptoKeysClassElliptic-curve Diffie-Hellman key agreement on P-256: two parties derive the same 32-byte key from their own private key and the other's public key.
TAtlasEcdsa support typeAtlas.CryptoKeysClassECDSA signatures on the NIST P-256 curve with SHA-256, and conversion of public keys to and from X/Y coordinates.
TAtlasHash support typeAtlas.CryptoClassSHA-2, SHA-1 and MD5 hashes and HMAC, in one call or incrementally over bytes, buffers, streams and files.
TAtlasHashKind support typeAtlas.CryptoEnumerationThe hash algorithms: SHA-256, SHA-384 and SHA-512, and the legacy SHA-1 and MD5.
TAtlasKdf support typeAtlas.CryptoClassKey derivation: PBKDF2 to stretch passwords, HKDF to derive several keys from one strong secret.
TAtlasKeyPair support typeAtlas.CryptoKeysRecordA public and a private key as CNG key blobs in TBytes, with Wipe for the private half.
TAtlasRandom support typeAtlas.CryptoClassCryptographically secure random bytes, unbiased integers and URL-safe tokens from the operating system.
TAtlasRsa support typeAtlas.CryptoKeysClassRSA with OAEP (SHA-256) encryption of short secrets and PSS (SHA-256, 32-byte salt) signatures, for keys of 2048 to 8192 bits.
TAtlasSecretBox support typeAtlas.CryptoBoxClassSeal and open bytes or text with a 32-byte key or a password, using AES-256-GCM with generated nonces and salts.
TAtlasStreamCrypt support typeAtlas.CryptoBoxClassEncrypt and decrypt streams and files of any size in authenticated chunks, with a key or a password, progress and cancel.
TCngAlgorithm support typeAtlas.Crypto.CngClassLow-level wrapper of a Windows CNG algorithm provider handle, used by the other units; applications rarely need it.

Atlas Log

Structured logging with levels, templates, scopes, sinks and a live viewer. Tutorial · Sample projects

ComponentUnitKindSummary
TAtlasAsyncSinkAtlas.LogSinksNon-visual componentQueues events and writes them to another sink on a background thread, with a bounded queue.
TAtlasCallbackSinkAtlas.LogSinksNon-visual componentHands each event to an event handler, on the thread that logged.
TAtlasConsoleSinkAtlas.LogSinksNon-visual componentWrites events to standard output, and to standard error from ErrorLevel upward.
TAtlasDebugSinkAtlas.LogSinksNon-visual componentSends events to OutputDebugString, for the IDE event log and debug viewers.
TAtlasFileSinkAtlas.LogSinksNon-visual componentWrites UTF-8 lines to a file, with size rotation, daily files and retention.
TAtlasLoggerAtlas.LogNon-visual componentTakes log events at six levels, fills message templates, and hands each event to its sinks.
TAtlasLogViewAtlas.LogViewVisual controlA live, filterable VCL view of a TAtlasMemorySink, with level colours.
TAtlasMemorySinkAtlas.LogSinksNon-visual componentKeeps the most recent events in a ring buffer, for the log viewer, diagnostics and tests.
EAtlasLogError support typeAtlas.LogClassRaised for configuration mistakes; logging calls themselves never raise.
TAtlasJsonFormatter support typeAtlas.LogFormatClassFormats an event as one JSON object on one line.
TAtlasLogChannel support typeAtlas.LogRecordA logger bound to one category; cheap to copy and to keep in a field.
TAtlasLogClock support typeAtlas.LogTypeA replaceable clock returning UTC, so tests can control event times and cross midnight.
TAtlasLogEvent support typeAtlas.LogRecordOne log event: time, level, category, message, template, scope, thread, exception and properties.
TAtlasLogEventHandler support typeAtlas.LogSinksTypeThe event type of TAtlasCallbackSink.OnEvent.
TAtlasLogFormatter support typeAtlas.LogFormatClassThe abstract base of the formatters: one event in, one line of text out.
TAtlasLogLayout support typeAtlas.LogSinksEnumerationHow a text sink writes an event: a text pattern or a JSON object.
TAtlasLogLevel support typeAtlas.LogEnumerationThe six log levels, from trace to fatal, plus llOff as a threshold.
TAtlasLogProperty support typeAtlas.LogRecordA name and a text value taken from a message template hole or a spare argument.
TAtlasLogSink support typeAtlas.LogClassThe abstract base of every sink: logger link, threshold and a lock around writing.
TAtlasOverflow support typeAtlas.LogSinksEnumerationWhat an asynchronous sink does when its queue is full.
TAtlasTextFormatter support typeAtlas.LogFormatClassFormats an event as one line of text from a pattern of tokens.
TAtlasTextSink support typeAtlas.LogSinksClassThe base of the sinks that write lines of text: Layout and Pattern.

Atlas MQTT

An MQTT 3.1.1 client component and a small embeddable broker. Tutorial · Sample projects

ComponentUnitKindSummary
TAtlasMqttBrokerAtlas.MqttBrokerNon-visual componentA small MQTT 3.1.1 broker that runs inside your program, for tests, simulators, demos and a local message bus.
TAtlasMqttClientAtlas.MqttClientNon-visual componentAn MQTT 3.1.1 client component: publishes and subscribes at qualities 0 to 2, keeps the connection alive and reconnects by itself.
EAtlasMqttError support typeAtlas.MqttCodecClassBase class of every Atlas MQTT exception; raised for invalid arguments, settings and packets.
EAtlasMqttProtocolError support typeAtlas.MqttCodecClassRaised when received bytes break the MQTT 3.1.1 wire format.
EAtlasMqttTransportError support typeAtlas.MqttTransportClassRaised for socket failures: binding, connecting, name lookup, sending.
TAtlasMqttAuthenticateEvent support typeAtlas.MqttBrokerTypeThe type of TAtlasMqttBroker.OnAuthenticate: decide whether a client may connect.
TAtlasMqttCodec support typeAtlas.MqttCodecClassMQTT 3.1.1 packet encoding and strict decoding, topic validation and topic matching, as class functions.
TAtlasMqttConnectedEvent support typeAtlas.MqttClientTypeThe type of TAtlasMqttClient.OnConnected.
TAtlasMqttMessageEvent support typeAtlas.MqttClientTypeThe type of TAtlasMqttClient.OnMessage: one delivered message.
TAtlasMqttPacketEvent support typeAtlas.MqttClientTypeThe type of TAtlasMqttClient.OnPublished: the broker acknowledged a message.
TAtlasMqttParser support typeAtlas.MqttCodecClassTurns a TCP byte stream into MQTT packets, however the bytes are split, with a size limit checked on the header.
TAtlasMqttState support typeAtlas.MqttClientEnumerationWhere a client's connection stands, as reported by TAtlasMqttClient.State.
TAtlasMqttSubscribedEvent support typeAtlas.MqttClientTypeThe type of TAtlasMqttClient.OnSubscribed: the broker answered a subscription.
TAtlasMqttTextEvent support typeAtlas.MqttClientTypeThe type of TAtlasMqttClient.OnDisconnected and OnError: something happened, with the reason in words.
TAtlasMqttTransport support typeAtlas.MqttTransportClassThe abstract byte pipe under the client: derive from it to supply TLS, a tunnel or a test double.
TAtlasMqttTransportEvent support typeAtlas.MqttClientTypeThe type of TAtlasMqttClient.OnCreateTransport: supply the byte pipe for the next connection attempt.
TAtlasTcpListener support typeAtlas.MqttTransportClassA listening TCP socket that accepts connections as TAtlasTcpTransport objects; the broker is built on it.
TAtlasTcpTransport support typeAtlas.MqttTransportClassThe TCP transport over Winsock, IPv4 only; used by the client unless OnCreateTransport supplies another.
TMqttPacket support typeAtlas.MqttCodecRecordOne MQTT 3.1.1 control packet as a record: the input of TAtlasMqttCodec.Encode and the output of Decode.
TMqttPacketKind support typeAtlas.MqttCodecEnumerationThe sixteen MQTT control packet types; the ordinal is the type number on the wire.
TMqttQoS support typeAtlas.MqttCodecEnumerationQuality of service: at most once, at least once, exactly once.