⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 absbase.pas

📁 Absolute Database 是来替代BDE[Borland数据库引擎]的用于Delphi 和 C++ Builder 开发用的数据库引擎. 它小巧, 高速, 健壮, 易于使用. 它能直接编译进
💻 PAS
📖 第 1 页 / 共 5 页
字号:
// destroy
//------------------------------------------------------------------------------
destructor TABSIndexDef.Destroy;
begin
  ColumnCount := 0;
  inherited Destroy;
end;// Destroy


//------------------------------------------------------------------------------
// assign another IndexDef
//------------------------------------------------------------------------------
procedure TABSIndexDef.Assign(Source: TABSMetaObjectDef);
var
  i: Integer;
begin
  inherited Assign(Source);
  IndexType := TABSIndexDef(Source).IndexType;
  Unique := TABSIndexDef(Source).Unique;
  Primary := TABSIndexDef(Source).Primary;
  FRootPageNo := TABSIndexDef(Source).RootPageNo;
  ColumnCount := TABSIndexDef(Source).ColumnCount;
  FTemporary := TABSIndexDef(Source).Temporary;
  FSessionID := TABSIndexDef(Source).SessionID;
  FTableState := TABSIndexDef(Source).TableState;
  FNeedRebuild := TABSIndexDef(Source).NeedRebuild;
  for i := 0 to ColumnCount-1 do
   begin
    Columns[i].FieldName := TABSIndexDef(Source).Columns[i].FieldName;
    Columns[i].Descending := TABSIndexDef(Source).Columns[i].Descending;
    Columns[i].CaseInsensitive := TABSIndexDef(Source).Columns[i].CaseInsensitive;
    Columns[i].MaxIndexedSize := TABSIndexDef(Source).Columns[i].MaxIndexedSize;
   end;
end;// Assign


//------------------------------------------------------------------------------
// assign by names
//------------------------------------------------------------------------------
procedure TABSIndexDef.AssignByNames(FieldNames, AscDescList, CaseSensitivityList: TStringList);
var i: integer;
begin
 if (FieldNames.Count <> AscDescList.Count) then
  raise EABSException.Create(10278,ErrorLDifferentListsLength,
    [FieldNames.Count,AscDescList.Count]);
 if (FieldNames.Count <> CaseSensitivityList.Count) then
  raise EABSException.Create(10279,ErrorLDifferentListsLength,
    [FieldNames.Count,CaseSensitivityList.Count]);
  ColumnCount := FieldNames.Count;
  for i := 0 to ColumnCount-1 do
   begin
    Columns[i].FieldName := FieldNames[i];
    Columns[i].Descending := (AscDescList[i] = ABS_DESC);
    Columns[i].CaseInsensitive := (CaseSensitivityList[i] = ABS_NO_CASE);
    Columns[i].MaxIndexedSize := DEFAULT_MAX_INDEXED_SIZE;
   end;
end;


//------------------------------------------------------------------------------
// load from stream
//------------------------------------------------------------------------------
procedure TABSIndexDef.LoadFromStream(Stream: TStream);
var i: Integer;
begin
  inherited LoadFromStream(Stream);

  LoadDataFromStream(FIndexType,Sizeof(FIndexType),Stream,10349);
  LoadDataFromStream(FUnique,Sizeof(FUnique),Stream,10350);
  LoadDataFromStream(FPrimary,Sizeof(FPrimary),Stream,10351);
  FTemporary := False;
  LoadDataFromStream(i,Sizeof(i),Stream,10352);
  ColumnCount := i;
  LoadDataFromStream(FRootPageNo,Sizeof(FRootPageNo),Stream,10353);
  for i := 0 to ColumnCount-1 do
    Columns[i].LoadFromStream(Stream);
end; // LoadFromStream


//------------------------------------------------------------------------------
// save to stream
//------------------------------------------------------------------------------
procedure TABSIndexDef.SaveToStream(Stream: TStream);
var i: Integer;
begin
  inherited SaveToStream(Stream);
  SaveDataToStream(FIndexType,Sizeof(FIndexType),Stream,10344);
  SaveDataToStream(FUnique,Sizeof(FUnique),Stream,10345);
  SaveDataToStream(FPrimary,Sizeof(FPrimary),Stream,10346);
  i := ColumnCount;
  SaveDataToStream(i,Sizeof(i),Stream,10347);
  SaveDataToStream(FRootPageNo,Sizeof(FRootPageNo),Stream,10348);
  for i := 0 to ColumnCount-1 do
    Columns[i].SaveToStream(Stream);
