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

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

?? edcode.pas

?? FIR引擎最新源碼+注冊
?? PAS
字號:
unit EDcode;

interface

uses
  Windows, SysUtils, Classes, HUtil32, Grobal2;

function EncodeMessage(sMsg: TDefaultMessage): string;
function DecodeMessage(str: string): TDefaultMessage;
function EncodeString(str: string): string;
function DecodeString(str: string): string;
function EncodeBuffer(buf: PChar; bufsize: Integer): string;
procedure DecodeBuffer(src: string; buf: PChar; bufsize: Integer);
function MakeDefaultMsg(wIdent: Word; nRecog: Integer; wParam, wTag, wSeries: Word): TDefaultMessage;
var
  CSEncode: TRTLCriticalSection;

implementation

var
  EncBuf, TempBuf: PChar;
procedure Encode6BitBuf(src, dest: PChar; srclen, destlen: Integer);
var
  i, restcount, destpos: Integer;
  made, ch, rest: Byte;
begin
  try
    restcount := 0;
    rest := 0;
    destpos := 0;
    for i := 0 to srclen - 1 do begin
      if destpos >= destlen then break;
      ch := Byte(src[i]);
      made := Byte((rest or (ch shr (2 + restcount))) and $3F);
      rest := Byte(((ch shl (8 - (2 + restcount))) shr 2) and $3F);
      Inc(restcount, 2);

      if restcount < 6 then begin
        dest[destpos] := Char(made + $3C);
        Inc(destpos);
      end else begin
        if destpos < destlen - 1 then begin
          dest[destpos] := Char(made + $3C);
          dest[destpos + 1] := Char(rest + $3C);
          Inc(destpos, 2);
        end else begin
          dest[destpos] := Char(made + $3C);
          Inc(destpos);
        end;
        restcount := 0;
        rest := 0;
      end;

    end;
    if restcount > 0 then begin
      dest[destpos] := Char(rest + $3C);
      Inc(destpos);
    end;
    dest[destpos] := #0;
  except
  end;
end;

procedure Decode6BitBuf(Source: string; buf: PChar; buflen: Integer);
const
  Masks: array[2..6] of Byte = ($FC, $F8, $F0, $E0, $C0);
  //($FE, $FC, $F8, $F0, $E0, $C0, $80, $00);
var
  i, len, bitpos, madebit, bufpos: Integer;
  ch, tmp, _byte: Byte;
begin
  ch := 0; //Jacky
  try
    len := Length(Source);
    bitpos := 2;
    madebit := 0;
    bufpos := 0;
    tmp := 0;
    for i := 1 to len do begin
      if Integer(Source[i]) - $3C >= 0 then
        ch := Byte(Source[i]) - $3C
      else begin
        bufpos := 0;
        break;
      end;

      if bufpos >= buflen then break;

      if (madebit + 6) >= 8 then begin
        _byte := Byte(tmp or ((ch and $3F) shr (6 - bitpos)));
        buf[bufpos] := Char(_byte);
        Inc(bufpos);
        madebit := 0;
        if bitpos < 6 then Inc(bitpos, 2)
        else begin
          bitpos := 2;
          Continue;
        end;
      end;

      tmp := Byte(Byte(ch shl bitpos) and Masks[bitpos]); // #### ##--
      Inc(madebit, 8 - bitpos);
    end;
    buf[bufpos] := #0;
  except
  end;
end;


function DecodeMessage(str: string): TDefaultMessage;
var
  Msg: TDefaultMessage;
begin
  try
    EnterCriticalSection(CSEncode);
    Decode6BitBuf(str, EncBuf, 1024);
    Move(EncBuf^, Msg, SizeOf(TDefaultMessage));
    Result := Msg;
  finally
    LeaveCriticalSection(CSEncode);
  end;
end;


function DecodeString(str: string): string;
begin
  try
    EnterCriticalSection(CSEncode);
    Decode6BitBuf(str, EncBuf, BUFFERSIZE);
    Result := StrPas(EncBuf); //error, 1, 2, 3,...
  finally
    LeaveCriticalSection(CSEncode);
  end;
end;

procedure DecodeBuffer(src: string; buf: PChar; bufsize: Integer);
begin
  try
    EnterCriticalSection(CSEncode);
    Decode6BitBuf(src, EncBuf, BUFFERSIZE);
    Move(EncBuf^, buf^, bufsize);
  finally
    LeaveCriticalSection(CSEncode);
  end;
