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

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

?? hyperstr.pas

?? String hanlding library. Functions for crypto, token etc
?? PAS
?? 第 1 頁 / 共 5 頁
字號:
//*** HYPERSTR v6.00 - (c)1996-2001, EFD Systems ***
//
//This source code is licensed for the private personal use of
//our clients and may not be re-distributed under any circumstances.
//
//THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
//ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
//THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
//PARTICULAR PURPOSE.

{$B-,H+,X+,J-,O+} //Essential directives
{$IFDEF VER140}
{$WARN SYMBOL_PLATFORM OFF}
{$ENDIF}

unit HyperStr;

interface

uses
  Windows, Messages, SysUtils, WinSock, WinSpool;

type
  IDateTime      = type Integer;
  TIntegerArray  = array[0..(MaxInt div SizeOf(Integer))-1] of Integer;
  TWordArray     = array[0..(MaxInt div SizeOf(Word))-1] of Word;
  TSingleArray   = array[0..(MaxInt div SizeOf(Single))-1] of Single;
  TDoubleArray   = array[0..(MaxInt div SizeOf(Double))-1] of Double;
  TCurrencyArray = array[0..(MaxInt div SizeOf(Currency))-1] of Currency;
  TPointerArray  = array[0..(MaxInt div SizeOf(Pointer))-1] of Pointer;
  TCharSet       = set of char;

//For debugging and internal use, undocumented
function GetRefCnt(Source:AnsiString):Integer;
function ClrStringLocks:Boolean;

//Convert
function  IntToChr(const X:Integer):AnsiString;
function  ChrToInt(const Source:AnsiString):Integer;
function  WordToChr(const X:Word):AnsiString;
function  ChrToWord(const Source:AnsiString):Word;
function  SngToChr(const X:Single):AnsiString;
function  ChrToSng(const Source:AnsiString):Single;
function  DblToChr(var X:Double):AnsiString;
function  ChrToDbl(const Source:AnsiString):Double;
function  CurToChr(var X:Currency):AnsiString;
function  ChrToCur(const Source:AnsiString):Currency;
function  BinToInt(const Source:AnsiString):Integer;
function  IntToBin(const X:Integer):AnsiString;
function  HexToInt(const Source:AnsiString):Integer;
function  NumToWord(const Source:AnsiString;Money:Boolean):AnsiString;
function  OrdSuffix(const X:Integer):AnsiString;
function  SwapEndian(const X:Integer):Integer;
function  BoolToStr(const TF:Boolean):AnsiString;
function  RadixStr(const NumStr:AnsiString; Old,New:Integer):AnsiString;

//Search
function  ScanF(const Source,Search:AnsiString;Start:Integer):Integer;
function  ScanFF(const Source,Search:AnsiString;Start:Integer):Integer;
function  ScanR(const Source,Search:AnsiString;Start:Integer):Integer;
function  ScanRF(const Source,Search:AnsiString;Start:Integer):Integer;
function  ScanB(const Source:AnsiString;X:Char;Start:Integer):Integer;
function  ScanC(const Source:AnsiString;X:Char;Start:Integer):Integer;
function  ScanD(const Source,Search:AnsiString;Start:Integer):Integer;
function  ScanL(const Source:AnsiString;Start:Integer):Integer;
function  ScanU(const Source:AnsiString;Start:Integer):Integer;
function  ScanN(const Source:AnsiString;Start:Integer):Integer;
function  ScanCC(const Source:AnsiString;X:Char;Count:Integer):Integer;
function  ScanNC(const Source:AnsiString;X:Char):Integer;
function  ScanNB(const Source:AnsiString;X:Char):Integer;
function  ScanT(const Source,Table:AnsiString;Start:Integer):Integer;
function  ScanTQ(const Source,Table:AnsiString;Start:Integer):Integer;
function  ScanRT(const Source,Table:AnsiString;Start:Integer):Integer;
function  ScanNT(const Source,Table:AnsiString;Start:Integer):Integer;
function  ScanRNT(const Source,Table:AnsiString;Start:Integer):Integer;
function  ScanP(const Source,Search:AnsiString;var Start:Integer):Integer;
function  ScanW(const Source,Search:AnsiString;var Start:Integer):Integer;
function  ScanQ(const Source,Search:AnsiString;Start:Integer):Integer;
function  ScanQC(const Source,Search:AnsiString;Start:Integer):Integer;
function  ScanQR(const Source,Search:AnsiString;Start:Integer):Integer;
function  ScanQRC(const Source,Search:AnsiString;Start:Integer):Integer;
function  ScanZ(const Source,Search:AnsiString;Defects:Integer;var Start:Integer):Integer;
function  ScanSS(const Source,Search:AnsiString;const Start,Stop:Integer):Integer;
function  ScanSC(const Source,Search:AnsiString;const Start:Integer; const Stop:Char):Integer;
function  ScanLU(const Source:AnsiString;Lower,Upper:Char;Start:Integer):Integer;
function  ScanOR(const Source,Search:AnsiString;Start:Integer):Integer;
function  ScanBfr(const Bfr:PByte;Search:AnsiString;BfrLen:Integer):PByte;
function  ScanBfrC(const Bfr:PByte;Search:AnsiString;BfrLen:Integer):PByte;
function  ScanBfrR(const Bfr:PByte;Search:AnsiString;BfrLen:Integer):PByte;
function  ScanBfrRC(const Bfr:PByte;Search:AnsiString;BfrLen:Integer):PByte;
function  MakePattern( const Source:AnsiString) : AnsiString;
function  ScanRX( const Source,Pattern : AnsiString; var Start : integer ):Integer;
procedure SetQuotes(const QStart,QEnd:Char);
function  WScan(const Source,Search:WideString;Start:Integer):Integer;
function  WScanC(const Source:WideString;X:WideChar;Start:Integer):Integer;
function  WScanRC(const Source:WideString;X:WideChar;Start:Integer):Integer;

