Objekt TKAPBtrTable: Porovnání verzí
Z K.A.P.
Skočit na navigaciSkočit na vyhledáváním |
m |
||
(Nejsou zobrazeny 2 mezilehlé verze od stejného uživatele.) | |||
Řádek 3: | Řádek 3: | ||
TKAPBtrTable = class(TDataset) | TKAPBtrTable = class(TDataset) | ||
− | constructor Create; | + | constructor Create; // vlastníkem objektu je Application |
+ | constructor CreateA(AOwner: TComponent); // zde můžete určit vlastníka objektu - nutné např. v případě, že chcete objekt použít do QR2 sestavy | ||
function BookmarkValid(Bookmark: TBookmark): Boolean; | function BookmarkValid(Bookmark: TBookmark): Boolean; | ||
function CompareBookmarks(Bookmark1, Bookmark2: TBookmark): Integer; | function CompareBookmarks(Bookmark1, Bookmark2: TBookmark): Integer; | ||
Řádek 78: | Řádek 79: | ||
property MasterFields: string; | property MasterFields: string; | ||
property MasterSource: TDataSource; | property MasterSource: TDataSource; | ||
+ | function FieldAsBase64(Field: TField): string; // vrací hodnotu fieldu ve formátu BASE64 (vhodné pro binární pole) | ||
+ | function ExtOpeClear(): TKAPBtrTable; // zruší veškeré nastavení pro rozšířenou práci s TKAPBtrTable | ||
+ | function ExtOpeWhere(FieldName: string; ComparisonCode: byte; Value: variant; AndOr: byte = 1): TKAPBtrTable; // např. ('CisloDokl', _ExtOpe_GreaterOrEqual_, 1000, _ExtOpe_And_) | ||
+ | function ExtOpeWhereAsString(FieldName: string; ComparisonCode: byte; Value: string; AndOr: byte = 1): TKAPBtrTable; // např. ('CisloDokl', _ExtOpe_GreaterOrEqual_, '1000', _ExtOpe_And_) | ||
+ | function ExtOpeSelect(FieldNames: string): TKAPBtrTable; // např. ('Sklad;TypDokladu;ICO'); | ||
+ | function ExtOpeSelectByPos(SegmentLen: word; SegmentPos: word): TKAPBtrTable; | ||
+ | procedure ExtOpeActivate(BufferSize : word = 0; MaxRecords: word = 0; MaxSkipped : word = 0); // aktivuje použití výše uvedených rozšířených příkazů | ||
+ | procedure ExtOpeDeactivate; | ||
+ | function ExtOpeState: byte; // viz konstanty _CacheXXX | ||
end; | end; | ||
+ | |||
+ | const | ||
+ | _ExtOpe_End_ = 0; | ||
+ | _ExtOpe_And_ = 1; | ||
+ | _ExtOpe_Or_ = 2; | ||
+ | |||
+ | _ExtOpe_Equal_ = 1; | ||
+ | _ExtOpe_Greater_ = 2; | ||
+ | _ExtOpe_Less_ = 3; | ||
+ | _ExtOpe_NotEqual_ = 4; | ||
+ | _ExtOpe_GreaterOrEqual_ = 5; | ||
+ | _ExtOpe_LessOrEqual_ = 6; | ||
+ | _ExtOpe_AltColSeq_ = 32; | ||
+ | _ExtOpe_Field_ = 64; | ||
+ | _ExtOpe_UpCase_ = 128; | ||
+ | |||
+ | _CacheNotInit_ = 0; | ||
+ | _CacheInit0_ = 1; | ||
+ | _CachePrepared_= 2; | ||
+ | _CacheReaded_ = 3; | ||
+ | _CacheInitReaded_ = 4; | ||
Viz příklad [[Příklady PASCAL]] | Viz příklad [[Příklady PASCAL]] |
Aktuální verze z 20. 7. 2021, 16:58
Objekt TKAPBtrTable
Tato třída slouží pro manipulaci s databázovými tabulkami ve skriptovacím programovacím jazyku. Je možné otevřít tabulku (konkrétní složka je určena automaticky na základě aktuální databáze, do které je uživatel přihlášen), procházet záznamy tabulky, filtrovat záznamy, načítat či měnit hodnoty z jednotlivých polí záznamu apod.
TKAPBtrTable = class(TDataset) constructor Create; // vlastníkem objektu je Application constructor CreateA(AOwner: TComponent); // zde můžete určit vlastníka objektu - nutné např. v případě, že chcete objekt použít do QR2 sestavy function BookmarkValid(Bookmark: TBookmark): Boolean; function CompareBookmarks(Bookmark1, Bookmark2: TBookmark): Integer; function ControlsDisabled: Boolean; function CopyFields(Source: TDataSet): Integer; function FieldByName(const FieldName: String): TField; function FindField(const FieldName: String): TField; function FindKey(const KeyValues: array of const): Boolean; function GetBookmark: TBookmark; function GetBtrRecordLength: LongInt; function GotoKey: Boolean; function IsEmpty: Boolean; function IsLinkedTo(DataSource: TDataSource): Boolean; function IsRangeApplied: Boolean; function IsSequenced: Boolean; function Locate(const KeyFields: string; const KeyValues: Variant; Options: TLocateOptions): Boolean; function Lookup(const KeyFields: string; const KeyValues: Variant; const ResultFields: string): Variant; function MoveBy(Distance: Integer): Integer; function UpdateStatus: TUpdateStatus; procedure Append; procedure AppendRecord(const Values: array of const); procedure ApplyRange; procedure Cancel; procedure CancelRange; procedure ClearFields; procedure Close; procedure CopyTable(const NewTableName: string); procedure CreateTable(Rewrite: Boolean); procedure Delete; procedure DeleteTable; procedure DisableControls; procedure Edit; procedure EmptyTable; procedure EnableControls; procedure First; procedure FreeBookmark(Bookmark: TBookmark); procedure GetDetailDataSets(List: TList); procedure GetDetailLinkFields(MasterFields, DetailFields: TList); procedure GetFieldList(List: TList; const FieldNames: String); procedure GetFieldNames(List: TStrings); procedure GetIndexInfo; procedure GetIndexNames(List: TStrings); procedure GotoBookmark(Bookmark: TBookmark); procedure GotoCurrent(Table: TBtrTable); procedure GotoNearest; procedure CheckBrowseMode; procedure Insert; procedure InsertRecord(const Values: array of const); procedure Last; procedure Next; procedure Open; procedure Post; procedure Prior; procedure Refresh; procedure Resync(Mode: TResyncMode); procedure SetKey; procedure SetRange(const StartValues, EndValues: array of const); property Active: Boolean; property AutoCalcFields: Boolean; property DatabaseName: string; property Filter: string; property Filtered: Boolean; property TableName: string; property TableNextId: Word default 0; property OpenMode: TBtrOpenMode default openNormal; property ReadOnly: Boolean; property TableOwner: string; property SortFilter: string; property TableOptions: TBtrTableOptions default [toAutoEraseFilter]; property Locale: TBtrLocale default lcAuto; property UpgradeMode: TUpgradeMode default umQuestion; property IndexFieldNames: string; property IndexName: string; property MasterFields: string; property MasterSource: TDataSource; function FieldAsBase64(Field: TField): string; // vrací hodnotu fieldu ve formátu BASE64 (vhodné pro binární pole) function ExtOpeClear(): TKAPBtrTable; // zruší veškeré nastavení pro rozšířenou práci s TKAPBtrTable function ExtOpeWhere(FieldName: string; ComparisonCode: byte; Value: variant; AndOr: byte = 1): TKAPBtrTable; // např. ('CisloDokl', _ExtOpe_GreaterOrEqual_, 1000, _ExtOpe_And_) function ExtOpeWhereAsString(FieldName: string; ComparisonCode: byte; Value: string; AndOr: byte = 1): TKAPBtrTable; // např. ('CisloDokl', _ExtOpe_GreaterOrEqual_, '1000', _ExtOpe_And_) function ExtOpeSelect(FieldNames: string): TKAPBtrTable; // např. ('Sklad;TypDokladu;ICO'); function ExtOpeSelectByPos(SegmentLen: word; SegmentPos: word): TKAPBtrTable; procedure ExtOpeActivate(BufferSize : word = 0; MaxRecords: word = 0; MaxSkipped : word = 0); // aktivuje použití výše uvedených rozšířených příkazů procedure ExtOpeDeactivate; function ExtOpeState: byte; // viz konstanty _CacheXXX end;
const
_ExtOpe_End_ = 0; _ExtOpe_And_ = 1; _ExtOpe_Or_ = 2;
_ExtOpe_Equal_ = 1; _ExtOpe_Greater_ = 2; _ExtOpe_Less_ = 3; _ExtOpe_NotEqual_ = 4; _ExtOpe_GreaterOrEqual_ = 5; _ExtOpe_LessOrEqual_ = 6; _ExtOpe_AltColSeq_ = 32; _ExtOpe_Field_ = 64; _ExtOpe_UpCase_ = 128;
_CacheNotInit_ = 0; _CacheInit0_ = 1; _CachePrepared_= 2; _CacheReaded_ = 3; _CacheInitReaded_ = 4;
Viz příklad Příklady PASCAL