end;


function EncodeMessage(sMsg: TDefaultMessage): string;
begin
  try
    EnterCriticalSection(CSEncode);
    Move(sMsg, TempBuf^, SizeOf(TDefaultMessage));
    Encode6BitBuf(TempBuf, EncBuf, SizeOf(TDefaultMessage), 1024);
    Result := StrPas(EncBuf); //Error: 1, 2, 3, 4, 5, 6, 7, 8, 9
  finally
    LeaveCriticalSection(CSEncode);
  end;
end;


function EncodeString(str: string): string;
begin
  try
    EnterCriticalSection(CSEncode);
    Encode6BitBuf(PChar(str), EncBuf, Length(str), BUFFERSIZE);
    Result := StrPas(EncBuf);
  finally
    LeaveCriticalSection(CSEncode);
  end;
end;


function EncodeBuffer(buf: PChar; bufsize: Integer): string;
begin
  try
    EnterCriticalSection(CSEncode);
    if bufsize < BUFFERSIZE then begin
      Move(buf^, TempBuf^, bufsize);
      Encode6BitBuf(TempBuf, EncBuf, bufsize, BUFFERSIZE);
      Result := StrPas(EncBuf);
    end else
      Result := '';
  finally
    LeaveCriticalSection(CSEncode);
  end;
end;
function MakeDefaultMsg(wIdent: Word; nRecog: Integer; wParam, wTag, wSeries: Word): TDefaultMessage;
begin
  Result.Recog := nRecog;
  Result.Ident := wIdent;
  Result.Param := wParam;
  Result.Tag := wTag;
  Result.Series := wSeries;
end;
initialization
  begin
    GetMem(EncBuf, 10240 + 100); //BUFFERSIZE + 100);
    GetMem(TempBuf, 10240); //2048);
    InitializeCriticalSection(CSEncode);
  end;


finalization
  begin
    //FreeMem (EncBuf, BUFFERSIZE + 100);
      //FreeMem (TempBuf, 2048);
    DeleteCriticalSection(CSEncode);
  end;


