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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? myldbtypesroutines.pas

?? 一個本地database引擎,支持中文T_Sql查詢,兼容DELPHI標準數據庫控件
?? PAS
字號:
unit MYLDBTypesRoutines;

{$I MYLDBVer.inc}

interface

uses
     {$IFDEF DEBUG_LOG}
     MYLDBDebug,
     {$ENDIF}
     MYLDBTypes,
     MYLDBConverts,
     MYLDBMemory,
     MYLDBExcept,
     MYLDBConst;


//  Return DataSize
function GetDataSizeInMemory(DataType: TMYLDBBaseFieldType; Length: Integer = 0): Integer; overload;

//  Return DataSize
function GetDataSizeInMemory(DataType: TMYLDBBaseFieldType; Data: Pointer): Integer; overload;

// Allocate Memory and Set Data
procedure AllocMemAndSetData(DataType: TMYLDBBaseFieldType; const Value; out Buffer; out BufferSize: Integer);

implementation


//------------------------------------------------------------------------------
//  Return DataSize
//------------------------------------------------------------------------------
function GetDataSizeInMemory(DataType: TMYLDBBaseFieldType; Length: Integer): Integer;
begin
  case DataType of
    bftChar,            // AsciZ
    bftVarchar:         Result := Length + 1;
    bftWideChar,
    bftWideVarchar:     Result := (Length + 1) * 2;

    bftSignedInt8:      Result := SizeOf(Shortint);
    bftSignedInt16:     Result := SizeOf(Smallint);
    bftSignedInt32:     Result := SizeOf(Integer);
    bftSignedInt64:     Result := SizeOf(Int64);
    bftUnSignedInt8:    Result := SizeOf(Byte);
    bftUnSignedInt16:   Result := SizeOf(Word);
    bftUnSignedInt32:   Result := SizeOf(Cardinal);

    bftSingle:          Result := SizeOf(Single);
    bftDouble:          Result := SizeOf(Double);
    bftExtended:        Result := SizeOf(Extended);

    bftDate:            Result := SizeOf(TMYLDBDate);
    bftTime:            Result := SizeOf(TMYLDBTime);
    bftDateTime:        Result := SizeOf(TMYLDBDateTime);

    bftBlob,
    bftClob,
    bftWideClob:        Result := SizeOf(TMYLDBPageItemID)+SizeOf(PChar); // 10

    bftLogical:         Result := SizeOf(TMYLDBLogical);
    bftCurrency:        Result := SizeOf(TMYLDBCurrency);
    // 5.07 Bytes bugfix
    // begin old code
    // bftBytes:           Result := Length;
    //  bftVarBytes:        Result := Length;
    // end old code
    bftBytes:           Result := Length + 1;
    bftVarBytes:        Result := Length + 1;

    else
      raise EMYLDBException.Create(30050, ErrorGUnknownDataType, [BftToStr(DataType)]);
  end;
end;//GetDataSizeInMemory


//------------------------------------------------------------------------------
//  Return DataSize
//------------------------------------------------------------------------------
function GetDataSizeInMemory(DataType: TMYLDBBaseFieldType; Data: Pointer): Integer; overload;
begin
//  Result := -1;
  case DataType of
    bftChar,
    bftVarchar:
        Result := GetDataSizeInMemory(DataType, Length(PChar(Data)));
    bftWideChar,
    bftWideVarchar:
        Result := GetDataSizeInMemory(DataType, Length(PWideChar(Data)));
    else
        Result := GetDataSizeInMemory(DataType);
  end;
end;//GetDataSizeInMemory


//------------------------------------------------------------------------------
// Allocate Memory and Set Data
//------------------------------------------------------------------------------
procedure AllocMemAndSetData(DataType: TMYLDBBaseFieldType;
                             const Value;
                             out Buffer;
                             out BufferSize: Integer);
