亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? myldbbase.pas

?? 一個(gè)本地database引擎,支持中文T_Sql查詢,兼容DELPHI標(biāo)準(zhǔn)數(shù)據(jù)庫控件
?? PAS
?? 第 1 頁 / 共 5 頁
字號(hào):
// save to stream
//------------------------------------------------------------------------------
procedure TMYLDBMetaObjectDef.SaveToStream(Stream: TStream);
var Len: Byte;
begin
  Len := Length(Name);
  SaveDataToStream(Len,Sizeof(Len),Stream,10164);
  SaveDataToStream(PChar(@FName[1])^,Len,Stream,10165);
  SaveDataToStream(FObjectID,sizeof(ObjectID),Stream,10168);
end; // SaveToStream


////////////////////////////////////////////////////////////////////////////////
//
// TMYLDBFieldDef
//
////////////////////////////////////////////////////////////////////////////////



//------------------------------------------------------------------------------
// Constructor
//------------------------------------------------------------------------------
constructor TMYLDBFieldDef.Create;
begin
  inherited Create;
  FBaseFieldType := bftUnknown;
  FAdvancedFieldType := aftUnknown;
  FFieldSize := 0;
  FDiskDataSize := 0;
  FMemoryDataSize := 0;
  FDiskOffset := 0;
  FMemoryOffset := 0;
  FFieldNoReference := 0;

  // Default Value
  //FDefaultValueType := dvtNull;
  FDefaultValue := TMYLDBVariant.Create;
  FDefaultValueExpr := nil;

  // Blob data
  FBLOBCompressionAlgorithm := acaNone;
  FBLOBCompressionMode := 0;
  FBLOBBlockSize := DefaultBLOBBlockSize;

  // Autoinc settings
  FAutoincIncrement := 1;
  FAutoincInitialValue := 0;
  FAutoincMinValue  := 0;//Low(Int64);
  FAutoincMaxValue  := High(Int64);
  FAutoincCycled    := False;

end;//Create


//------------------------------------------------------------------------------
// Destroy
//------------------------------------------------------------------------------
destructor TMYLDBFieldDef.Destroy;
begin
  FDefaultValue.Free;
  if (FDefaultValueExpr <> nil) then
    FDefaultValueExpr.Free;
  inherited;
end;//Destroy


//------------------------------------------------------------------------------
// SetFieldDefData ( set Advanced Field Type )
//------------------------------------------------------------------------------
procedure TMYLDBFieldDef.SetFieldDefDataType(AdvancedFieldType: TMYLDBAdvancedFieldType;
                                           FieldSize: Integer);
begin
  FAdvancedFieldType := AdvancedFieldType;
  FBaseFieldType := AdvancedFieldTypeToBaseFieldType(AdvancedFieldType);
  if FBaseFieldType = bftUnknown then
   raise EMYLDBException.Create(30007,ErrorGUnsupportedDataType,
                                    [AftToStr(AdvancedFieldType)]);
  FFieldSize := FieldSize;
  RecalcInternalSizes;
end;//SetFieldDefData


//------------------------------------------------------------------------------
// SetFieldDefData ( set Advanced Field Type )
//------------------------------------------------------------------------------
procedure TMYLDBFieldDef.SetFieldDefDataType(BaseFieldType: TMYLDBBaseFieldType;
                                           FieldSize: Integer);
begin
  FBaseFieldType := BaseFieldType;
  FFieldSize := FieldSize;

  FAdvancedFieldType := BaseFieldTypeToAdvancedFieldType(BaseFieldType);
  if FAdvancedFieldType = aftUnknown then
   raise EMYLDBException.Create(30008,ErrorGUnsupportedDataType,
                                    [BftToStr(BaseFieldType)]);
  RecalcInternalSizes;
end;//SetFieldDefData