//Pad,Trim,Slice
function  LTrim(const Source:AnsiString;X:Char):AnsiString;
function  RTrim(const Source:AnsiString;X:Char):AnsiString;
function  CTrim(const Source:AnsiString;X:Char):AnsiString;
procedure LPad(var Source: AnsiString; const X:Char;Count:Integer);
procedure RPad(var Source: AnsiString; const X:Char;Count:Integer);
procedure CPad(var Source: AnsiString; const X:Char;Count:Integer);
function  LAdd(const Source: AnsiString; const X:Char;Count:Integer):AnsiString;
function  RAdd(const Source: AnsiString; const X:Char;Count:Integer):AnsiString;
function  CAdd(const Source: AnsiString; const X:Char;Count:Integer):AnsiString;
procedure LFlush(var Source: AnsiString);
procedure RFlush(var Source: AnsiString);
procedure CFlush(var Source: AnsiString);
function  LStr(const Source:AnsiString;Count:Integer):AnsiString;
function  RStr(const Source:AnsiString;Count:Integer):AnsiString;
function  CStr(const Source:AnsiString;Index,Count:Integer):AnsiString;
function  IStr(const Source:AnsiString;Index:Integer):AnsiString;
function  Extract(const Source,Srch:AnsiString;Index:Integer):AnsiString;

//Tokens
function  Parse(const Source,Table:AnsiString;var Index:Integer):AnsiString;
function  ParseWord(const Source,Table:AnsiString;var Index:Integer):AnsiString;
function  ParseTag(const Source,Start,Stop:AnsiString;var Index:Integer):AnsiString;
function  Fetch(const Source,Table:AnsiString;Num:Integer;DelFlg:Boolean):AnsiString;
function  GetDelimiter:Char;
function  SetDelimiter(Delimit:Char):Boolean;
function  GetDelimiter2:AnsiString;
function  SetDelimiter2(Delimit:AnsiString):Boolean;
function  InsertToken(var Source:AnsiString; const Token:AnsiString;Index:Integer):Boolean;
function  DeleteToken(var Source:AnsiString;var Index:Integer):Boolean;
function  ReplaceToken(var Source:AnsiString;Token:AnsiString;Index:Integer):Boolean;
function  GetToken(const Source:AnsiString;Index:Integer):AnsiString;
function  PrevToken(const Source:AnsiString;var Index:Integer):Boolean;
function  NextToken(const Source:AnsiString;var Index:Integer):Boolean;
function  GetTokenNum(const Source:AnsiString;Index:Integer):Integer;
function  GetTokenPos(const Source:AnsiString;Num:Integer):Integer;
function  GetTokenCnt(const Source:AnsiString):Integer;

