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

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

?? clsadler32.cls

?? adler-32crc校驗
?? CLS
字號:
VERSION 1.0 CLASS
BEGIN
  MultiUse = -1  'True
  Persistable = 0  'NotPersistable
  DataBindingBehavior = 0  'vbNone
  DataSourceBehavior  = 0  'vbNone
  MTSTransactionMode  = 0  'NotAnMTSObject
END
Attribute VB_Name = "clsAdler32"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Option Explicit

' Adler-32 Checksum (1995-1998 Mark Adler)
' ---------------------------------------------------------------
' Faithfully ported to Visual Basic by,
' 2002 Ed Preston - epreston@selectedsystems.com
'
' Interface
'
'   Adler32(ByVal lngAdler32 As Long, ByRef bArrayIn() As Byte, _
'   ByVal dblLength As Double) As Long
'
' Notes
'
'   The Adler-32 algorithm is much faster than the CRC32
'   algorithm yet still provides an extremely low probability of
'   undetected errors. Used in the ZLIB/Deflate Compressed Data
'   Format Specification version 3.3. More info can be found at
'   http://www.info-zip.org/pub/infozip/zlib/rfc-zlib.htm
'
'   Mark Adler states that the Adler32 Checksum should be initialized
'   with 1 but he does not do this in his zLib implementation. Humm..
'
'   When passing byte arrays be carefull of the file size.  It is best
'   to break the file into chunks and call Adler32 multiple times.
'   Byte array is limited to the amount of addressable memory in the
'   process space.  The outcome is, pass a 712 meg array and watch your
'   machine grind to a halt while the hard disk tries to page things
'   in and out of memory.
'
' Limitations
'
'   Files size assumed to be less than 2 gig.
' ---------------------------------------------------------------


' Constants
Const BASE = 65521  ' largest prime smaller than 65536

' Largest n such that 255n(n+1)/2 + (n+1)(BASE-1) <= 2^32-1
Const NMAX = 5552

' What this means is that in the worst case sinario, each byte
' could have a value of 255.  As we are adding numbers together
' we could go beyond the value of a unsigned long or 2^32.
' Thats a value of 4294967296.  To be sure we are safe, we take
' things in handfulls of 5552 bytes at a time.


' ----------------------------
' Public Methods
' ----------------------------

' Return value needs to be a Long to work with our Hex$ method.
Public Function Adler32(ByVal lngAdler32 As Long, ByRef bArrayIn() As Byte, _
    ByVal dblLength As Double) As Long
    
    Dim intPos As Integer
    Dim lngPosInArray As Long
    Dim lngLengthRemaining As Long
    Dim dblLow As Double
    Dim dblHigh As Double
    
    If lngAdler32 <> 0 Then
        dblLow = lngAdler32 And 65535
        dblHigh = RShiftNoRound(lngAdler32, 16) And 65535
    End If
    
    ' Array could be empty
    If UBound(bArrayIn) < LBound(bArrayIn) Then
        Adler32 = 1
    Else
        ' Get the initial length of the data
        lngLengthRemaining = dblLength
        
        Do While (lngLengthRemaining > 0)
            ' Are we at the end of the file?
            If lngLengthRemaining < NMAX Then
                ' Process the remaining data
                intPos = lngLengthRemaining
                lngLengthRemaining = 0
            Else
                ' No, process a chunk of data the size of NMAX
                intPos = NMAX
                ' We start counting at zero so add one to the NMAX
                lngLengthRemaining = lngLengthRemaining - (NMAX + 1)
            End If
            
            Do
                dblLow = dblLow + bArrayIn(lngPosInArray)
                dblHigh = dblHigh + dblLow
                
                lngPosInArray = lngPosInArray + 1
                intPos = intPos - 1
            Loop While intPos >= 0
            
            ' Use the overflow safe modulus function instead of the
            ' operator.
            dblLow = Modulus(dblLow, BASE)
            dblHigh = Modulus(dblHigh, BASE)
            
        Loop
        
        ' Done, return the result (rightmost 4 bytes).
        Adler32 = LShift4Byte(dblHigh, 16) Or dblLow
    End If