//------------------------------------------------------------------------------
// RecalcInternalSizes
//------------------------------------------------------------------------------
procedure TMYLDBFieldDef.RecalcInternalSizes;
begin
  // FMemoryDataSize ...
  FMemoryDataSize := GetDataSizeInMemory(FBaseFieldType, FFieldSize);

  // FDiskDataSize ...
  if IsBLOBFieldType(FBaseFieldType) then
   FDiskDataSize := SizeOf(TMYLDBPageItemID)
  else
   FDiskDataSize := FMemoryDataSize;
end;//RecalcInternalSizes


//------------------------------------------------------------------------------
// CreateDefaultValueExprIfNeeded
//------------------------------------------------------------------------------
procedure TMYLDBFieldDef.CreateDefaultValueExprIfNeeded;
begin
  if (FDefaultValueExpr <> nil) then
    begin
      FDefaultValueExpr.Free;
      FDefaultValueExpr := nil;
    end;
  if (IsNonConstantExpression(FDefaultValue)) then
    begin
      FDefaultValueExpr := TMYLDBExpression.Create;
      TMYLDBExpression(FDefaultValueExpr).ParseForDefaultValueExpression(FDefaultValue.AsString);
    end;
end;// CreateDefaultValueExprIfNeeded


//------------------------------------------------------------------------------
// Assign
//------------------------------------------------------------------------------
procedure TMYLDBFieldDef.Assign(Source: TMYLDBMetaObjectDef);
var s: TMYLDBFieldDef;
begin
  s := Source as TMYLDBFieldDef;
  inherited Assign(Source);
  FBaseFieldType := s.FBaseFieldType;
  FAdvancedFieldType := s.FAdvancedFieldType;
  FFieldSize := s.FFieldSize;
  FDiskDataSize := s.FDiskDataSize;
  FMemoryDataSize := s.FMemoryDataSize;
  FDiskOffset := s.FDiskOffset;
  FMemoryOffset := s.FMemoryOffset;

  // Default Value
  //FDefaultValueType := s.FDefaultValueType;
  FDefaultValue.Assign(s.FDefaultValue);
  CreateDefaultValueExprIfNeeded;

  // Blob data
  FBLOBCompressionAlgorithm := s.FBLOBCompressionAlgorithm;
  FBLOBCompressionMode      := s.FBLOBCompressionMode;
  FBLOBBlockSize            := s.FBLOBBlockSize;

  // Autoinc settings
  FAutoincIncrement := s.FAutoincIncrement;
  FAutoincInitialValue := s.FAutoincInitialValue;
  FAutoincMinValue  := s.FAutoincMinValue;
  FAutoincMaxValue  := s.FAutoincMaxValue;
  FAutoincCycled    := s.FAutoincCycled;

end;//Assign


//------------------------------------------------------------------------------
// load from stream
//------------------------------------------------------------------------------
procedure TMYLDBFieldDef.LoadFromStream(Stream: TStream);
begin
  inherited LoadFromStream(Stream);

  LoadDataFromStream(FBaseFieldType,Sizeof(FBaseFieldType),Stream,10187);
  LoadDataFromStream(FAdvancedFieldType,Sizeof(FAdvancedFieldType),Stream,10188);
  LoadDataFromStream(FFieldSize,Sizeof(FFieldSize),Stream,10189);

  FDefaultValue.SetNull(FBaseFieldType);
  if (IsBlobFieldType(FBaseFieldType)) then
   begin
    // load blob params
    LoadDataFromStream(FBLOBCompressionAlgorithm,Sizeof(FBLOBCompressionAlgorithm),Stream,10192);
    LoadDataFromStream(FBLOBCompressionMode,Sizeof(FBLOBCompressionMode),Stream,10193);
    LoadDataFromStream(FBLOBBlockSize,Sizeof(FBLOBBlockSize),Stream,10194);
   end;

   LoadDataFromStream(FAutoincIncrement,Sizeof(FAutoincIncrement),Stream,30407);
   LoadDataFromStream(FAutoincInitialValue,Sizeof(FAutoincInitialValue),Stream,30408);
   LoadDataFromStream(FAutoincMinValue,Sizeof(FAutoincMinValue),Stream,30409);
   LoadDataFromStream(FAutoincMaxValue,Sizeof(FAutoincMaxValue),Stream,30410);
   LoadDataFromStream(FAutoincCycled,Sizeof(FAutoincCycled),Stream,30411);

   // load default value
   FDefaultValue.LoadFromStream(Stream);
   CreateDefaultValueExprIfNeeded;

   RecalcInternalSizes;