//Match
function  Similar(const S1,S2:AnsiString):Integer;
function  StrDist(const S1,S2:AnsiString):Integer;
function  Soundex(const Source:AnsiString):Integer;
function  MetaPhone(const Name:AnsiString):Integer;

//Count
function  CountF(const Source:AnsiString;X:Char;Index:Integer):Integer;
function  CountR(const Source:AnsiString;X:Char;Index:Integer):Integer;
function  CountT(const Source,Table:AnsiString;Index:Integer):Integer;
function  CountM(const Source,Table:AnsiString;Index:Integer):Integer;
function  CountN(const Source,Table:AnsiString;Index:Integer):Integer;
function  CountW(const Source,Table:AnsiString):Integer;

//Test
function  IsNum(const Source:AnsiString):Boolean;
function  IsHex(const Source:AnsiString):Boolean;
function  IsFloat(const Source:AnsiString):Boolean;
function  IsAlpha(const Source:AnsiString):Boolean;
function  IsAlphaNum(const Source:AnsiString):Boolean;
function  IsMask(const Source,Mask:AnsiString;Index:Integer):Boolean;
function  IsNull(const Source:AnsiString):Boolean;
function  IsDateTime(const Source:AnsiString):Boolean;
function  IsTable(const Source,Table:AnsiString):Boolean;
function  IsField(const Source,Table:AnsiString;const Index,Cnt:Integer):Boolean;
function  IsSet(const Source:AnsiString;Multiple,Single:TCharSet):Boolean;
function  IsNumChar(const C:Char):Boolean;
function  IsAlphaChar(const C:Char):Boolean;
function  IsAlphaNumChar(const C:Char):Boolean;
function  IsLChar(C:Char):Boolean;
function  IsUChar(C:Char):Boolean;
function  IsCChar(C1,C2:Char):Boolean;
function  IsFound(const Source,Search:AnsiString;Start:Integer):Boolean;
function  IsMatch(const Source,Pattern:AnsiString;CaseFlg:Boolean):Boolean;
function  AnsiCompare(const S1,S2:AnsiString;I1,I2,Cnt:Integer):Integer;
function  HyperCompare(S1,S2:AnsiString;I1,I2,Cnt:Integer):Integer;
function  StringAt(const Src,Table:AnsiString;Index,Cnt:Integer):Boolean;

//Edit
function  MakeNum(var Source:AnsiString):Integer;
function  MakeHex(var Source:AnsiString):Integer;
function  MakeFloat(var Source:AnsiString):Integer;
function  MakeFixed(var Source:AnsiString; const Count:Byte):Integer;
function  MakeAlpha(var Source:AnsiString):Integer;
function  MakeAlphaNum(var Source:AnsiString):Integer;
function  MakeTime(var Source:AnsiString):Integer;
function  MakeTable(var Source:AnsiString;const Table:AnsiString):Integer;
function  IntToFmtStr(const X:Integer):AnsiString;
function  DupChr(const X:Char;Count:Integer):AnsiString;
function  UChar(const Source:Char):Char;
function  LChar(const Source:Char):Char;
function  RChar(const Source:Char):Char;
procedure UCase(var Source:AnsiString;Index,Count:Integer);
procedure LCase(var Source:AnsiString;Index,Count:Integer);
procedure AnsiUCase(var Source:AnsiString;const Index,Count:Integer);
procedure AnsiLCase(var Source:AnsiString;const Index,Count:Integer);
procedure ProperCase(var Source: AnsiString);
procedure MoveStr(const S:AnsiString;XS:Integer;var D:AnsiString;const XD,Cnt:Integer);
procedure ShiftStr(var S:AnsiString;Index,Count:Integer);
procedure FillStr(var Source:AnsiString;const Index:Integer;X:Char);
procedure FillCnt(var Source:AnsiString;const Index,Cnt:Integer;X:Char);
procedure LCompact(var Source:AnsiString);
function  Compact(var Source:AnsiString):Integer;
function  DeleteC(var Source:AnsiString;const X:Char):Integer;
function  DeleteD(var Source:AnsiString;const X:Char):Integer;
function  DeleteS(var Source:AnsiString;const Index,Count:Integer):Integer;
function  DeleteT(var Source:AnsiString;const Table:AnsiString):Integer;
function  DeleteTQ(var Source:AnsiString;const Table:AnsiString):Integer;
function  DeleteI(var Source:AnsiString;const Table:AnsiString; const Index:Integer):Integer;
function  DeleteNT(var Source:AnsiString;const Table:AnsiString):Integer;
function  DeleteNI(var Source:AnsiString;const Table:AnsiString; const Index:Integer):Integer;
procedure ReplaceC(var Source:AnsiString;const X,Y:Char);
procedure ReplaceT(var Source:AnsiString;const Table:AnsiString;X:Char);
procedure ReplaceI(var Source:AnsiString;const Table:AnsiString;Index:Integer;X:Char);
procedure ReplaceS(var Source:AnsiString;const Target,Replace:AnsiString);
function  ReplaceSC(var Source:AnsiString;const Target,Replace:AnsiString;CaseFlg:Boolean):Integer;
procedure OverWrite(var Source:AnsiString; const Replace:AnsiString;Index:Integer);
procedure Translate(var Source:AnsiString;const Table,Replace:AnsiString);
procedure RevStr(var Source:AnsiString);
procedure IncStr(var Source:AnsiString);
function  TruncPath(var S:AnsiString; const Count:Integer):Boolean;
function  Abbreviate(var S:AnsiString; const T:AnsiString;const Count:Integer):Boolean;
procedure TomCat(const S:AnsiString; var D:AnsiString; var InUse:Integer);
function  BuildTable(const Source:AnsiString):AnsiString;
procedure CharSort(var A:AnsiString);
function  WrapText(const Source:AnsiString;MaxWidth:Integer):AnsiString;
function  SetStrAddr(Addr:DWord):AnsiString;
function  SetCaseTable(const Lower,Upper:AnsiString):Boolean;

//Arrays
procedure StrSort(var A:array of AnsiString;const Cnt:Integer);
function  StrSrch(var A:array of AnsiString;const Target:AnsiString;Cnt:Integer):Integer;
function  StrDelete(var A:array of AnsiString;const Target,Cnt:Integer):Boolean;
function  StrInsert(var A:array of AnsiString;const Target,Cnt:Integer):Boolean;
procedure StrSwap(var S1,S2:AnsiString);
procedure ISortA(var A:array of integer;const Cnt:Integer);
procedure ISortD(var A:array of integer;const Cnt:Integer);
procedure HyperSort(const ArrayPtr:Pointer;const Cnt:Integer);
function  IntSrch(const A:array of Integer;const Target,Cnt:Integer):Integer;
function  IntDelete(var A:array of Integer; const Target,Cnt:Integer):Boolean;
function  IntInsert(var A:array of Integer; const Target,Cnt:Integer):Boolean;
procedure Dim(var P; const Size:Integer; Initialize:Boolean);
function  Cap(const P):Integer;

//Hash, Encrypt
function  Hash(const Source:AnsiString):Integer;
procedure EnCipher(var Source:AnsiString);
procedure DeCipher(var Source:AnsiString);
procedure Crypt(var Source:AnsiString; const Key:AnsiString);
procedure CryptBfr(const BfrPtr:Pointer; const Key:AnsiString; const BfrLen:Integer);
procedure IniRC4(const Key:AnsiString);
procedure CryptRC4(var Source:AnsiString);
function  HideInteger(const Value:Integer):AnsiString;
function  SeekInteger(const S:AnsiString):Integer;
function  Chaff(Source:AnsiString):AnsiString;
function  Winnow(Source:AnsiString):AnsiString;

//CRC, Checksum
function  ChkSum(const Source:AnsiString):Word;
procedure MakeSumZero(var Source:AnsiString);
function  ChkSumXY(const Source:AnsiString):Byte;
function  NetSum(const Source:AnsiString):Word;
function  CRC16(const IniCRC:Word;Source:AnsiString):Word;
function  CRCXY(const IniCRC:Word;Source:AnsiString):Word;
function  CRC32(const IniCRC:Integer;Source:AnsiString):Integer;
function  CRCBfr(const IniCRC:Integer; Bfr:PByte;BfrLen:Integer):Integer;
function  CreditSum(const Source:AnsiString):Integer;
function  ISBNSum(const Source:AnsiString):Boolean;
function  ValidSSN(Source:AnsiString):Integer;

