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

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

?? edcode.pas

?? 解元 傳奇2客戶端delphi源程序
?? 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);

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
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;

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.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91国偷自产一区二区三区成为亚洲经典 | 91精品在线一区二区| 成人av在线资源| 成人av第一页| 91片黄在线观看| 在线视频欧美区| 色婷婷久久综合| 色综合欧美在线视频区| 波多野结衣视频一区| 91麻豆国产福利在线观看| 91麻豆国产福利在线观看| 91亚洲精品久久久蜜桃网站| a在线播放不卡| 一本大道久久a久久精品综合| 色综合视频在线观看| 在线精品国精品国产尤物884a| 欧美日韩高清一区二区三区| 666欧美在线视频| 欧美电影免费观看高清完整版在线观看| 制服丝袜亚洲色图| 精品国产sm最大网站| 国产精品乱人伦中文| 亚洲色图欧洲色图| 日韩av一级片| 不卡一卡二卡三乱码免费网站| 在线视频欧美区| 日韩一级片网站| 欧美精品一区二区三区视频| 久久精品夜色噜噜亚洲aⅴ| 国产精品丝袜久久久久久app| 亚洲一区二区三区激情| 久久国产婷婷国产香蕉| 91麻豆国产福利精品| 欧美电影免费观看高清完整版在线 | 亚洲不卡一区二区三区| 看电视剧不卡顿的网站| av电影一区二区| 在线综合+亚洲+欧美中文字幕| 久久亚洲精品国产精品紫薇| 一区二区三区日本| 韩国一区二区三区| 色88888久久久久久影院野外| 日韩精品在线看片z| 亚洲人成亚洲人成在线观看图片| 麻豆免费精品视频| 色噜噜狠狠成人网p站| 国产午夜精品理论片a级大结局| 亚洲国产sm捆绑调教视频| 国产精品一区二区黑丝| 欧美精品久久一区二区三区| 中文字幕亚洲视频| 精品一区二区免费在线观看| 欧美日韩视频在线一区二区| 国产精品麻豆99久久久久久| 国产一区二区在线电影| 欧美日韩另类国产亚洲欧美一级| 中文字幕欧美一区| 狠狠久久亚洲欧美| 欧美一区二区三区不卡| 亚洲精品成人悠悠色影视| 国产成人亚洲精品青草天美 | 国产麻豆成人传媒免费观看| 欧美日韩一区国产| 亚洲精品你懂的| 精品污污网站免费看| 综合av第一页| www.在线成人| 国产精品日产欧美久久久久| 国产成人午夜高潮毛片| www久久精品| 国产一区在线观看麻豆| 精品国产乱码久久| 国产一区欧美一区| 久久久久久免费网| 国产综合色视频| 亚洲精品一区二区三区福利| 激情综合网av| 久久蜜臀精品av| 高清国产一区二区| 亚洲国产高清在线| 成人美女视频在线观看| 国产精品女主播av| av成人动漫在线观看| 亚洲欧美电影一区二区| 欧美在线观看视频一区二区三区| 亚洲一区二区三区美女| 7777精品伊人久久久大香线蕉超级流畅| 亚洲成人av电影在线| 欧美一级搡bbbb搡bbbb| 精品一区二区三区不卡| 日本一区二区三区dvd视频在线| 成人午夜在线播放| 最新国产の精品合集bt伙计| 欧美日韩在线直播| 蜜桃精品在线观看| 国产精品美女久久久久aⅴ国产馆| 成人美女视频在线看| 亚洲黄一区二区三区| 91精品福利在线一区二区三区| 久久国产精品第一页| 国产精品午夜电影| 欧美日韩午夜在线| 精品一二线国产| 最新不卡av在线| 日韩欧美在线综合网| av在线播放成人| 亚洲成av人片| 国产精品视频一区二区三区不卡| 欧美性猛交xxxxxx富婆| 精品一区二区影视| 亚洲色图清纯唯美| 日韩一级在线观看| 91麻豆精品在线观看| 美国毛片一区二区三区| 亚洲欧洲成人自拍| 欧美sm美女调教| 欧美艳星brazzers| 国产乱理伦片在线观看夜一区| 夜夜嗨av一区二区三区四季av| 久久久久久久久久美女| 欧美在线一区二区三区| 丁香啪啪综合成人亚洲小说| 香蕉av福利精品导航| 中文字幕国产一区二区| 欧美一区三区二区| 91性感美女视频| 国产精品一区二区免费不卡| 午夜久久福利影院| 亚洲天堂精品视频| 久久久精品综合| 日韩一区二区三区四区| 在线观看视频一区二区| aaa亚洲精品| 国产成人av影院| 激情综合五月天| 老司机午夜精品99久久| 天堂影院一区二区| 亚洲国产美国国产综合一区二区| 国产精品美女久久久久高潮| 国产亚洲一区二区三区在线观看| 日韩美女天天操| 6080午夜不卡| 制服丝袜国产精品| 欧美日韩一区二区三区四区 | 国产欧美日韩在线视频| 日韩女优电影在线观看| 91精品国产综合久久久久久久| 在线看一区二区| 色综合久久中文综合久久97| 99久久久久久| 久久成人免费电影| 久久av资源站| 国产在线精品视频| 国产成人综合视频| 成人高清免费在线播放| 国产69精品一区二区亚洲孕妇 | 亚洲欧美日韩一区二区 | 欧美中文字幕一区| 欧美在线影院一区二区| 在线精品国精品国产尤物884a| 91一区一区三区| 欧美日韩中字一区| 在线播放国产精品二区一二区四区| 91成人网在线| 在线播放中文字幕一区| 日韩视频免费观看高清完整版在线观看 | 国产精品乱码一区二区三区软件| 久久九九全国免费| 国产亚洲精久久久久久| 亚洲欧洲另类国产综合| 亚洲综合久久av| 麻豆成人久久精品二区三区小说| 国模一区二区三区白浆| 国产精品中文字幕日韩精品| 99re热这里只有精品免费视频| 91福利视频网站| 日韩美一区二区三区| 欧美经典一区二区| 成人欧美一区二区三区在线播放| 尤物av一区二区| 青青草国产成人av片免费| 国产福利精品一区| 欧美视频一区二区三区四区 | 毛片av一区二区| 经典三级一区二区| av在线不卡免费看| 91麻豆精品久久久久蜜臀| 国产清纯在线一区二区www| 亚洲女同ⅹxx女同tv| 秋霞电影一区二区| 波多野结衣精品在线| 欧美喷水一区二区| 久久久午夜电影| 亚洲欧美电影院| 免费成人在线网站| 91在线高清观看| 国产婷婷精品av在线| 日韩影视精彩在线| 91一区在线观看| 国产午夜亚洲精品理论片色戒 |