end; // LoadFromStream


//------------------------------------------------------------------------------
// save to stream
//------------------------------------------------------------------------------
procedure TMYLDBFieldDef.SaveToStream(Stream: TStream);
begin
  inherited SaveToStream(Stream);

  SaveDataToStream(FBaseFieldType,Sizeof(FBaseFieldType),Stream,10170);
  SaveDataToStream(FAdvancedFieldType,Sizeof(FAdvancedFieldType),Stream,10171);
  SaveDataToStream(FFieldSize,Sizeof(FFieldSize),Stream,10172);

  if (IsBlobFieldType(FBaseFieldType)) then
   begin
    // save blob params
    SaveDataToStream(FBLOBCompressionAlgorithm,Sizeof(FBLOBCompressionAlgorithm),Stream,10175);
    SaveDataToStream(FBLOBCompressionMode,Sizeof(FBLOBCompressionMode),Stream,10176);
    SaveDataToStream(FBLOBBlockSize,Sizeof(FBLOBBlockSize),Stream,10177);
   end;

   SaveDataToStream(FAutoincIncrement,Sizeof(FAutoincIncrement),Stream,30412);
   SaveDataToStream(FAutoincInitialValue,Sizeof(FAutoincInitialValue),Stream,30413);
   SaveDataToStream(FAutoincMinValue,Sizeof(FAutoincMinValue),Stream,30414);
   SaveDataToStream(FAutoincMaxValue,Sizeof(FAutoincMaxValue),Stream,30415);
   SaveDataToStream(FAutoincCycled,Sizeof(FAutoincCycled),Stream,30416);

   // save default value
   FDefaultValue.SaveToStream(Stream);

end; // SaveToStream


////////////////////////////////////////////////////////////////////////////////
//
// TMYLDBIndexColumn
//
////////////////////////////////////////////////////////////////////////////////


//------------------------------------------------------------------------------
// load from stream
//------------------------------------------------------------------------------
procedure TMYLDBIndexColumn.LoadFromStream(Stream: TStream);
var Len: Byte;
begin
  LoadDataFromStream(Len,Sizeof(Len),Stream,10358);
  SetLength(FFieldName,Len);
  LoadDataFromStream(PChar(@FFieldName[1])^,Len,Stream,10359);
  LoadDataFromStream(FDescending,Sizeof(FDescending),Stream,10360);
  LoadDataFromStream(FCaseInsensitive,Sizeof(FCaseInsensitive),Stream,10361);
  LoadDataFromStream(FMaxIndexedSize,Sizeof(FMaxIndexedSize),Stream,20168);
end; // LoadFromStream


//------------------------------------------------------------------------------
// save to stream
//------------------------------------------------------------------------------
procedure TMYLDBIndexColumn.SaveToStream(Stream: TStream);
var Len: Byte;
begin
  Len := Length(FFieldName);
  SaveDataToStream(Len,Sizeof(Len),Stream,10354);
  SaveDataToStream(PChar(@FFieldName[1])^,Len,Stream,10355);
  SaveDataToStream(FDescending,Sizeof(FDescending),Stream,10356);
  SaveDataToStream(FCaseInsensitive,Sizeof(FCaseInsensitive),Stream,10357);
  SaveDataToStream(FMaxIndexedSize,Sizeof(FMaxIndexedSize),Stream,20169);
end; // SaveToStream


////////////////////////////////////////////////////////////////////////////////
//
// TMYLDBIndexDef
//
////////////////////////////////////////////////////////////////////////////////