//Base64
function  EnCodeInt(const X:Integer):AnsiString;
function  DeCodeInt(const Source:AnsiString):Integer;
function  EnCodeWord(const X:Word):AnsiString;
function  DeCodeWord(const Source:AnsiString):Word;
function  EnCodeSng(const X:Single):AnsiString;
function  DeCodeSng(const Source:AnsiString):Single;
function  EnCodeDbl(var X:Double):AnsiString;
function  DeCodeDbl(const Source:AnsiString):Double;
function  EnCodeCur(var X:Currency):AnsiString;
function  DeCodeCur(const Source:AnsiString):Currency;
function  EnCodeStr(const Source:AnsiString):AnsiString;
function  DeCodeStr(const Source:AnsiString):AnsiString;
function  URLEncode(S:AnsiString):AnsiString;
function  URLDecode(S:AnsiString):AnsiString;
function  UUEncode(S:AnsiString):AnsiString;
function  UUDecode(S:AnsiString):AnsiString;

//Math
function  EnCodeBCD(const Source:AnsiString):AnsiString;
function  DeCodeBCD(const Source:AnsiString):AnsiString;
function  AddUSI(const X,Y:Integer):Integer;
function  SubUSI(const X,Y:Integer):Integer;
function  MulUSI(const X,Y:Integer):Integer;
function  DivUSI(const X,Y:Integer):Integer;
function  ModUSI(const X,Y:Integer):Integer;
function  CmpUSI(const X,Y:Integer):Integer;
function  USIToStr(const X:Integer):AnsiString;
function  StrToUSI(const Source:AnsiString):Integer;
function  StrAdd(X,Y:AnsiString):AnsiString;
function  StrSub(X,Y:AnsiString):AnsiString;
function  StrMul(X,Y:AnsiString):AnsiString;
function  StrDiv(X,Y:AnsiString; var R:AnsiString):AnsiString;
function  StrCmp(X,Y:AnsiString):Integer;
function  StrAbs(X:AnsiString):AnsiString;
function  StrHex(X:AnsiString):AnsiString;
function  StrDec(X:AnsiString):AnsiString;
function  StrRnd(X:AnsiString; Digits:Integer):AnsiString;

//Integer Date/Time
function  TDT2IDT(const TDT:TDateTime):IDateTime; //TDateTime to IDateTime
function  IDT2TDT(const IDT:IDateTime):TDateTime; //IDateTime to TDateTime
function  StrToITime(const Source:AnsiString):IDateTime;  //String to ITime
function  StrToIDate(const Source:AnsiString):IDateTime;  //String to IDate
function  StrToIDateTime(const Source:AnsiString):IDateTime;  //String to IDate
function  IDateToStr(const IDT:IDateTime):AnsiString;
function  ITimeToStr(const IDT:IDateTime):AnsiString;
function  ITimeTo2460(IDT:IDateTime):AnsiString;
function  IDateTimeToStr(const IDT:IDateTime):AnsiString;
function  EncodeITime(const D,H,M,S:Word):IDateTime;
procedure DecodeITime(const IDT:IDateTime; var D,H,M:Word);
function  EncodeIDate(const Y,M,D:Word):IDateTime;
procedure DecodeIDate(const IDT:IDateTime; var Y,M,D:Word);
function  RoundITime(const IDT:IDateTime;Mns:Word):IDateTime;
function  WeekNum(const TDT:TDateTime; FirstDayofWeek:Integer):Word;
function  ISOWeekNum(const TDT:TDateTime):Word;
function  Easter(const Year:Word):Integer;
function  DayOfMonth(Year,Month,Day,N:Word):Word;
function  DayOfWk(Year,Month,Day:Word):Word;
function  FirstWeek:AnsiString;
function  FirstDay:AnsiString;
function  FormatToDateTime(S,Format:AnsiString):TDateTime;
function  IsDateValid(S,Format:AnsiString):Boolean;

