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

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

?? jclstrings.pas

?? Delphi編寫的一個支持語法高亮顯示和很多語言的文本編輯器
?? PAS
?? 第 1 頁 / 共 5 頁
字號:
{**************************************************************************************************}{                                                                                                  }{ Project JEDI Code Library (JCL)                                                                  }{                                                                                                  }{ The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License"); }{ you may not use this file except in compliance with the License. You may obtain a copy of the    }{ License at http://www.mozilla.org/MPL/                                                           }{                                                                                                  }{ Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF   }{ ANY KIND, either express or implied. See the License for the specific language governing rights  }{ and limitations under the License.                                                               }{                                                                                                  }{ The Original Code is JclStrings.pas.                                                             }{                                                                                                  }{ The Initial Developer of the Original Code is documented in the accompanying                     }{ help file JCL.chm. Portions created by these individuals are Copyright (C) of these individuals. }{                                                                                                  }{**************************************************************************************************}{                                                                                                  }{ Various character and string routines (searching, testing and transforming)                      }{                                                                                                  }{ Unit owner: Azret Botash                                                                         }{ Last modified: March 19, 2002                                                                    }{                                                                                                  }{**************************************************************************************************}// mvb 20 jan 2002 added StrIToStrings to interface section// mvb 20 jan 2002 added AllowEmptyString parameter to StringsToStr function// mvb 20 jan 2002 added AddStringToStrings() by Jeff// - StrIToStrings default parameter now true// - StrToStrings default parameter now true// - Rewrote StrSmartCase to fix a bug.// - Fixed a bug in StrIsAlphaNumUnderscore// - Fixed a bug in StrIsSubset// - Simplified StrLower// - Fixed a bug in StrRepeatLength// - Fixed a bug in StrLastPos// - Added function StrTrimCharsRight (Leonard Wennekers)// - Added function StrTrimCharsLeft (Leonard Wennekers)// - Added StrNormIndex function (Alexander Radchenko)// - Changed Assert in StrTokens/ to If List <> nil// - Deleted an commented out version of StrReplace. If anyone ever want to finish the old//   version please go the archive version 0.39// - Modified StrFillChar a little bit (added an if for count > 0)// - StrCharPosLower (Jean-Fabien Connault)// - StrCharPosUpper (Jean-Fabien Connault)// - Changed to 100 chars per line style// - Note to Marcel:  Have a look at StrToStrings and StrItoStrings. They are untested but//                    should work more or less equal to the BreakApart functions by JFC.// - Changed StrNPos for special case// - Changed StrIPos for special case// - Fixed a bug in CharPos : didn'T work if index = length(s)// - Fixed a bug in CharIPos : didn'T work if index = length(s)unit JclStrings;//{$I jcl.inc}interfaceuses  Classes, SysUtils;  //JclBase;// Character constants and setsconst// Misc. often used character definitions  AnsiNull           = AnsiChar(#0);  AnsiSoh            = AnsiChar(#1);  AnsiStx            = AnsiChar(#2);  AnsiEtx            = AnsiChar(#3);  AnsiEot            = AnsiChar(#4);  AnsiEnq            = AnsiChar(#5);  AnsiAck            = AnsiChar(#6);  AnsiBell           = AnsiChar(#7);  AnsiBackspace      = AnsiChar(#8);  AnsiTab            = AnsiChar(#9);  AnsiLineFeed       = AnsiChar(#10);  AnsiVerticalTab    = AnsiChar(#11);  AnsiFormFeed       = AnsiChar(#12);  AnsiCarriageReturn = AnsiChar(#13);  AnsiCrLf           = AnsiString(#13#10);  AnsiSo             = AnsiChar(#14);  AnsiSi             = AnsiChar(#15);  AnsiDle            = AnsiChar(#16);  AnsiDc1            = AnsiChar(#17);  AnsiDc2            = AnsiChar(#18);  AnsiDc3            = AnsiChar(#19);  AnsiDc4            = AnsiChar(#20);  AnsiNak            = AnsiChar(#21);  AnsiSyn            = AnsiChar(#22);  AnsiEtb            = AnsiChar(#23);  AnsiCan            = AnsiChar(#24);  AnsiEm             = AnsiChar(#25);  AnsiEndOfFile      = AnsiChar(#26);  AnsiEscape         = AnsiChar(#27);  AnsiFs             = AnsiChar(#28);  AnsiGs             = AnsiChar(#29);  AnsiRs             = AnsiChar(#30);  AnsiUs             = AnsiChar(#31);  AnsiSpace          = AnsiChar(' ');  AnsiComma          = AnsiChar(',');  AnsiBackslash      = AnsiChar('\');  AnsiForwardSlash   = AnsiChar('/');  AnsiDoubleQuote = AnsiChar('"');  AnsiSingleQuote = AnsiChar('''');  {$IFDEF MSWINDOWS}  AnsiLineBreak      = AnsiCrLf;  {$ENDIF}// Misc. character sets  AnsiSigns          = ['-', '+'];  AnsiWhiteSpace     = [AnsiTab, AnsiLineFeed, AnsiVerticalTab, AnsiFormFeed,    AnsiCarriageReturn, AnsiSpace];  AnsiDecDigits      = ['0'..'9'];  AnsiOctDigits      = ['0'..'7'];  AnsiHexDigits      = ['0'..'9', 'A'..'F', 'a'..'f'];{$IFDEF MSWINDOWS}const  // CharType return values  C1_UPPER  = $0001; // Uppercase  C1_LOWER  = $0002; // Lowercase  C1_DIGIT  = $0004; // Decimal digits  C1_SPACE  = $0008; // Space characters  C1_PUNCT  = $0010; // Punctuation  C1_CNTRL  = $0020; // Control characters  C1_BLANK  = $0040; // Blank characters  C1_XDIGIT = $0080; // Hexadecimal digits  C1_ALPHA  = $0100; // Any linguistic character: alphabetic, syllabary, or ideographic{$IFDEF SUPPORTS_EXTSYM}  {$EXTERNALSYM C1_UPPER}  {$EXTERNALSYM C1_LOWER}  {$EXTERNALSYM C1_DIGIT}  {$EXTERNALSYM C1_SPACE}  {$EXTERNALSYM C1_PUNCT}  {$EXTERNALSYM C1_CNTRL}  {$EXTERNALSYM C1_BLANK}  {$EXTERNALSYM C1_XDIGIT}  {$EXTERNALSYM C1_ALPHA}{$ENDIF}{$ENDIF}//--------------------------------------------------------------------------------------------------// String Test Routines//--------------------------------------------------------------------------------------------------function StrIsAlpha(const S: AnsiString): Boolean;function StrIsAlphaNum(const S: AnsiString): Boolean;function StrIsAlphaNumUnderscore(const S: AnsiString): Boolean;function StrContainsChars(const S: AnsiString; Chars: TSysCharSet; CheckAll: Boolean): Boolean;function StrIsDigit(const S: AnsiString): Boolean;function StrIsNumber(const S: AnsiString): Boolean;function StrIsSubset(const S: AnsiString; const ValidChars: TSysCharSet): Boolean;function StrSame(const S1, S2: AnsiString): Boolean;//--------------------------------------------------------------------------------------------------// String Transformation Routines//--------------------------------------------------------------------------------------------------function StrCenter(const S: AnsiString; L: Integer; C: AnsiChar  = ' '): AnsiString;function StrCharPosLower(const S: AnsiString; CharPos: Integer): AnsiString;function StrCharPosUpper(const S: AnsiString; CharPos: Integer): AnsiString;function StrDoubleQuote(const S: AnsiString): AnsiString;function StrEnsurePrefix(const Prefix, Text: AnsiString): AnsiString;function StrEnsureSuffix(const Suffix, Text: AnsiString): AnsiString;function StrEscapedToString(const S: AnsiString): AnsiString;function StrLower(const S: AnsiString): AnsiString;procedure StrLowerInPlace(var S: AnsiString);procedure StrLowerBuff(S: PAnsiChar);procedure StrMove(var Dest: AnsiString; const Source: AnsiString; const ToIndex,  FromIndex, Count: Integer);function StrPadLeft(const S: AnsiString; Len: Integer; C: AnsiChar = AnsiSpace ): AnsiString;function StrPadRight(const S: AnsiString; Len: Integer; C: AnsiChar = AnsiSpace ): AnsiString;function StrProper(const S: AnsiString): AnsiString;procedure StrProperBuff(S: PAnsiChar);function StrQuote(const S: AnsiString; C: AnsiChar): AnsiString;function StrRemoveChars(const S: AnsiString; const Chars: TSysCharSet): AnsiString;function StrKeepChars(const S: AnsiString; const Chars: TSysCharSet): AnsiString;procedure StrReplace(var S: AnsiString; const Search, Replace: AnsiString; Flags: TReplaceFlags = []);function StrReplaceChar(const S: AnsiString; const Source, Replace: Char): AnsiString;function StrReplaceChars(const S: AnsiString; const Chars: TSysCharSet; Replace: Char): AnsiString;function StrReplaceButChars(const S: AnsiString; const Chars: TSysCharSet; Replace: Char): AnsiString;function StrRepeat(const S: AnsiString; Count: Integer): AnsiString;function StrRepeatLength(const S: AnsiString; Const L: Integer): AnsiString;function StrReverse(const S: AnsiString): AnsiString;procedure StrReverseInPlace(var S: AnsiString);function StrSingleQuote(const S: AnsiString): AnsiString;function StrSmartCase(const S: AnsiString; Delimiters: TSysCharSet): AnsiString;function StrStringToEscaped(const S: AnsiString): AnsiString;function StrStripNonNumberChars(const S: AnsiString): AnsiString;function StrToHex(const Source: AnsiString): AnsiString;function StrTrimCharLeft(const S: AnsiString; C: AnsiChar): AnsiString;function StrTrimCharsLeft(const S: AnsiString; const Chars: TSysCharSet): AnsiString;function StrTrimCharRight(const S: AnsiString; C: AnsiChar): AnsiString;function StrTrimCharsRight(const S: AnsiString; const Chars: TSysCharSet): AnsiString;function StrTrimQuotes(const S: AnsiString): AnsiString;function StrUpper(const S: AnsiString): AnsiString;procedure StrUpperInPlace(var S: AnsiString);procedure StrUpperBuff(S: PAnsiChar);{$IFDEF WIN32}function StrOemToAnsi(const S: AnsiString): AnsiString;function StrAnsiToOem(const S: AnsiString): AnsiString;{$ENDIF WIN32}//--------------------------------------------------------------------------------------------------// String Management//--------------------------------------------------------------------------------------------------procedure StrAddRef(var S: AnsiString);function StrAllocSize(const S: AnsiString): Longint;procedure StrDecRef(var S: AnsiString);function StrLen(S: PChar): Integer;function StrLength(const S: AnsiString): Longint;function StrRefCount(const S: AnsiString): Longint;procedure StrResetLength(var S: AnsiString);//--------------------------------------------------------------------------------------------------// String Search and Replace Routines//--------------------------------------------------------------------------------------------------function StrCharCount(const S: AnsiString; C: AnsiChar): Integer;function StrCharsCount(const S: AnsiString; Chars: TSysCharSet): Integer;function StrStrCount(const S, SubS: AnsiString): Integer;function StrCompare(const S1, S2: AnsiString): Integer;function StrCompareRange(const S1, S2: AnsiString; const Index, Count: Integer): Integer;function StrFillChar(const C: AnsiChar; const Count: Integer): AnsiString;function StrFind(const Substr, S: AnsiString; const Index: Integer = 1): Integer;function StrHasPrefix(const S: AnsiString; const Prefixes: array of string): Boolean;function StrIndex(const S: AnsiString; const List: array of string): Integer;function StrILastPos(const SubStr, S: AnsiString): Integer;function StrIPos(const SubStr, S: AnsiString): Integer;function StrIsOneOf(const S: AnsiString; const List: array of AnsiString): Boolean;function StrLastPos(const SubStr, S: AnsiString): Integer;function StrMatch(const Substr, S: AnsiString; const Index: Integer = 1): Integer;function StrMatches(const Substr, S: AnsiString; const Index: Integer = 1): Boolean;function StrNIPos(const S, SubStr: AnsiString; N: Integer): Integer;function StrNPos(const S, SubStr: AnsiString; N: Integer): Integer;function StrPrefixIndex(const S: AnsiString; const Prefixes: array of string): Integer;function StrSearch(const Substr, S: AnsiString; const Index: Integer = 1): Integer;//--------------------------------------------------------------------------------------------------// String Extraction//--------------------------------------------------------------------------------------------------function StrAfter(const SubStr, S: AnsiString): AnsiString;function StrBefore(const SubStr, S: AnsiString): AnsiString;function StrBetween(const S: AnsiString; const Start, Stop: AnsiChar): AnsiString;function StrChopRight(const S: AnsiString; N: Integer): AnsiString;function StrLeft(const S: AnsiString; Count: Integer): AnsiString;function StrMid(const S: AnsiString; Start, Count: Integer): AnsiString;function StrRestOf(const S: AnsiString; N: Integer): AnsiString;function StrRight(const S: AnsiString; Count: Integer): AnsiString;//--------------------------------------------------------------------------------------------------// Character Test Routines//--------------------------------------------------------------------------------------------------function CharEqualNoCase(const C1, C2: AnsiChar): Boolean;function CharIsAlpha(const C: AnsiChar): Boolean;function CharIsAlphaNum(const C: AnsiChar): Boolean;function CharIsBlank(const C: AnsiChar): Boolean;function CharIsControl(const C: AnsiChar): Boolean;function CharIsDelete(const C: AnsiChar): Boolean;function CharIsDigit(const C: AnsiChar): Boolean;function CharIsLower(const C: AnsiChar): Boolean;function CharIsNumber(const C: AnsiChar): Boolean;function CharIsPrintable(const C: AnsiChar): Boolean;function CharIsPunctuation(const C: AnsiChar): Boolean;function CharIsReturn(const C: AnsiChar): Boolean;function CharIsSpace(const C: AnsiChar): Boolean;function CharIsUpper(const C: AnsiChar): Boolean;function CharIsWhiteSpace(const C: AnsiChar): Boolean;function CharType(const C: AnsiChar): Word;//--------------------------------------------------------------------------------------------------// Character Transformation Routines//--------------------------------------------------------------------------------------------------function CharHex(const C: AnsiChar): Byte;function CharLower(const C: AnsiChar): AnsiChar;function CharUpper(const C: AnsiChar): AnsiChar;function CharToggleCase(const C: AnsiChar): AnsiChar;//--------------------------------------------------------------------------------------------------// Character Search and Replace//--------------------------------------------------------------------------------------------------function CharPos(const S: AnsiString; const C: AnsiChar; const Index: Integer = 1): Integer;function CharIPos(const S: AnsiString; const C: AnsiChar; const Index: Integer = 1 ): Integer;function CharReplace(var S: AnsiString; const Search, Replace: AnsiChar): Integer;//--------------------------------------------------------------------------------------------------// PCharVector//--------------------------------------------------------------------------------------------------type  PCharVector = ^PChar;function StringsToPCharVector(var Dest: PCharVector; const Source: TStrings): PCharVector;function PCharVectorCount(const Source: PCharVector): Integer;procedure PCharVectorToStrings(const Dest: TStrings; const Source: PCharVector);procedure FreePCharVector(var Dest: PCharVector);//--------------------------------------------------------------------------------------------------// MultiSz Routines//--------------------------------------------------------------------------------------------------function StringsToMultiSz(var Dest: PChar; const Source: TStrings): PChar;procedure MultiSzToStrings(const Dest: TStrings; const Source: PChar);procedure FreeMultiSz(var Dest: PChar);//--------------------------------------------------------------------------------------------------// TStrings Manipulation//--------------------------------------------------------------------------------------------------procedure StrIToStrings(S, Sep: AnsiString; const List: TStrings; const AllowEmptyString: Boolean = True);procedure StrToStrings(S, Sep: AnsiString; const List: TStrings; const AllowEmptyString: Boolean = True);function StringsToStr(const List: TStrings; const Sep: AnsiString;const AllowEmptyString: Boolean = True): AnsiString;procedure TrimStrings(const List: TStrings; DeleteIfEmpty: Boolean = True );procedure TrimStringsRight(const List: TStrings; DeleteIfEmpty: Boolean = True);procedure TrimStringsLeft(const List: TStrings; DeleteIfEmpty: Boolean = True );function AddStringToStrings(const S: string; Strings: TStrings; const Unique: Boolean): Boolean;//--------------------------------------------------------------------------------------------------// Miscellaneous//--------------------------------------------------------------------------------------------------function BooleanToStr(B: Boolean): AnsiString;function FileToString(const FileName: AnsiString): AnsiString;procedure StringToFile(const FileName, Contents: AnsiString);function StrToken(var S: AnsiString; Separator: AnsiChar): AnsiString;procedure StrTokens(const S: AnsiString; const List: TStrings);procedure StrTokenToStrings(S: AnsiString; Separator: AnsiChar; const List: TStrings);function StrWord(var S: PAnsiChar; out Word: AnsiString): Boolean;function StrToIntSafe(const S: AnsiString): Integer;procedure StrNormIndex(const StrLen: integer; var Index: integer; var Count: integer); overload;{$IFNDEF DELPHI5_UP}//--------------------------------------------------------------------------------------------------// Backward compatibility//--------------------------------------------------------------------------------------------------function AnsiSameText(const S1, S2: AnsiString): Boolean;{$ENDIF DELPHI5_UP}//--------------------------------------------------------------------------------------------------// Exceptions//--------------------------------------------------------------------------------------------------implementationuses  {$IFDEF WIN32}  Windows;  {$ENDIF WIN32}  {JclLogic,  JclResources;}//==================================================================================================// Internal//==================================================================================================type  TAnsiStrRec = packed record    AllocSize: Longint;    RefCount: Longint;    Length: Longint;  end;const  AnsiStrRecSize  = SizeOf(TAnsiStrRec);     // size of the AnsiString header rec  AnsiCharCount   = Ord(High(AnsiChar)) + 1; // # of chars in one set  AnsiLoOffset    = AnsiCharCount * 0;       // offset to lower case chars  AnsiUpOffset    = AnsiCharCount * 1;       // offset to upper case chars  AnsiReOffset    = AnsiCharCount * 2;       // offset to reverse case chars  AnsiAlOffset    = 12;                      // offset to AllocSize in StrRec  AnsiRfOffset    = 8;                       // offset to RefCount in StrRec  AnsiLnOffset    = 4;                       // offset to Length in StrRec  AnsiCaseMapSize = AnsiCharCount * 3;       // # of chars is a tablevar  AnsiCaseMap: array [0..AnsiCaseMapSize - 1] of AnsiChar; // case mappings  AnsiCaseMapReady: Boolean = False;         // true if case map exists  AnsiCharTypes: array [AnsiChar] of Word;//--------------------------------------------------------------------------------------------------procedure LoadCharTypes;var  CurrChar: AnsiChar;  CurrType: Word;begin  {$IFDEF MSWINDOWS}  for CurrChar := Low(AnsiChar) to High(AnsiChar) do  begin    GetStringTypeExA(LOCALE_USER_DEFAULT, CT_CTYPE1, @CurrChar, SizeOf(AnsiChar), CurrType);    AnsiCharTypes[CurrChar] := CurrType;  end;  {$ENDIF}end;//--------------------------------------------------------------------------------------------------procedure LoadCaseMap;var  CurrChar, UpCaseChar, LoCaseChar, ReCaseChar: AnsiChar;begin  {$IFDEF MSWINDOWS}  if not AnsiCaseMapReady then  begin    for CurrChar := Low(AnsiChar) to High(AnsiChar) do    begin      LoCaseChar := CurrChar;      UpCaseChar := CurrChar;      Windows.CharLowerBuff(@LoCaseChar, 1);      Windows.CharUpperBuff(@UpCaseChar, 1);      if CharIsUpper(CurrChar) then        ReCaseChar := LoCaseChar      else        if CharIsLower(CurrChar) then          ReCaseChar := UpCaseChar        else          ReCaseChar := CurrChar;      AnsiCaseMap[Ord(CurrChar) + AnsiLoOffset] := LoCaseChar;      AnsiCaseMap[Ord(CurrChar) + AnsiUpOffset] := UpCaseChar;      AnsiCaseMap[Ord(CurrChar) + AnsiReOffset] := ReCaseChar;    end;    AnsiCaseMapReady := True;  end;  {$ENDIF MSWINDOWS}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成人免费av| 亚洲国产美女搞黄色| 五月天亚洲婷婷| 丁香婷婷综合五月| 日韩精品在线网站| 亚洲福利视频三区| av中文字幕一区| 久久综合狠狠综合久久激情 | 欧美视频在线一区| 欧美极品少妇xxxxⅹ高跟鞋| 日本不卡一区二区三区高清视频| 色综合久久中文综合久久97| 亚洲精品一区二区三区香蕉| 日韩高清不卡在线| 欧美日韩亚洲综合在线 | 久久综合综合久久综合| 国产91色综合久久免费分享| 欧美一区二区日韩一区二区| 一区精品在线播放| 国产伦精品一区二区三区免费| 制服视频三区第一页精品| 一区二区三区**美女毛片| 成人av网在线| 91精品国产手机| 国产精品1区2区3区在线观看| 韩国女主播成人在线| 5858s免费视频成人| 亚洲综合另类小说| 97国产精品videossex| 国产欧美视频一区二区三区| 激情成人综合网| 日韩一区二区三区三四区视频在线观看 | 视频在线观看一区| 欧美性猛片aaaaaaa做受| 国产精品第四页| 国产aⅴ综合色| 国产日韩欧美一区二区三区乱码| 久久精品国产澳门| 日韩欧美激情在线| 青青草97国产精品免费观看无弹窗版| 欧美三级电影一区| 日韩亚洲欧美高清| 久久超级碰视频| 色综合久久中文综合久久97| 国产精品毛片久久久久久久| 成人免费视频免费观看| 国产亚洲1区2区3区| 国产一区啦啦啦在线观看| 精品国产一区二区三区忘忧草| 久久狠狠亚洲综合| 精品国产网站在线观看| 美国十次综合导航| 日韩精品影音先锋| 国产一区二区三区免费在线观看| 精品国产99国产精品| 国内精品免费**视频| 久久尤物电影视频在线观看| 国产精品中文字幕日韩精品| 26uuu国产一区二区三区| 国内成人精品2018免费看| 亚洲精品在线三区| 高清shemale亚洲人妖| 国产精品免费视频网站| 99国产精品久久久久久久久久 | 精品国产乱码久久久久久夜甘婷婷| 麻豆中文一区二区| 2023国产精华国产精品| 成人性生交大片免费看在线播放 | 日韩精品一区二区在线观看| 国产中文字幕精品| 中文字幕欧美日韩一区| 99久久精品费精品国产一区二区| 亚洲黄色片在线观看| 欧美喷潮久久久xxxxx| 麻豆国产欧美日韩综合精品二区| 久久亚洲免费视频| 99精品视频一区| 亚洲愉拍自拍另类高清精品| 欧美一区二区福利在线| 国产原创一区二区| 自拍偷拍亚洲激情| 91精品国产乱| 国产精品1区二区.| 亚洲一区中文日韩| 日韩欧美不卡在线观看视频| 不卡av在线网| 石原莉奈一区二区三区在线观看| 久久久久国产成人精品亚洲午夜| 91一区在线观看| 日韩精品视频网| 日本一区二区成人在线| 欧美一级艳片视频免费观看| 不卡的av电影| 日本vs亚洲vs韩国一区三区二区 | 亚洲午夜免费福利视频| 日韩精品中文字幕在线不卡尤物| 懂色中文一区二区在线播放| 亚洲一区二区四区蜜桃| 久久精品一区四区| 欧美日韩一区国产| 国产精品白丝jk黑袜喷水| 一区二区三区不卡视频| 精品国产一区二区三区久久影院 | 国产成人一区二区精品非洲| 亚洲精品少妇30p| 精品国产一区二区三区av性色| 成人午夜免费av| 日韩电影在线观看网站| ●精品国产综合乱码久久久久| 日韩一级高清毛片| 色吧成人激情小说| 国产一区二区伦理| 亚洲aⅴ怡春院| 国产亚洲精品aa午夜观看| 欧美精品在线视频| 不卡视频在线看| 久久99精品久久久久久久久久久久| 亚洲欧美日韩系列| 久久久久久免费| 91精品在线观看入口| 色婷婷亚洲一区二区三区| 国产在线精品国自产拍免费| 日韩主播视频在线| 精品捆绑美女sm三区| 悠悠色在线精品| 国内精品国产三级国产a久久| 成人国产一区二区三区精品| 欧美一级日韩不卡播放免费| 国产精品色呦呦| 久久se这里有精品| 欧美亚洲综合久久| 国产精品国产三级国产有无不卡| 日韩国产一二三区| 色www精品视频在线观看| 亚洲国产成人私人影院tom| 久久精品国产99国产| 91精品啪在线观看国产60岁| 欧美亚洲精品一区| 91玉足脚交白嫩脚丫在线播放| 国产成人综合网站| 美女在线观看视频一区二区| 性久久久久久久久久久久| 亚洲三级在线免费观看| 中文字幕一区免费在线观看| 久久欧美一区二区| 欧美v日韩v国产v| 91精品国产色综合久久| 欧美精品在线视频| 欧美日本一道本| 欧美在线免费观看视频| 色伊人久久综合中文字幕| 日韩欧美资源站| 欧美日韩一卡二卡三卡| 欧美中文字幕不卡| 日本道精品一区二区三区| 91视频你懂的| 91在线观看成人| 99精品国产热久久91蜜凸| 不卡av在线免费观看| 成人激情文学综合网| 99久久伊人网影院| gogogo免费视频观看亚洲一| 99久久99久久精品免费看蜜桃| 成人影视亚洲图片在线| 成人av电影在线观看| 成人av综合在线| 99国产精品一区| 在线观看一区二区视频| 欧美午夜电影在线播放| 精品视频一区 二区 三区| 欧美日韩一卡二卡三卡| 日韩一区二区电影在线| 日韩精品一区二区三区中文不卡| 欧美不卡激情三级在线观看| 日韩免费视频一区| 久久尤物电影视频在线观看| 国产三级一区二区三区| 国产精品免费av| 亚洲乱码国产乱码精品精小说 | 欧美精品777| 精品国产成人系列| 国产午夜精品理论片a级大结局| 日本一区二区综合亚洲| 亚洲色大成网站www久久九九| 亚洲一区二区在线视频| 日本伊人色综合网| 国产精品中文字幕日韩精品| www.欧美色图| 欧美午夜精品理论片a级按摩| 91精品国产91综合久久蜜臀| 精品福利av导航| 最新不卡av在线| 亚洲综合在线观看视频| 日本成人在线一区| 成人永久aaa| 欧美日韩精品一区二区三区 | 一本到三区不卡视频| 在线播放欧美女士性生活| 26uuu色噜噜精品一区| 亚洲视频在线观看一区|