end; // SaveToStream




////////////////////////////////////////////////////////////////////////////////
//
// TABSConstraintDef
//
////////////////////////////////////////////////////////////////////////////////


//------------------------------------------------------------------------------
// Assign
//------------------------------------------------------------------------------
procedure TABSConstraintDef.Assign(Source: TABSMetaObjectDef);
begin
  inherited Assign(Source);
 FConstraintType := TABSConstraintDef(Source).FConstraintType;
end;//Assign



////////////////////////////////////////////////////////////////////////////////
//
// TABSConstraintDefNotNull
//
////////////////////////////////////////////////////////////////////////////////


//------------------------------------------------------------------------------
// Constructor
//------------------------------------------------------------------------------
constructor TABSConstraintDefNotNull.Create;
begin
  FConstraintType := ctNotNull;
end;//Create


//------------------------------------------------------------------------------
// Assign
//------------------------------------------------------------------------------
procedure TABSConstraintDefNotNull.Assign(Source: TABSMetaObjectDef);
begin
  inherited Assign(Source);
  FTableSchemaName := TABSConstraintDefNotNull(Source).FTableSchemaName;
  FTableSchemaObjectID := TABSConstraintDefNotNull(Source).FTableSchemaObjectID;
  FTableName := TABSConstraintDefNotNull(Source).FTableName;
  FTableObjectID := TABSConstraintDefNotNull(Source).FTableObjectID;
  FColumnName := TABSConstraintDefNotNull(Source).FColumnName;
  FColumnObjectID := TABSConstraintDefNotNull(Source).FColumnObjectID;
end;//Assign

//------------------------------------------------------------------------------
// SetNames
//------------------------------------------------------------------------------
procedure TABSConstraintDefNotNull.SetNames(ColumnName, TableName, SchemaName: String);
begin
  FColumnName := ColumnName;
  FTableName := TableName;
  FSchemaName := SchemaName;
end;//SetNames



//------------------------------------------------------------------------------
// load from stream
//------------------------------------------------------------------------------
procedure TABSConstraintDefNotNull.LoadFromStream(Stream: TStream);
var Len: Byte;
begin
  inherited LoadFromStream(Stream);
  LoadDataFromStream(FTableSchemaObjectID,sizeof(FTableSchemaObjectID),Stream,10249);
  LoadDataFromStream(FTableObjectID,sizeof(FTableObjectID),Stream,10250);
  LoadDataFromStream(FColumnObjectID,sizeof(FColumnObjectID),Stream,10251);

  LoadDataFromStream(Len,sizeof(Len),Stream,10252);
  SetLength(FTableSchemaName,Len-1);
  LoadDataFromStream(PChar(@FTableSchemaName)^,Len,Stream,10253);

  LoadDataFromStream(Len,sizeof(Len),Stream,10254);
  SetLength(FTableName,Len-1);
  LoadDataFromStream(PChar(@FTableName)^,Len,Stream,10255);

  LoadDataFromStream(Len,sizeof(Len),Stream,10256);
  SetLength(FColumnName,Len-1);
  LoadDataFromStream(PChar(@FColumnName)^,Len,Stream,10257);
end; // LoadFromStream


//------------------------------------------------------------------------------
// save to stream
//------------------------------------------------------------------------------
procedure TABSConstraintDefNotNull.SaveToStream(Stream: TStream);
var Len: Byte;
begin
  inherited SaveToStream(Stream);

  SaveDataToStream(FTableSchemaObjectID,sizeof(FTableSchemaObjectID),Stream,10240);
  SaveDataToStream(FTableObjectID,sizeof(FTableObjectID),Stream,10241);
  SaveDataToStream(FColumnObjectID,sizeof(FColumnObjectID),Stream,10242);

  Len := Length(FTableSchemaName)+1;
  SaveDataToStream(Len,Sizeof(Len),Stream,10243);
  SaveDataToStream(PChar(@FTableSchemaName)^,Len,Stream,10244);

  Len := Length(FTableName)+1;
  SaveDataToStream(Len,Sizeof(Len),Stream,10245);
  SaveDataToStream(PChar(@FTableName)^,Len,Stream,10246);

  Len := Length(FColumnName)+1;
  SaveDataToStream(Len,Sizeof(Len),Stream,10247);
  SaveDataToStream(PChar(@FColumnName)^,Len,Stream,10248);
end; // SaveToStream


////////////////////////////////////////////////////////////////////////////////
//
// TABSConstraintDefCheck
//
////////////////////////////////////////////////////////////////////////////////