//API
function  GetUser:AnsiString;
function  GetNetUser: AnsiString;
function  GetComputer:AnsiString;
function  GetLocalIP:AnsiString;
function  GetDrives:AnsiString;
function  RemoteDrive(const Drv:Char):Boolean;
function  GetDisk(const Drv:Char; var CSize,Available,Total:DWord):Boolean;
function  GetVolume(const Drv:Char; var Name,FSys:AnsiString; var S:DWord):Boolean;
function  GetWinDir:AnsiString;
function  GetSysDir:AnsiString;
function  GetTmpDir: AnsiString;
function  GetExeDir:Ansistring;
function  GetTmpFile(const Path,Prefix:AnsiString):AnsiString;
function  GetWinClass(const Title:AnsiString):AnsiString;
function  GetDOSName(const LongName:AnsiString):AnsiString;
function  GetWinName(const FileName:AnsiString):AnsiString;
function  GetCPU:AnsiString;
function  GetDefaultPrn:AnsiString;
function  GetPrinters:AnsiString;
function  GetDocType(fileExt:AnsiString):AnsiString;
procedure GetMemStatus(var RAMTotal,RAMUsed,PGTotal,PGUsed:Integer);
function  IsWinNT:Boolean;
function  IsNetWork:Boolean;
function  GetKeyValues(const Root:HKey;Key,Values:AnsiString):AnsiString;
procedure KillOLE;
function  GetProcID(const hWnd:THandle):THandle;
function  DOSExec(const CmdLine:AnsiString;const DisplayMode:Integer):Boolean;
function  WaitExec(const CmdLine:AnsiString;const DisplayMode:Integer):Integer;
procedure PipeExec(const CmdLine:AnsiString;const DisplayMode:Integer);
function  ReadPipe(var S:AnsiString):Integer;
function  WritePipe(const S:AnsiString):Integer;
procedure ClosePipe;
function  SetAppPriority(const Priority:DWord):Boolean;
function  GetFileDate(const FileName:AnsiString):AnsiString;
function  GetFreq:Comp;
function  GetCount:Comp;
function  SetClipText(const Source:AnsiString):Boolean;
function  GetClipText:AnsiString;
function  DriveReady(const Drive: Char): Boolean;
procedure StartSelect(const Key:Char);
function  ReBoot:Boolean;
function  GetBuildInfo(const Filename:AnsiString):AnsiString;
function  PathScan(const FileName:AnsiString; var Path:AnsiString):Boolean;
function  GetDomain:AnsiString;
function  GetRelativePath(Root,Dest:AnsiString;CaseFlg:Boolean):AnsiString;

