Objekt TKAPBtrTable: Porovnání verzí

Z K.A.P.
Skočit na navigaciSkočit na vyhledávání
m
m
 
(Není zobrazeno 11 mezilehlých verzí od stejného uživatele.)
Řádek 1: Řádek 1:
TKAPBtrTable
+
===Objekt TKAPBtrTable===
 +
Tato třída slouží pro manipulaci s databázovými tabulkami ve [[Skriptovací programovací jazyk|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.
  
   function BookmarkValid(Bookmark: TBookmark): Boolean;, CallMethodBtrTable);
+
TKAPBtrTable = class(TDataset)
   function CompareBookmarks(Bookmark1, Bookmark2: TBookmark): Integer;, CallMethodBtrTable);
+
  constructor Create;  // vlastníkem objektu je Application
   function ControlsDisabled: Boolean;, CallMethodBtrTable);
+
  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 CopyFields(Source: TDataSet): Integer;, CallMethodBtrTable);
+
   function BookmarkValid(Bookmark: TBookmark): Boolean;
   function FieldByName(const FieldName: String): TField;, CallMethodBtrTable);
+
   function CompareBookmarks(Bookmark1, Bookmark2: TBookmark): Integer;
   function FindField(const FieldName: String): TField;, CallMethodBtrTable);
+
   function ControlsDisabled: Boolean;
   function FindKey(const KeyValues: array of const): Boolean;, CallMethodBtrTable);
+
   function CopyFields(Source: TDataSet): Integer;
   function GetBookmark: TBookmark;, CallMethodBtrTable);
+
   function FieldByName(const FieldName: String): TField;
   function GetBtrRecordLength: LongInt;, CallMethodBtrTable);
+
   function FindField(const FieldName: String): TField;
   function GotoKey: Boolean;, CallMethodBtrTable);
+
   function FindKey(const KeyValues: array of const): Boolean;
   function IsEmpty: Boolean;, CallMethodBtrTable);
+
   function GetBookmark: TBookmark;
   function IsLinkedTo(DataSource: TDataSource): Boolean;, CallMethodBtrTable);
+
   function GetBtrRecordLength: LongInt;
   function IsRangeApplied: Boolean;, CallMethodBtrTable);
+
   function GotoKey: Boolean;
   function IsSequenced: Boolean;, CallMethodBtrTable);
+
   function IsEmpty: Boolean;
   function Locate(const KeyFields: string; const KeyValues: Variant; Options: TLocateOptions): Boolean;, CallMethodBtrTable);
+
   function IsLinkedTo(DataSource: TDataSource): Boolean;
   function Lookup(const KeyFields: string; const KeyValues: Variant; const ResultFields: string): Variant;, CallMethodBtrTable);
+
   function IsRangeApplied: Boolean;
   function MoveBy(Distance: Integer): Integer;, CallMethodBtrTable);
+
   function IsSequenced: Boolean;
   function UpdateStatus: TUpdateStatus;, CallMethodBtrTable);
+
   function Locate(const KeyFields: string; const KeyValues: Variant; Options: TLocateOptions): Boolean;
   procedure Append;, CallMethodBtrTable);
+
   function Lookup(const KeyFields: string; const KeyValues: Variant; const ResultFields: string): Variant;
   procedure AppendRecord(const Values: array of const);, CallMethodBtrTable);
+
   function MoveBy(Distance: Integer): Integer;
   procedure ApplyRange;, CallMethodBtrTable);
+
   function UpdateStatus: TUpdateStatus;
   procedure Cancel;, CallMethodBtrTable);
+
   procedure Append;
   procedure CancelRange;, CallMethodBtrTable);
+
   procedure AppendRecord(const Values: array of const);
   procedure ClearFields;, CallMethodBtrTable);
+
   procedure ApplyRange;
   procedure Close;, CallMethodBtrTable);
+
   procedure Cancel;
   procedure CopyTable(const NewTableName: string);, CallMethodBtrTable);
+
   procedure CancelRange;
   procedure CreateTable(Rewrite: Boolean);, CallMethodBtrTable);
+
   procedure ClearFields;
   procedure Delete;, CallMethodBtrTable);
+
   procedure Close;
   procedure DeleteTable;, CallMethodBtrTable);
+
   procedure CopyTable(const NewTableName: string);
   procedure DisableControls;, CallMethodBtrTable);
+
   procedure CreateTable(Rewrite: Boolean);
   procedure Edit;, CallMethodBtrTable);
+
   procedure Delete;
   procedure EmptyTable;, CallMethodBtrTable);
+
   procedure DeleteTable;
   procedure EnableControls;, CallMethodBtrTable);
+
   procedure DisableControls;
   procedure First;, CallMethodBtrTable);
+
   procedure Edit;
   procedure FreeBookmark(Bookmark: TBookmark);, CallMethodBtrTable);
+
   procedure EmptyTable;
   procedure GetDetailDataSets(List: TList);, CallMethodBtrTable);
+
   procedure EnableControls;
   procedure GetDetailLinkFields(MasterFields, DetailFields: TList);, CallMethodBtrTable);
+
   procedure First;
   procedure GetFieldList(List: TList; const FieldNames: String);, CallMethodBtrTable);
+
   procedure FreeBookmark(Bookmark: TBookmark);
   procedure GetFieldNames(List: TStrings);, CallMethodBtrTable);
+
   procedure GetDetailDataSets(List: TList);
   procedure GetIndexInfo;, CallMethodBtrTable);
+
   procedure GetDetailLinkFields(MasterFields, DetailFields: TList);
   procedure GetIndexNames(List: TStrings);, CallMethodBtrTable);
+
   procedure GetFieldList(List: TList; const FieldNames: String);
   procedure GotoBookmark(Bookmark: TBookmark);, CallMethodBtrTable);
+
   procedure GetFieldNames(List: TStrings);
   procedure GotoCurrent(Table: TBtrTable);, CallMethodBtrTable);
+
   procedure GetIndexInfo;
   procedure GotoNearest;, CallMethodBtrTable);
+
   procedure GetIndexNames(List: TStrings);
   procedure CheckBrowseMode;, CallMethodBtrTable);
+
   procedure GotoBookmark(Bookmark: TBookmark);
   procedure Insert;, CallMethodBtrTable);
+
   procedure GotoCurrent(Table: TBtrTable);
   procedure InsertRecord(const Values: array of const);, CallMethodBtrTable);
+
   procedure GotoNearest;
   procedure Last;, CallMethodBtrTable);
+
   procedure CheckBrowseMode;
   procedure Next;, CallMethodBtrTable);
+
   procedure Insert;
   procedure Open;, CallMethodBtrTable);
+
   procedure InsertRecord(const Values: array of const);
   procedure Post;, CallMethodBtrTable);
+
   procedure Last;
   procedure Prior;, CallMethodBtrTable);
+
   procedure Next;
   procedure Refresh;, CallMethodBtrTable);
+
   procedure Open;
   procedure Resync(Mode: TResyncMode);, CallMethodBtrTable);
+
   procedure Post;
   procedure SetKey;, CallMethodBtrTable);
+
   procedure Prior;
   procedure SetRange(const StartValues, EndValues: array of const);, CallMethodBtrTable);
+
   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;
 
  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]]

Aktuální verze z 20. 7. 2021, 17: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