End Function

' ----------------------------
' Support Routines
' ----------------------------

' We can not use the Mod operator because floating point number could
' be greater than the maximum value of a Long (2,147,483,647).  The
' Mod operator in VB converts numerator and denominator to Longs just to
' mess with your head. ;)
Private Function Modulus(ByVal dblValue As Double, ByVal dblModValue As Double) As Double
    Modulus = dblValue - (dblModValue * Fix(dblValue / dblModValue))
End Function

' Thank you Redeye.  It seems VB does not automaticly trunicate leftmost bits when
' trying to type cast a Double into a Long.  Large numbers give overflow. Not good.
Private Function LShift4Byte(ByVal pnValue As Double, ByVal pnShift As Integer) As Long
    ' Mask For fixing msb
    Dim lngMask As Long
    
    ' Determine whether the sign bit should be set in the bit-shifted result
    If pnValue And (2 ^ (31 - pnShift)) Then
        lngMask = &H80000000
    End If
    
    ' Unset leftmost bits that will be discarded and do the bit shift.
    LShift4Byte = ((pnValue And ((2 ^ (31 - pnShift)) - 1)) * (2 ^ pnShift)) Or lngMask
End Function

Private Function RShiftNoRound(ByVal pnValue As Double, ByVal pnShift As Integer) As Double
    ' Equivilant to C's Bitwise >> operator
    RShiftNoRound = Int(pnValue / (2 ^ pnShift))
End Function

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
美女在线观看视频一区二区| 国产精品精品国产色婷婷| 色婷婷精品久久二区二区蜜臀av| 国内精品免费**视频| 黄色日韩三级电影| 国产原创一区二区三区| 国产一区二区三区久久久| 国产精品综合二区| 暴力调教一区二区三区| 99精品视频在线播放观看| 色狠狠综合天天综合综合| 一道本成人在线| 欧美日韩免费电影| 精品少妇一区二区三区日产乱码 | 欧美在线视频全部完| 色一区在线观看| 欧美日本一道本在线视频| 91麻豆精品国产综合久久久久久| 91精品国产综合久久小美女| 日韩精品资源二区在线| 欧美激情艳妇裸体舞| 曰韩精品一区二区| 久久99国产精品久久99| 国产一区二区0| 99精品欧美一区| 欧美电影在线免费观看| 久久久精品天堂| 亚洲一区二区在线免费看| 青青草国产精品97视觉盛宴 | 亚洲伦在线观看| 天天综合色天天综合色h| 国模冰冰炮一区二区| 色综合中文字幕国产 | 亚洲精品乱码久久久久久日本蜜臀| 亚洲免费av高清| 久久国产综合精品| 91在线porny国产在线看| 欧美一级生活片| 亚洲精品日韩一| 国精品**一区二区三区在线蜜桃| 一本大道久久a久久综合婷婷| 欧美一级日韩不卡播放免费| 国产精品美女久久久久高潮| 日韩高清不卡一区二区| 9色porny自拍视频一区二区| 69堂成人精品免费视频| 自拍偷拍欧美精品| 国产精品一区二区视频| 欧美精品xxxxbbbb| 亚洲尤物在线视频观看| 成人视屏免费看| 精品久久久久一区二区国产| 亚洲国产精品久久不卡毛片 | 成人免费av在线| 91麻豆精品国产91久久久更新时间 | 国产一二精品视频| 8x福利精品第一导航| 一区二区三区av电影| 成人99免费视频| 日本一区二区三区dvd视频在线| 免费三级欧美电影| 91精品国产91久久久久久最新毛片| 亚洲你懂的在线视频| 成人动漫中文字幕| 久久久欧美精品sm网站| 另类小说综合欧美亚洲| 337p亚洲精品色噜噜噜| 天堂一区二区在线| 欧美美女黄视频| 婷婷综合另类小说色区| 色吧成人激情小说| 亚洲精品视频免费观看| 色婷婷综合在线| 亚洲与欧洲av电影| 欧美色电影在线| 亚洲一区二区四区蜜桃| 欧美视频一区二区三区在线观看 | 日韩欧美中文一区| 男女激情视频一区| 日韩免费性生活视频播放| 久久99国产精品麻豆| 国产午夜久久久久| 成人av小说网| 亚洲影院久久精品| 日韩一区二区三区免费看| 久久精品国产一区二区三区免费看| 日韩欧美色综合| 国产激情一区二区三区| 亚洲视频一二三区| 91麻豆精品91久久久久久清纯| 奇米综合一区二区三区精品视频| 精品毛片乱码1区2区3区| 成人自拍视频在线观看| 一区二区在线免费| 日韩写真欧美这视频| 处破女av一区二区| 亚洲激情图片一区| 欧美videossexotv100| proumb性欧美在线观看| 亚洲一区av在线| 亚洲精品一区二区三区影院| 91丨九色丨黑人外教| 日本一不卡视频| 国产精品久久久久永久免费观看| 在线观看日韩精品| 国产成人日日夜夜| 日日欢夜夜爽一区| 国产精品美女一区二区| 91精品久久久久久久久99蜜臂| 丁香桃色午夜亚洲一区二区三区| 亚洲激情五月婷婷| 久久网站热最新地址| 91国模大尺度私拍在线视频| 国产精品中文字幕欧美| 亚洲大片一区二区三区| 欧美经典一区二区三区| 欧美巨大另类极品videosbest | 亚洲成人av免费| 国产日韩欧美精品电影三级在线| 欧美丝袜丝交足nylons| 成人一道本在线| 激情五月播播久久久精品| 亚洲资源中文字幕| 国产精品久久影院| 2023国产精品视频| 欧美日韩一区二区三区在线看| 岛国一区二区三区| 久久 天天综合| 婷婷中文字幕综合| 亚洲综合色成人| 亚洲另类色综合网站| 国产精品天美传媒| 久久久美女艺术照精彩视频福利播放 | 岛国精品在线观看| 国产在线精品不卡| 久久99久久久欧美国产| 亚洲123区在线观看| 亚洲国产一区二区三区青草影视| 综合av第一页| 国产精品久久久久婷婷二区次| 久久综合九色综合97婷婷女人| 欧美人动与zoxxxx乱| 在线成人高清不卡| 欧美浪妇xxxx高跟鞋交| 欧美日韩五月天| 欧美午夜影院一区| 欧美卡1卡2卡| 日韩一二三区视频| 精品久久一区二区| 精品日韩一区二区| 久久综合999| 国产精品你懂的在线欣赏| 日本一区二区免费在线| 国产精品剧情在线亚洲| 亚洲丝袜精品丝袜在线| 亚洲女女做受ⅹxx高潮| 亚洲国产中文字幕在线视频综合 | 亚洲欧美日本在线| 亚洲久本草在线中文字幕| 亚洲综合一二三区| 视频一区二区中文字幕| 秋霞电影网一区二区| 国产一区二区不卡| 成人av电影在线网| 欧美三级三级三级| 欧美成人在线直播| 欧美激情一区二区三区不卡 | 亚洲一区二区av电影| 日韩激情av在线| 韩国精品免费视频| 成人三级在线视频| 91福利社在线观看| 欧美一级在线免费| 国产精品青草综合久久久久99| 亚洲精品精品亚洲| 蓝色福利精品导航| 99久免费精品视频在线观看| 欧美特级限制片免费在线观看| 欧美一级精品大片| 中文字幕中文在线不卡住| 亚洲444eee在线观看| 国产精品综合av一区二区国产馆| 91色.com| 久久久综合激的五月天| 亚洲一区二区三区四区在线 | 色哟哟欧美精品| 精品日韩成人av| 一区二区成人在线| 极品尤物av久久免费看| 欧美午夜精品一区二区三区 | 亚洲一区二区三区在线播放| 精品在线你懂的| 色狠狠一区二区| 久久精品一区蜜桃臀影院| 亚洲国产日产av| av中文字幕在线不卡| 日韩精品中文字幕在线不卡尤物| 亚洲三级在线观看| 国产成人啪免费观看软件| 日韩一级欧美一级|