//Compression
procedure IniRLE;
function  RLE(const Bfr:AnsiString; L:Word):AnsiString;
function  RLD(const Bfr:AnsiString; L:Word):AnsiString;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品国产精品国产专区不蜜 | 久色婷婷小香蕉久久| 欧美精品国产精品| 免费成人美女在线观看.| 久久综合色一综合色88| 国产suv精品一区二区6| 专区另类欧美日韩| 欧美午夜电影网| 久久精品国产色蜜蜜麻豆| 久久久久久**毛片大全| 91性感美女视频| 日韩有码一区二区三区| 久久免费看少妇高潮| 91亚洲精品久久久蜜桃| 婷婷久久综合九色综合绿巨人| 日韩精品一区二区三区在线播放| 国产成人免费视频| 夜夜操天天操亚洲| 欧美videofree性高清杂交| 成人的网站免费观看| 亚洲一区免费观看| 欧美电视剧免费观看| 成人综合激情网| 亚洲福利视频导航| xfplay精品久久| 99久久婷婷国产综合精品电影| 天天色天天操综合| 国产亚洲一区二区三区在线观看| 色av一区二区| 精品一区二区三区蜜桃| 亚洲免费大片在线观看| 日韩欧美综合一区| 色综合天天做天天爱| 美女性感视频久久| 一区视频在线播放| 欧美一区二区三区色| av在线不卡免费看| 美女视频网站久久| 亚洲人吸女人奶水| 精品人在线二区三区| 色综合天天综合网国产成人综合天 | 日韩不卡一区二区| 国产精品剧情在线亚洲| 欧美欧美欧美欧美首页| 成人免费看黄yyy456| 日韩电影一区二区三区四区| 中文av一区二区| 日韩视频一区二区| 91黄色免费观看| 国产精品自在欧美一区| 亚洲高清视频在线| 国产精品天天看| 日韩一级欧美一级| 一道本成人在线| 国产麻豆视频一区| 天堂久久一区二区三区| 亚洲色图欧洲色图婷婷| 26uuu国产电影一区二区| 欧美人体做爰大胆视频| 不卡视频一二三| 激情文学综合丁香| 亚洲成a人片在线不卡一二三区| 亚洲国产成人在线| 精品国产电影一区二区| 欧美日韩视频一区二区| 99久久婷婷国产精品综合| 国产精品资源网站| 麻豆久久久久久久| 亚洲国产视频直播| 亚洲欧洲综合另类| 国产欧美精品国产国产专区| 欧美一级片免费看| 欧美在线观看18| 99久久综合狠狠综合久久| 久久成人久久鬼色| 首页亚洲欧美制服丝腿| 亚洲精品亚洲人成人网| 国产精品久久久99| 国产欧美一区二区精品性色 | 91精品福利在线一区二区三区 | 夜夜嗨av一区二区三区网页| 中文字幕日韩一区| 国产精品欧美久久久久无广告 | 正在播放一区二区| 欧美色涩在线第一页| 99久久精品免费看国产| 国产河南妇女毛片精品久久久| 麻豆高清免费国产一区| 五月婷婷综合在线| 亚洲午夜在线观看视频在线| 综合久久综合久久| 国产日产欧产精品推荐色| 久久亚洲精华国产精华液| 欧美一级爆毛片| 欧美精品欧美精品系列| 欧美日韩mp4| 欧美精品亚洲二区| 欧美日韩国产不卡| 欧美日韩dvd在线观看| 欧美三级电影网| 欧美日韩国产综合久久| 欧美视频完全免费看| 欧美伊人久久久久久午夜久久久久| 色域天天综合网| 日本精品视频一区二区三区| 色综合一区二区| 欧美最猛性xxxxx直播| 91福利在线免费观看| 在线观看日产精品| 欧美性生活一区| 欧美高清hd18日本| 91麻豆精品国产91久久久| 91精品国产日韩91久久久久久| 日韩一级在线观看| 久久综合999| 国产女主播一区| 一区在线中文字幕| 亚洲五月六月丁香激情| 亚洲国产cao| 日本成人在线一区| 紧缚奴在线一区二区三区| 国产在线播放一区| 大白屁股一区二区视频| 99精品一区二区| 欧美三级中文字幕在线观看| 欧美喷水一区二区| 精品少妇一区二区三区日产乱码 | 91色综合久久久久婷婷| 欧美亚洲丝袜传媒另类| 欧美日韩一级二级三级| 欧美大肚乱孕交hd孕妇| 国产亚洲成年网址在线观看| 国产精品网站在线| 一区二区免费视频| 免费一级片91| 国产成人免费视频网站| 91丨porny丨首页| 欧美日韩三级一区二区| 日韩欧美一区电影| 欧美韩日一区二区三区四区| 亚洲日本一区二区| 丝袜国产日韩另类美女| 韩国精品久久久| 99精品久久久久久| 欧美理论在线播放| 久久久久国产精品麻豆| 亚洲精品自拍动漫在线| 日本免费在线视频不卡一不卡二| 韩国av一区二区| 91丨porny丨最新| 91精品国产欧美一区二区成人| 精品国产欧美一区二区| 中文字幕一区在线观看视频| 一区二区视频在线| 久久精品99久久久| 91丨九色丨黑人外教| 日韩三级.com| 亚洲欧洲av在线| 青青草视频一区| 成人av电影在线| 91精品国模一区二区三区| 国产欧美日韩另类一区| 亚洲二区视频在线| 国产老妇另类xxxxx| 欧美在线视频全部完| 久久精品视频免费观看| 亚洲综合区在线| 国产成人午夜精品5599| 欧美日韩免费视频| 国产丝袜欧美中文另类| 亚洲国产综合91精品麻豆| 国产成人免费视频一区| 欧美高清视频不卡网| 成人免费在线播放视频| 美女一区二区三区| 欧美性色黄大片| 日本一区二区成人| 久久精品国产久精国产| 在线观看免费亚洲| 国产日韩欧美在线一区| 日日嗨av一区二区三区四区| youjizz国产精品| 欧美一区二区在线看| 亚洲欧美激情一区二区| 国产一区二区成人久久免费影院 | 精品视频999| 中文字幕亚洲欧美在线不卡| 精品在线观看视频| 欧美日韩另类一区| 中文字幕一区二区三区色视频| 麻豆国产精品777777在线| 在线观看一区不卡| 亚洲国产激情av| 精品一区二区三区久久| 欧美精选午夜久久久乱码6080| 18欧美乱大交hd1984| 国产毛片精品视频| 欧美一区二区久久| 亚洲二区在线视频| 色婷婷国产精品久久包臀|