Unit 'mselookupbuffer' Package
[Overview][Constants][Types][Classes][Index] [#msegui]

tcustomlookupbuffer

[Properties (by Name)] [Methods (by Name)]

Holds several parallel, integer-indexed arrays

Declaration

Source position: mselookupbuffer.pas line 104

type tcustomlookupbuffer = class(tactcomponent)

public

  constructor create(); override;

  destructor destroy; override;

  procedure beginupdate;

  procedure endupdate;

  procedure clearbuffer; virtual;

  procedure checkbuffer;

  procedure loadbuffer;

  function find();

  function findphys();

  function integervaluephys();

  function integervaluelog();

  function integerindex();

  function integerindexar();

  function integerar();

  function floatvaluephys();

  function floatvaluelog();

  function floatindex();

  function floatindexar();

  function floatar();

  function int64valuephys();

  function int64valuelog();

  function int64index();

  function int64indexar();

  function int64ar();

  function textvaluephys();

  function textvaluelog();

  function textindex();

  function textindexar();

  function textar();

  function lookupinteger();

  function lookupint64();

  function lookuptext();

  

A lookup buffer cannot distinguish a NULL value from a "zero" value

  function lookupfloat();

  function count; virtual;

  procedure addrow();

  

Adds one row to each array, taking values from the *values arrays up to the field count of each type (fieldcounttext etc.)

  procedure addrows();

  

Adds several rows to each array; only the minimum length across the input *values[i] arrays is inserted, longer ones are truncated

  function fieldnamestext; virtual;

  function fieldnamesfloat; virtual;

  function fieldnamesinteger; virtual;

  function fieldnamesint64; virtual;

  property fieldcounttext: Integer; [rw]

  property fieldcountfloat: Integer; [rw]

  property fieldcountinteger: Integer; [rw]

  property fieldcountint64: Integer; [rw]

  property integervalue []: Integer; [r]

  property floatvalue []: realty; [r]

  property int64value []: Int64; [r]

  property textvalue []: msestring; [r]

  property beforeload: lookupbuffereventty; [rw]

  property afterload: lookupbuffereventty; [rw]

  property onchange: notifyeventty; [rw]

end;

Inheritance

tcustomlookupbuffer

  

Holds several parallel, integer-indexed arrays

|

tactcomponent

|

tmsecomponent,iactivatorclient

  

Extends the FPC tcomponent with object linking facilities and the like; base of every MSEgui component

|

tcomponent,ievent,iificommand,iificlient

|

tpersistent

|

TObject

Description

Holds several parallel, integer-indexed arrays (of integer, int64, realty — also used for datetimes — and msestring) and lets you search a value in one array and read the corresponding value in another (see the lookup* functions), or search and then walk an array's values (find* and *value* functions). Each array can be addressed by its physical index (its raw storage row number, the *phys functions) or by a logical index (the *log functions and find): the logical index is built automatically, lazily, by sorting the array's values, and is what makes find (as opposed to findphys) fast on a large array. Fill the arrays manually with addrow/addrows; doloadbuffer (called by checkbuffer) is a no-op here, but is overridden by descendants such as tdblookupbuffer to (re)load the arrays automatically from a data source.


Documentation generated on: 2026-10-03