var len: Integer;
begin
  Pointer(Buffer) := nil;
  try
    case DataType of
      bftChar,
      bftVarchar:
        begin
          len := Length(PChar(Value));
          BufferSize := GetDataSizeInMemory(DataType,len);
          Pointer(Buffer) := MemoryManager.GetMem(BufferSize);
          Move(PChar(String(Value))^, PChar(Buffer)^, BufferSize);
        end;
      bftWideChar,
      bftWideVarchar:
        begin
          len := Length(PWideChar(Value));
          BufferSize := GetDataSizeInMemory(DataType,len);
          Pointer(Buffer) := MemoryManager.GetMem(BufferSize);
          Move(PWideChar(Value)^, PChar(Buffer)^, BufferSize);
        end;
      else
        begin
          BufferSize := GetDataSizeInMemory(DataType);
          Pointer(Buffer) := MemoryManager.GetMem(BufferSize);
          case BufferSize of
            1:      PByte(Buffer)^ := Byte(Value);
            2:      PWord(Buffer)^ := Word(Value);
            4:      PInteger(Buffer)^ := Integer(Value);
            8:      PInt64(Buffer)^ := Int64(Value);
            10:     PExtended(Buffer)^ := Extended(Value);
            else    Move(Value, PChar(Buffer)^, BufferSize);
          end;
        end;
    end;
  except
    if Pointer(Buffer) <> nil then
      raise EMYLDBException.Create(30054, ErrorGCannotCopyDataIntoNewMemory);
  end;
end;//AllocMemAndSetData