//------------------------------------------------------------------------------
// get index column
//------------------------------------------------------------------------------
function TMYLDBIndexDef.GetIndexColumn(Index: Integer): TMYLDBIndexColumn;
begin
  Result := FIndexColumns[Index];
end;// GetIndexColumn


//------------------------------------------------------------------------------
// get column count
//------------------------------------------------------------------------------
function TMYLDBIndexDef.GetColumnCount: Integer;
begin
  Result := Length(FIndexColumns);
end;// GetColumnCount


//------------------------------------------------------------------------------
// set column count
//------------------------------------------------------------------------------
procedure TMYLDBIndexDef.SetColumnCount(Value: Integer);
var
  oldCount, i: Integer;
begin
  oldCount := Length(FIndexColumns);
  if (Value > oldCount) then
   begin
     SetLength(FIndexColumns, Value);
     for i := oldCount to Value-1 do
      FIndexColumns[i] := TMYLDBIndexColumn.Create;
   end
  else
  if (Value < oldCount) then
   begin
     for i := Value to oldCount-1 do
      FIndexColumns[i].Free;
     SetLength(FIndexColumns, Value);
   end;
end;// SetColumnCount




//------------------------------------------------------------------------------

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区二区欧美日韩| xf在线a精品一区二区视频网站| 欧美日韩一级视频| 欧美日韩精品三区| 欧美成人一级视频| 国产精品盗摄一区二区三区| 一区二区三区日韩欧美精品| 日韩在线卡一卡二| 成人性生交大片免费看在线播放 | 国产成人h网站| 91久久精品一区二区三| 日韩午夜电影在线观看| 亚洲精品videosex极品| 国产一区二区三区黄视频 | 色8久久人人97超碰香蕉987| 欧美成人伊人久久综合网| 亚洲视频在线观看三级| 狠狠狠色丁香婷婷综合激情 | 欧美videofree性高清杂交| 亚洲品质自拍视频网站| 激情偷乱视频一区二区三区| 69精品人人人人| 亚洲综合免费观看高清完整版| 激情亚洲综合在线| 91精品麻豆日日躁夜夜躁| 自拍偷拍亚洲综合| 懂色一区二区三区免费观看| 久久精品在线观看| 国产高清不卡一区| 国产色综合久久| 国产在线不卡一卡二卡三卡四卡| 欧美日本一区二区| 日本不卡不码高清免费观看| 欧美性猛片aaaaaaa做受| 亚洲免费伊人电影| 欧美三级资源在线| av亚洲精华国产精华精华| 国产精品久久久久一区二区三区 | 国产日韩欧美亚洲| 99re免费视频精品全部| 亚洲三级在线看| 欧美日韩国产欧美日美国产精品| 五月天婷婷综合| 久久青草欧美一区二区三区| 国产一区二区三区四区五区美女 | 国产一区美女在线| 日韩欧美精品在线视频| 国产激情精品久久久第一区二区| 久久婷婷国产综合国色天香| 成人a级免费电影| 日韩av一区二区在线影视| 国产人成一区二区三区影院| 色偷偷成人一区二区三区91| 亚洲高清不卡在线观看| www激情久久| 欧美网站一区二区| 精品在线播放午夜| 亚洲品质自拍视频网站| 欧美成人女星排行榜| 色综合久久精品| 奇米一区二区三区| 亚洲精品免费视频| 欧美国产日本视频| 日韩欧美成人激情| 欧美日韩国产另类不卡| eeuss国产一区二区三区| 激情综合色综合久久综合| 一区二区三区在线视频观看58| 久久久噜噜噜久久人人看| 欧美一级淫片007| 欧美人妇做爰xxxⅹ性高电影| 成人ar影院免费观看视频| 国产一区二区网址| 国产九色sp调教91| 国模少妇一区二区三区| 国产在线不卡一卡二卡三卡四卡| 日本欧美一区二区| 日本成人在线不卡视频| 日本欧美大码aⅴ在线播放| 亚洲激情成人在线| 亚洲欧洲性图库| 中文字幕在线不卡| 一区二区久久久久久| 亚洲国产日韩综合久久精品| 亚洲欧美激情小说另类| ...xxx性欧美| 午夜精品福利一区二区三区av| 成人一区二区三区在线观看| 国产成人h网站| 欧美日韩一本到| 精品国偷自产国产一区| 国产精品久久久爽爽爽麻豆色哟哟| 国产精品美女久久久久久久久久久 | 欧美人妇做爰xxxⅹ性高电影| 久久在线观看免费| 亚洲综合丁香婷婷六月香| 午夜精品一区在线观看| 国产一区二区视频在线播放| 91行情网站电视在线观看高清版| 日韩欧美一区二区不卡| 亚洲视频一区二区在线观看| 男女视频一区二区| 一本大道综合伊人精品热热| 欧美日韩国产精品自在自线| 欧美激情综合五月色丁香小说| 一区二区三区高清在线| 国产精品一线二线三线| 欧美日韩情趣电影| 亚洲三级久久久| 成人国产在线观看| 久久久不卡网国产精品二区| 亚洲一区免费视频| 色噜噜偷拍精品综合在线| 中文久久乱码一区二区| 国产精品 欧美精品| 日韩三级在线免费观看| 男女性色大片免费观看一区二区| 色婷婷精品大在线视频| 亚洲天堂成人在线观看| 成人国产精品免费| 国产精品美女www爽爽爽| 国产suv一区二区三区88区| 久久久一区二区| 国产激情91久久精品导航 | 日本特黄久久久高潮| 欧美一区二区三区思思人| 五月天一区二区| 欧美一区二区三区的| 久久精品99国产精品| 久久天堂av综合合色蜜桃网| 国产一区二区三区在线观看免费视频 | 蜜桃视频免费观看一区| 欧美一级生活片| 国产精品伊人色| 夜夜嗨av一区二区三区网页| 777午夜精品免费视频| 美女视频黄 久久| 国产精品久久久久久久岛一牛影视| 99久久精品国产观看| 亚洲国产一区视频| 中文字幕免费不卡| 欧美高清一级片在线| 高清shemale亚洲人妖| 五月综合激情婷婷六月色窝| 2021久久国产精品不只是精品| 99久久99久久免费精品蜜臀| 精品一二三四在线| 天堂久久一区二区三区| 中文字幕一区二区三| 精品国产乱码91久久久久久网站| 91论坛在线播放| 成人小视频免费观看| 蜜桃av一区二区三区电影| 亚洲综合一二三区| 亚洲欧洲av色图| 国产精品久久久久四虎| 国产偷国产偷亚洲高清人白洁| 911精品国产一区二区在线| 色婷婷综合久久久中文字幕| 精品视频999| 日本丰满少妇一区二区三区| 激情深爱一区二区| 男人的天堂亚洲一区| 成人免费福利片| 国产精品美女久久久久久| av一区二区三区黑人| 亚洲人成影院在线观看| 91原创在线视频| 99国产精品久久久| 91精品国产综合久久香蕉的特点| 久久久久免费观看| 午夜精品免费在线观看| 成人精品一区二区三区中文字幕| 欧美猛男超大videosgay| 久久夜色精品一区| 青青草97国产精品免费观看 | 亚洲欧美激情在线| 亚洲成va人在线观看| 麻豆国产一区二区| 国产成人在线网站| 99精品一区二区三区| 欧美亚洲禁片免费| 久久青草欧美一区二区三区| 亚洲视频一区二区在线| 视频一区视频二区中文| 国产一区二区三区免费观看| 99久久精品一区二区| 欧美猛男gaygay网站| 欧美激情在线观看视频免费| 一区二区三区在线视频免费观看| 亚洲aaa精品| 国产成人啪免费观看软件| 欧美日韩一区二区三区高清| 国产精品精品国产色婷婷| 免费看日韩a级影片| 欧美蜜桃一区二区三区| 亚洲日本乱码在线观看| 国产suv精品一区二区三区| 日韩精品一区二区三区四区 | 在线免费观看一区|