end.

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品资源在线| 一区二区在线观看免费视频播放| 香蕉成人啪国产精品视频综合网| 欧美影视一区在线| 亚洲大片免费看| 制服.丝袜.亚洲.中文.综合| 麻豆国产91在线播放| 日韩免费成人网| 精品一区二区三区视频在线观看 | 国产精品一区二区免费不卡 | 久久精品免费观看| 日韩欧美国产三级电影视频| 精品在线一区二区三区| 久久精品人人做人人综合| 国产不卡视频在线观看| 亚洲视频一区二区在线| 欧美日本一道本| 国产在线一区二区综合免费视频| 国产亚洲精品7777| 色婷婷综合五月| 日韩高清在线一区| 国产亚洲欧美日韩在线一区| 99精品欧美一区二区三区小说| 亚洲一二三四久久| 精品国一区二区三区| 99麻豆久久久国产精品免费 | 一区二区三区精品视频| 91精品国产一区二区| 国产精品一级黄| 亚洲综合无码一区二区| 精品人在线二区三区| 99久久综合国产精品| 免费成人小视频| 亚洲区小说区图片区qvod| 91麻豆精品国产91久久久久久| 国产91精品一区二区| 亚洲影院免费观看| 久久综合九色综合欧美亚洲| 色偷偷一区二区三区| 国产一区二区三区免费观看| 一区二区在线免费观看| 久久亚洲捆绑美女| 在线电影一区二区三区| 成人h精品动漫一区二区三区| 午夜久久久久久| 中文字幕一区二区三区四区不卡| 日韩午夜激情视频| 在线视频欧美区| 国产91清纯白嫩初高中在线观看| 天天亚洲美女在线视频| 亚洲丝袜精品丝袜在线| 欧美成人伊人久久综合网| 欧美视频一二三区| 99久久精品一区| 国产激情一区二区三区| 蜜臀av性久久久久蜜臀aⅴ流畅| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 日韩精品专区在线影院观看| 在线影院国内精品| 国产精品888| 蜜臀久久99精品久久久久宅男| 亚洲乱码日产精品bd| 日本一区二区三区四区| 亚洲精品在线网站| 欧美一三区三区四区免费在线看| 欧美自拍偷拍午夜视频| 99re视频这里只有精品| 成人蜜臀av电影| 国产成人h网站| 国产一本一道久久香蕉| 蜜桃91丨九色丨蝌蚪91桃色| 日韩成人午夜精品| 日韩综合在线视频| 亚洲一区二区免费视频| 亚洲精品自拍动漫在线| 亚洲欧美日韩在线| 亚洲嫩草精品久久| 亚洲精品免费在线| 亚洲黄一区二区三区| 亚洲美女视频在线观看| 亚洲男人的天堂在线观看| 玉米视频成人免费看| 一区二区三区免费在线观看| 亚洲精品欧美在线| 一区二区三区不卡视频在线观看| 综合av第一页| 亚洲激情校园春色| 亚洲国产精品一区二区www| 亚洲国产一区二区视频| 亚洲大尺度视频在线观看| 亚洲午夜激情av| 午夜不卡av在线| 九九精品视频在线看| 国产一区二区三区久久悠悠色av| 极品美女销魂一区二区三区| 国产乱码精品一区二区三| 国产精品18久久久久久久久 | 成+人+亚洲+综合天堂| 9久草视频在线视频精品| 色狠狠综合天天综合综合| 欧美三级蜜桃2在线观看| 欧美一区二区三区男人的天堂| 日韩精品一区二区三区三区免费 | 色偷偷成人一区二区三区91| 欧美性xxxxxx少妇| 日韩一区二区三区四区五区六区| 欧美xingq一区二区| 国产精品免费久久久久| 亚洲午夜精品一区二区三区他趣| 日韩电影在线观看电影| 激情小说亚洲一区| 99久久精品免费精品国产| 欧美三级在线视频| 久久综合丝袜日本网| 亚洲天堂av老司机| 免费精品99久久国产综合精品| 国产精品资源网| 欧美性色综合网| 精品国产91亚洲一区二区三区婷婷| 国产精品美女视频| 三级一区在线视频先锋| 丁香激情综合五月| 欧美日韩和欧美的一区二区| 国产亚洲成aⅴ人片在线观看 | 欧美日韩在线播放| 久久综合九色综合欧美98 | 亚洲电影视频在线| 国产成人小视频| 欧美日韩一本到| 亚洲国产精品激情在线观看| 午夜精品爽啪视频| 成人小视频在线观看| 91精品国产入口在线| 亚洲欧美中日韩| 国产在线不卡一区| 欧美日韩亚洲另类| 国产精品女主播av| 激情欧美一区二区三区在线观看| 欧美性感一区二区三区| 欧美国产国产综合| 久久国产尿小便嘘嘘| 欧美专区日韩专区| 国产精品毛片久久久久久久| 蜜臀久久久99精品久久久久久| 色综合网站在线| 国产日韩精品一区二区浪潮av| 天涯成人国产亚洲精品一区av| 91欧美一区二区| 国产人妖乱国产精品人妖| 久久精品免费看| 欧美日韩国产乱码电影| 亚洲精品欧美综合四区| av午夜一区麻豆| 国产视频在线观看一区二区三区 | 久久精品国产亚洲高清剧情介绍 | 久久久午夜精品理论片中文字幕| 日韩av网站在线观看| 色欧美乱欧美15图片| 国产精品乱人伦中文| 国产成人a级片| 国产婷婷一区二区| 国产在线看一区| 精品国产亚洲在线| 另类中文字幕网| 日韩欧美资源站| 蜜桃久久久久久久| 日韩三级电影网址| 麻豆精品精品国产自在97香蕉| 欧美日韩视频在线第一区| 亚洲一区二区三区不卡国产欧美| 日本韩国一区二区三区视频| 亚洲欧美另类图片小说| 91福利小视频| 亚洲第一二三四区| 7777精品伊人久久久大香线蕉超级流畅| 一区二区三区鲁丝不卡| 欧美日韩国产小视频在线观看| 亚洲国产精品一区二区久久| 欧美日韩国产一级| 免费观看日韩av| 久久人人爽爽爽人久久久| 国产精品一区二区三区乱码| 日本一区二区久久| 色综合久久综合| 亚洲一区在线看| 91精品国产福利| 久久99精品国产麻豆婷婷洗澡| 久久男人中文字幕资源站| 国产99久久久国产精品| 中文字幕视频一区二区三区久| 色综合av在线| 青青草视频一区| 久久一留热品黄| av一区二区三区四区| 亚洲一区二区偷拍精品| 日韩一区二区免费电影| 粉嫩av亚洲一区二区图片| 亚洲精品国产成人久久av盗摄| 911精品国产一区二区在线| 精一区二区三区|