end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99在线精品观看| 在线免费观看一区| 日韩美女视频一区二区| 欧美日韩国产影片| 韩日av一区二区| 亚洲黄色免费网站| 国产清纯在线一区二区www| 在线视频你懂得一区| 国产美女在线观看一区| 午夜激情一区二区| 亚洲视频一二三区| 久久久国产午夜精品 | 污片在线观看一区二区| 国产精品嫩草影院com| 337p亚洲精品色噜噜| 91麻豆福利精品推荐| 韩国v欧美v日本v亚洲v| 亚洲午夜久久久久久久久电影院| 国产欧美一区二区精品仙草咪| 91精品中文字幕一区二区三区| 91丝袜国产在线播放| 国产一区二区三区精品欧美日韩一区二区三区| 一区二区三区在线观看网站| 欧美经典三级视频一区二区三区| 日韩午夜中文字幕| 欧美高清www午色夜在线视频| 色狠狠色狠狠综合| av不卡免费电影| 成人一区二区三区| 国产精品一区在线| 黄网站免费久久| 韩国av一区二区三区四区| 全部av―极品视觉盛宴亚洲| 亚洲成av人片一区二区三区| 一区二区三区四区视频精品免费 | 91久久奴性调教| av不卡在线播放| k8久久久一区二区三区| 国产盗摄女厕一区二区三区| 国产乱对白刺激视频不卡| 精品中文av资源站在线观看| 麻豆成人91精品二区三区| 日本一不卡视频| 久久精品国产999大香线蕉| 青青草成人在线观看| 日韩主播视频在线| 亚洲成人一二三| 婷婷一区二区三区| 日本特黄久久久高潮| 日本成人在线网站| 久久99日本精品| 国产精品综合在线视频| 成人免费福利片| 91女神在线视频| 欧美日韩一级片网站| 欧美放荡的少妇| 日韩一区二区三区三四区视频在线观看 | 亚洲一区二区三区爽爽爽爽爽| 亚洲欧美日韩国产综合| 一区二区三区在线观看动漫| 亚洲成人久久影院| 蜜桃av一区二区三区| 国产一区二区三区国产| 99re视频精品| 欧美精品久久久久久久多人混战 | 久久精品这里都是精品| 国产精品夫妻自拍| 亚洲国产美国国产综合一区二区| 五月激情丁香一区二区三区| 韩国v欧美v亚洲v日本v| 99热国产精品| 9191国产精品| 久久久www成人免费无遮挡大片| 国产精品久久久久久福利一牛影视| 亚洲精品欧美综合四区| 热久久免费视频| 成人精品高清在线| 欧美日韩成人激情| 欧美激情资源网| 亚洲国产欧美日韩另类综合| 国产一区二区三区最好精华液| 99国产欧美久久久精品| 在线观看91av| 国产精品五月天| 亚洲成人av资源| 国产精品一区免费在线观看| 欧美亚洲国产bt| 久久你懂得1024| 亚洲国产日韩av| 高清久久久久久| 欧美高清性hdvideosex| 国产精品网站在线播放| 青青国产91久久久久久| av影院午夜一区| 精品久久99ma| 亚洲国产sm捆绑调教视频| 国产成人高清在线| 91精品国产福利| 亚洲日本护士毛茸茸| 国产资源在线一区| 欧美专区亚洲专区| 欧美激情一区二区三区全黄| 日本午夜精品视频在线观看| 欧美无乱码久久久免费午夜一区 | 北条麻妃国产九九精品视频| 欧美美女激情18p| 久久综合丝袜日本网| 亚洲一区二区五区| 国产在线视频一区二区三区| 色婷婷av一区二区三区之一色屋| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 亚洲国产精品精华液网站| 狠狠色丁香婷综合久久| 一本久道久久综合中文字幕| 精品国产污污免费网站入口| 亚洲成a人在线观看| 国产99久久久国产精品潘金 | 亚洲精品久久久久久国产精华液| 日韩中文字幕区一区有砖一区| 国产激情一区二区三区| 欧美日韩一区二区三区四区五区| 国产亚洲一区字幕| 日韩专区一卡二卡| 色94色欧美sute亚洲线路一ni| 久久综合丝袜日本网| 久久99热国产| 欧美猛男gaygay网站| 日韩美女视频一区| 国产精品一区二区在线观看网站| 欧美亚洲综合另类| 亚洲综合免费观看高清在线观看| 国产乱码精品一区二区三区av| 欧美精品粉嫩高潮一区二区| 亚洲三级电影全部在线观看高清| 午夜精品一区二区三区三上悠亚| 欧美三区在线观看| 亚洲精品亚洲人成人网在线播放| 国产精品一卡二卡在线观看| 欧美一级专区免费大片| 亚洲免费观看高清| 在线观看区一区二| 综合欧美亚洲日本| 成人夜色视频网站在线观看| 精品国产免费一区二区三区四区 | 亚洲成a天堂v人片| 97se亚洲国产综合在线| 日韩欧美国产不卡| 亚洲一区二区三区在线播放| 不卡的av网站| 国产精品久久综合| 在线亚洲欧美专区二区| 亚洲天堂2014| 91在线视频观看| 亚洲日本va午夜在线电影| 91久久精品日日躁夜夜躁欧美| 国产精品美女久久久久久| 国产福利一区二区| 国产免费观看久久| 麻豆精品在线视频| 欧美国产精品一区二区| 国产在线国偷精品免费看| 欧美性xxxxx极品少妇| 亚洲一卡二卡三卡四卡五卡| 欧美主播一区二区三区美女| 亚洲国产va精品久久久不卡综合| 色婷婷精品久久二区二区蜜臀av | 欧美一级搡bbbb搡bbbb| 日本在线不卡一区| 日韩三级视频中文字幕| 精品一区二区国语对白| 久久亚洲免费视频| 国产成人av在线影院| 国产精品天美传媒| 高清不卡一区二区在线| 一级中文字幕一区二区| 欧美日韩精品二区第二页| 秋霞av亚洲一区二区三| 欧美高清激情brazzers| 成人免费视频网站在线观看| 中文字幕综合网| 欧美日韩国产综合视频在线观看| 天堂久久久久va久久久久| 精品国产sm最大网站| 成人午夜短视频| 亚洲综合色婷婷| 欧美大片国产精品| 日本高清不卡视频| 午夜欧美视频在线观看| 精品国产91乱码一区二区三区| 丁香网亚洲国际| 国产精品国产三级国产普通话三级 | 中文字幕一区av| 精品视频资源站| 精品亚洲成a人在线观看| 亚洲自拍与偷拍| 久久综合久久久久88| 一本到高清视频免费精品| 老司机精品视频线观看86| 亚洲精品国产a| 久久午夜国产精品|