//------------------------------------------------------------------------------
// Constructor
//------------------------------------------------------------------------------
constructor TABSConstraintDefCheck.Create;
begin
  FConstraintType := ctCheck;
  FMinValue := TABSVariant.Create;
  FMaxValue := TABSVariant.Create;
end;//Create


//------------------------------------------------------------------------------
// Destructor
//------------------------------------------------------------------------------
destructor TABSConstraintDefCheck.Destroy;
begin
  FMinValue.Free;
  FMaxValue.Free;
  inherited;
end;//Destroy


//------------------------------------------------------------------------------
// Assign
//------------------------------------------------------------------------------
procedure TABSConstraintDefCheck.Assign(Source: TABSMetaObjectDef);
begin
  inherited Assign(Source);
  FTableSchemaName := TABSConstraintDefCheck(Source).FTableSchemaName;
  FTableSchemaObjectID := TABSConstraintDefCheck(Source).FTableSchemaObjectID;
  FTableName := TABSConstraintDefCheck(Source).FTableName;
  FTableObjectID := TABSConstraintDefCheck(Source).FTableObjectID;
  FColumnName := TABSConstraintDefCheck(Source).FColumnName;
  FColumnObjectID := TABSConstraintDefCheck(Source).FColumnObjectID;
  FMinValue.Assign(TABSConstraintDefCheck(Source).FMinValue);
  FMaxValue.Assign(TABSConstraintDefCheck(Source).FMaxValue);
end;//Assign


//------------------------------------------------------------------------------
// SetNames
//------------------------------------------------------------------------------
procedure TABSConstraintDefCheck.SetNames(ColumnName, TableName,
  SchemaName: String);
begin
  FColumnName := ColumnName;
  FTableName := TableName;
  FSchemaName := SchemaName;
end;//SetNames


//------------------------------------------------------------------------------
// load from stream
//------------------------------------------------------------------------------
procedure TABSConstraintDefCheck.LoadFromStream(Stream: TStream);
var Len: Byte;
begin
  inherited LoadFromStream(Stream);
  LoadDataFromStream(FTableSchemaObjectID,sizeof(FTableSchemaObjectID),Stream,10230);
  LoadDataFromStream(FTableObjectID,sizeof(FTableObjectID),Stream,10231);
  LoadDataFromStream(FColumnObjectID,sizeof(FColumnObjectID),Stream,10232);

  LoadDataFromStream(Len,sizeof(Len),Stream,10233);
  SetLength(FTableSchemaName,Len-1);
  LoadDataFromStream(PChar(@FTableSchemaName)^,Len,Stream,10234);

  LoadDataFromStream(Len,sizeof(Len),Stream,10235);
  SetLength(FTableName,Len-1);
  LoadDataFromStream(PChar(@FTableName)^,Len,Stream,10236);

  LoadDataFromStream(Len,sizeof(Len),Stream,10237);
  SetLength(FColumnName,Len-1);
  LoadDataFromStream(PChar(@FColumnName)^,Len,Stream,10238);

  FMinValue.LoadFromStream(Stream);
  FMaxValue.LoadFromStream(Stream);
end; // LoadFromStream


//------------------------------------------------------------------------------
// save to stream
//------------------------------------------------------------------------------
procedure TABSConstraintDefCheck.SaveToStream(Stream: TStream);
var Len: Byte;
begin
  inherited SaveToStream(Stream);

  SaveDataToStream(FTableSchemaObjectID,sizeof(FTableSchemaObjectID),Stream,10227);
  SaveDataToStream(FTableObjectID,sizeof(FTableObjectID),Stream,10228);
  SaveDataToStream(FColumnObjectID,sizeof(FColumnObjectID),Stream,10229);

  Len := Length(FTableSchemaName)+1;
  SaveDataToStream(Len,Sizeof(Len),Stream,10221);
  SaveDataToStream(PChar(@FTableSchemaName)^,Len,Stream,10222);

  Len := Length(FTableName)+1;
  SaveDataToStream(Len,Sizeof(Len),Stream,10223);
  SaveDataToStream(PChar(@FTableName)^,Len,Stream,10224);

  Len := Length(FColumnName)+1;
  SaveDataToStream(Len,Sizeof(Len),Stream,10225);
  SaveDataToStream(PChar(@FColumnName)^,Len,Stream,10226);

   FMinValue.SaveToStream(Stream);
   FMaxValue.SaveToStream(Stream);
end; // SaveToStream


//////////////

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -