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

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

?? comp_lbe.bas

?? 20多種VB軟件的加密與壓縮模塊
?? BAS
字號:
Attribute VB_Name = "Comp_LBE"


Option Explicit

'This is a 1 run method but because it stores some variables at the end of the
'compressed file the decompressor is a 2 run method

Private Dictionary As String
Private CharCount(256) As Long
Private BitLen(255) As Long
Private BitStart() As Integer
Private CharVal(255) As Long
Private OutStream() As Byte
Private OutPos As Long
Private OutByteBuf As Integer
Private OutBitCount As Integer
Private MinBitsToRead As Byte

Public Sub Compress_LBE(ByteArray() As Byte, Optional WichType As Integer = 2)
    Dim AscPos As Byte
    Dim InPos As Long
    Dim OrgFileLenght As Long
    Call Init_LBE
    Select Case WichType
        Case 1
            Call Init_LBE_Flat
        Case 2
            Call Init_LBE_3D
        Case 3
            Call Init_LBE_3D_2
        Case Else
            Call Init_LBE_3D
    End Select
    InPos = 0
    OrgFileLenght = UBound(ByteArray)
    ReDim OutStream(500)
    Do While InPos <= UBound(ByteArray)
        AscPos = InStr(Dictionary, Chr(ByteArray(InPos))) - 1
        Call AddBitsToOutStream(CharVal(AscPos), CInt(BitLen(AscPos)))
        Call update_Model(ByteArray(InPos))
        InPos = InPos + 1
    Loop
'fill up the last byte
    Do While OutBitCount > 0
        Call AddBitsToOutStream(0, 1)
    Loop
    ReDim ByteArray(OutPos + 3)
    Call CopyMem(ByteArray(0), OutStream(0), OutPos)
    ByteArray(OutPos) = Int(OrgFileLenght / &H1000000) And &HFF
    ByteArray(OutPos + 1) = Int(OrgFileLenght / &H10000) And &HFF
    ByteArray(OutPos + 2) = Int(OrgFileLenght / &H100) And &HFF
    ByteArray(OutPos + 3) = OrgFileLenght And &HFF
End Sub

Public Sub DeCompress_LBE(ByteArray() As Byte, Optional WichType As Integer = 2)
    Dim InPos As Long
    Dim InBit As Integer
    Dim OrgFileLenght As Long
    Dim Blen As Byte
    Dim BitVal As Long
    Dim AscVal As Byte
    Dim X As Long
    Call Init_LBE
    Select Case WichType
        Case 1
            Call Init_LBE_Flat
        Case 2
            Call Init_LBE_3D
        Case 3
            Call Init_LBE_3D_2
        Case Else
            Call Init_LBE_3D
    End Select
    OrgFileLenght = ByteArray(UBound(ByteArray) - 3)
    OrgFileLenght = CLng(OrgFileLenght) * 256 + ByteArray(UBound(ByteArray) - 2)
    OrgFileLenght = CLng(OrgFileLenght) * 256 + ByteArray(UBound(ByteArray) - 1)
    OrgFileLenght = CLng(OrgFileLenght) * 256 + ByteArray(UBound(ByteArray))
    InPos = 0
    InBit = 0
    ReDim OutStream(OrgFileLenght)
    Do While OutPos <= OrgFileLenght
        BitVal = 0
        Blen = 0
        For X = 1 To MinBitsToRead
            BitVal = BitVal * 2 + ReadBitsFromArray(ByteArray, InPos, InBit, 1)
            Blen = Blen + 1
        Next
        Do
            For X = BitStart(Blen) To BitStart(Blen + 1) - 1
                If CharVal(X) = BitVal Then
                    AscVal = ASC(Mid(Dictionary, X + 1, 1))
                    Call AddCharToArray(OutStream, OutPos, AscVal)
                    Call update_Model(AscVal)
                    Exit Do
                End If
            Next
            BitVal = BitVal * 2 + ReadBitsFromArray(ByteArray, InPos, InBit, 1)
            Blen = Blen + 1
        Loop
    Loop
    ReDim ByteArray(OutPos - 1)
    Call CopyMem(ByteArray(0), OutStream(0), OutPos)
End Sub

Private Sub Init_LBE()
    Dim X As Integer
    Dictionary = ""
    For X = 0 To 255
        Dictionary = Dictionary & Chr(X)
        CharCount(X) = 0
    Next
    CharCount(256) = 0
    Dim OutStream(500)
    OutPos = 0
    OutByteBuf = 0
    OutBitCount = 0
End Sub

Private Sub update_Model(Char As Byte)
    Dim DictPos As Integer
    Dim OldPos As Integer
    Dim Temp As Long
    DictPos = InStr(Dictionary, Chr(Char)) - 1
    OldPos = DictPos
    CharCount(DictPos) = CharCount(DictPos) + 1
    Do While DictPos > 0
        If CharCount(DictPos) < CharCount(DictPos - 1) Then Exit Do
        Temp = CharCount(DictPos - 1)
        CharCount(DictPos - 1) = CharCount(DictPos)
        CharCount(DictPos) = Temp
        DictPos = DictPos - 1
    Loop
    If OldPos = DictPos Then Exit Sub
    Dictionary = Left(Dictionary, DictPos) & Chr(Char) & Mid(Dictionary, DictPos + 1, OldPos - DictPos) & Mid(Dictionary, OldPos + 2)
End Sub

Private Sub Init_LBE_Flat()
'
'   0   1   5   9   14  20  27
'   2   4   8   13  19  26
'   3   7   12  18  25
'   6   11  17  24
'   10  16  23
'   15  22
'   21
'   a first 1 represents that the row has reached
'   the second 1 represents that the character has been reached
'
'   0 = "11"        10= "000011"    20= "1000001"
'   1 = "011"       11= "000101"
'   2 = "101"       12= "001001"
'   3 = "0011"      13= "010001"
'   4 = "0101"      14= "100001"
'   5 = "1001"      15= "0000011"
'   6 = "00011"     16= "0000101"
'   7 = "00101"     17= "0001001"
'   8 = "01001"     18= "0010001"
'   9 = "10001"     19= "0100001"
'   There are 20 characters that will be profitable
    Dim X As Integer
    Dim Value As Long
    Dim Blen As Byte
    MinBitsToRead = 2
    Value = 3
    Blen = 1
    ReDim BitStart(10)
    For X = 0 To 255
        If Value > 2 ^ Blen Then
            Blen = Blen + 1
            Value = 3
            If Blen > UBound(BitStart) Then
                ReDim Preserve BitStart(Blen)
            End If
            BitStart(Blen) = X
        End If
        BitLen(X) = Blen
        CharVal(X) = Value
        Value = (Value * 2) - 1
    Next
    ReDim Preserve BitStart(Blen + 1)
    BitStart(Blen + 1) = 256
End Sub

Private Sub Init_LBE_3D()
'
'   0   3   9   19  34  -   1   6   15  29  -   4   12  25  -   10  22  -   20
'   2   8   18  33      -   5   14  28      -   11  24      -   21
'   7   17  32          -   13  27          -   23
'   16  31              -   26
'   30
'
'   a first 1 represents that the hight has reached
'   the second 1 represents that the row has been reached
'   the third 1 represent that the character has been reached
'
'   0 = "111"       10= "000111"    20= "0000111"   30= "1000011"
'   1 = "0111"      11= "001011"    21= "0001011"   31= "1000101"
'   2 = "1011"      12= "001101"    22= "0001101"   32= "1001001"
'   3 = "1101"      13= "010011"    23= "0010011"   33= "1010001"
'   4 = "00111"     14= "010101"    24= "0010101"   34= "1100001"
'   5 = "01011"     15= "011001"    25= "0011001"
'   6 = "01101"     16= "100011"    26= "0100011"
'   7 = "10011"     17= "100101"    27= "0100101"
'   8 = "10101"     18= "101001"    28= "0101001"
'   9 = "11001"     19= "110001"    29= "0110001"
'   There are 35 characters that will be profitable
    Dim Bits As String
    Dim bpos1 As Byte
    Dim Bpos2 As Byte
    Dim Blen As Byte
    ReDim BitStart(10)
    MinBitsToRead = 3
    Blen = 2
    bpos1 = 1
    Bpos2 = 2
    Dim X As Integer
    For X = 0 To 255
        Bits = String(Blen - 1, "0") & "1"
        If bpos1 = 1 And Bpos2 = 2 Then
            Blen = Blen + 1
            bpos1 = Blen - 2
            Bpos2 = Blen - 1
            If Blen > UBound(BitStart) Then
                ReDim Preserve BitStart(Blen)
            End If
            BitStart(Blen) = X
            Bits = String(Blen - 1, "0") & "1"
        Else
            If Bpos2 = bpos1 + 1 Then
                bpos1 = bpos1 - 1
                Bpos2 = Blen - 1
            Else
                Bpos2 = Bpos2 - 1
            End If
        End If
        Mid(Bits, bpos1, 1) = "1"
        Mid(Bits, Bpos2, 1) = "1"
        BitLen(X) = Blen
        CharVal(X) = BinToDec(Bits)
    Next
    ReDim Preserve BitStart(Blen + 1)
    BitStart(Blen + 1) = 256
End Sub

Private Function BinToDec(BinValue As String)
    Dim X As Integer
    For X = 1 To Len(BinValue)
        If Mid(BinValue, X, 1) = "1" Then BinToDec = BinToDec + 2 ^ (Len(BinValue) - X)
    Next
End Function

Private Sub Init_LBE_3D_2()
'
'   *   1   4   8   15  24  -   *   10  18  28  -   *   30
'   0   3   7   14  23      -   9   17  27      -   29
'   2   6   13  22          -   16  26
'   5   12  21              -   25
'   11  20
'   19
'
'   The hights are represented by leader 1's
'   each level is represented by 2^level leading 1's (first level has no leaders)
'   a first even count of 1's represents the hight
'   the second 1 represents that the row has been reached
'   the third 1 represent that the character has been reached
'
'   0 = "011"       10= "11101"     20= "0000101"   30= "1111101"
'   1 = "101"       11= "000011"    21= "0001001"
'   2 = "0011"      12= "000101"    22= "0010001"
'   3 = "0101"      13= "001001"    23= "0100001"
'   4 = "1001"      14= "010001"    24= "1000001"
'   5 = "00011"     15= "100001"    25= "1100011"
'   6 = "00101"     16= "110011"    26= "1100101"
'   7 = "01001"     17= "110101"    27= "1101001"
'   8 = "10001"     18= "111001"    28= "1110001"
'   9 = "11011"     19= "0000011"   29= "1111011"
'   There are 31 characters that will be profitable
    Dim X As Integer
    Dim Value As Long
    Dim Blen As Byte
    Dim MaxBits As Byte
    Dim Layer As Integer
    MinBitsToRead = 3
    Layer = 0
    Value = 5
    MaxBits = 2
    Blen = 2
    ReDim BitStart(10)
    For X = 0 To 255
        If Value > 2 ^ Blen Then
            Value = 3
            If (Layer + 1) * 2 + MinBitsToRead <= Blen Then
                Layer = Layer + 1
                Blen = MaxBits - (Layer * 2)
            Else
                Blen = MaxBits + 1
                If Blen > UBound(BitStart) Then
                    ReDim Preserve BitStart(Blen)
                End If
                BitStart(Blen) = X
                MaxBits = Blen
                Layer = 0
            End If
        End If
        BitLen(X) = MaxBits
        CharVal(X) = (2 ^ (2 * Layer) - 1) * 2 ^ Blen + Value
        Value = (Value * 2) - 1
    Next
    ReDim Preserve BitStart(Blen + 1)
    BitStart(Blen + 1) = 256
End Sub

'this sub will add an amount of bits into the outputstream
Private Sub AddBitsToOutStream(Number As Long, Numbits As Integer)
    Dim X As Long
    For X = Numbits - 1 To 0 Step -1
        OutByteBuf = OutByteBuf * 2 + (-1 * ((Number And CDbl(2 ^ X)) > 0))
        OutBitCount = OutBitCount + 1
        If OutBitCount = 8 Then
            OutStream(OutPos) = OutByteBuf
            OutBitCount = 0
            OutByteBuf = 0
            OutPos = OutPos + 1
            If OutPos > UBound(OutStream) Then
                ReDim Preserve OutStream(OutPos + 500)
            End If
        End If
    Next
End Sub

'this function will return a value out of the amaunt of bits you asked for
Private Function ReadBitsFromArray(FromArray() As Byte, FromPos As Long, FromBit As Integer, Numbits As Integer) As Long
    Dim X As Integer
    Dim Temp As Long
    For X = 1 To Numbits
        Temp = Temp * 2 + (-1 * ((FromArray(FromPos) And 2 ^ (7 - FromBit)) > 0))
        FromBit = FromBit + 1
        If FromBit = 8 Then
            If FromPos + 1 > UBound(FromArray) Then
                Do While X < Numbits
                    Temp = Temp * 2
                    X = X + 1
                Loop
                FromPos = FromPos + 1
                Exit For
            End If
            FromPos = FromPos + 1
            FromBit = 0
        End If
    Next
    ReadBitsFromArray = Temp
End Function

'this sub will add a char into the outputstream
Private Sub AddCharToArray(Toarray() As Byte, ToPos As Long, Char As Byte)
    If ToPos > UBound(Toarray) Then ReDim Preserve Toarray(ToPos + 500)
    Toarray(ToPos) = Char
    ToPos = ToPos + 1
End Sub

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色哟哟亚洲精品| 国产成人av电影免费在线观看| 色一情一伦一子一伦一区| 国产精品免费aⅴ片在线观看| 国产精品自产自拍| 欧美国产一区在线| 色先锋资源久久综合| 午夜精品免费在线| 欧美成人艳星乳罩| 成人精品视频.| 亚洲视频香蕉人妖| 777a∨成人精品桃花网| 激情图区综合网| 18成人在线视频| 欧美精品九九99久久| 精品一区二区三区日韩| 中文字幕日韩精品一区 | 亚洲精品国产无天堂网2021| 欧美日韩在线三级| 极品瑜伽女神91| 亚洲人成在线播放网站岛国| 69av一区二区三区| 国产成人午夜精品影院观看视频| 亚洲欧美日韩系列| 精品国产伦一区二区三区观看体验 | 欧美调教femdomvk| 国产一区二区看久久| 亚洲少妇中出一区| 亚洲精品一区二区三区精华液| 91一区二区在线观看| 久久se精品一区精品二区| 激情都市一区二区| 一区二区免费在线| 久久先锋影音av| 欧美日韩www| 99免费精品在线观看| 麻豆91在线看| 亚洲一卡二卡三卡四卡无卡久久| 久久久久久久性| 欧美狂野另类xxxxoooo| 91亚洲资源网| 国产成人午夜精品影院观看视频| 日本网站在线观看一区二区三区| 日韩美女一区二区三区四区| 美女任你摸久久| 亚洲欧美色一区| 精品久久久久久久久久久久久久久| 欧美性一级生活| 成人免费毛片嘿嘿连载视频| 美女免费视频一区| 三级影片在线观看欧美日韩一区二区 | 欧美精品久久天天躁| 97精品国产露脸对白| 国产精品一区二区你懂的| 日本欧美加勒比视频| 亚洲精品videosex极品| 国产精品天干天干在线综合| 亚洲精品一区二区三区福利 | 国产毛片一区二区| 人人爽香蕉精品| 日韩 欧美一区二区三区| 亚洲国产日日夜夜| 一区二区三区国产| 亚洲激情欧美激情| 一区二区三区视频在线观看| 自拍偷在线精品自拍偷无码专区| 中日韩免费视频中文字幕| 国产人成亚洲第一网站在线播放| 2021中文字幕一区亚洲| 久久伊人中文字幕| 久久精品亚洲精品国产欧美 | 日韩精品一区二区三区swag | 国产精品日韩成人| 日韩美女视频一区二区在线观看| 欧美在线观看视频一区二区三区| 97久久久精品综合88久久| 北条麻妃国产九九精品视频| 成人精品亚洲人成在线| 福利一区二区在线观看| 成人精品免费网站| 91一区一区三区| 欧美亚洲一区二区在线| 777午夜精品免费视频| 欧美一级在线观看| 久久久久久久网| 国产精品久久久久久久裸模| 精品无人区卡一卡二卡三乱码免费卡| 丝袜美腿亚洲一区二区图片| 久久精品99国产精品| 国产一区二区主播在线| 国产精品原创巨作av| 国产精品天美传媒| 亚洲三级免费观看| 亚洲成av人片www| 免费在线成人网| 国内成人免费视频| 99久久夜色精品国产网站| 在线观看成人免费视频| 91精品国产综合久久香蕉麻豆| 日韩精品一区在线| 国产蜜臀97一区二区三区| 亚洲色欲色欲www| 日韩av一二三| 大白屁股一区二区视频| 在线观看国产日韩| 26uuu精品一区二区在线观看| 久久久国产精品麻豆| 亚洲另类色综合网站| 日韩电影在线免费看| 国产麻豆成人精品| 欧美性受xxxx黑人xyx| 久久综合久色欧美综合狠狠| 亚洲色欲色欲www| 久久av资源网| 91美女片黄在线观看91美女| 欧美一区二区三区免费大片 | 99久久精品国产网站| 国产精品一区二区在线观看网站| 91蜜桃视频在线| 日韩欧美电影一区| 亚洲人成7777| 国产一区二区电影| 欧洲视频一区二区| 国产色产综合色产在线视频| 亚洲国产精品久久不卡毛片 | 亚洲欧美日韩国产另类专区 | 狠狠色丁香婷婷综合久久片| 国产黄色91视频| 911精品产国品一二三产区| 蜜桃av一区二区| 成人99免费视频| 日韩欧美成人一区| 性久久久久久久久| 91热门视频在线观看| 国产午夜精品一区二区| 亚洲欧美日韩在线播放| 美国欧美日韩国产在线播放| 色婷婷av一区二区三区gif| 久久久精品影视| 蜜臀精品一区二区三区在线观看 | 一区二区三区在线视频观看| 国产精品亚洲а∨天堂免在线| 欧美放荡的少妇| 亚洲精品视频在线| 成人听书哪个软件好| 精品动漫一区二区三区在线观看| 五月天视频一区| 欧美三级视频在线观看| 亚洲日本丝袜连裤袜办公室| 国产成人精品1024| 国产亚洲精品免费| 国产一区二区在线影院| 日韩一区二区麻豆国产| 日日夜夜精品视频免费| 欧美性高清videossexo| 一区二区三区色| 在线观看日韩电影| 亚洲综合激情另类小说区| 99精品欧美一区二区三区综合在线| 国内外成人在线| 日韩精品一区二区三区蜜臀| 老司机午夜精品99久久| 337p亚洲精品色噜噜噜| 日韩成人精品视频| 日韩美女视频一区二区在线观看| 日本免费新一区视频| 日韩一级片在线观看| 九色|91porny| 久久精品亚洲精品国产欧美kt∨| 国产一区二区三区香蕉| 国产欧美日本一区视频| 国产成人aaa| 亚洲免费在线播放| 亚洲永久精品国产| 色综合中文字幕| 亚洲综合偷拍欧美一区色| 欧美午夜视频网站| 日韩成人av影视| 亚洲精品在线观看网站| 国产成人高清视频| 自拍偷拍亚洲综合| 欧美日韩国产一级片| 偷窥少妇高潮呻吟av久久免费| 欧美一区二区三区人| 国产最新精品精品你懂的| 中文一区二区在线观看| 波多野结衣在线一区| 亚洲制服丝袜在线| 日韩欧美精品在线视频| 成人高清视频在线| 亚洲最新在线观看| 日韩午夜激情电影| 成人午夜视频在线观看| 一区二区三区在线视频播放| 制服视频三区第一页精品| 国产一区不卡视频| 一区二区日韩电影| 久久综合成人精品亚洲另类欧美 | 亚洲国产成人porn| 日韩精品资源二区在线|