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

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

?? comp_multidict.bas

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


Option Explicit

'This is a 1 run method

Private OutStream() As Byte
Private OutPos As Long
Private OutByteBuf As Integer
Private OutBitCount As Integer
Private ReadBitPos As Integer

Private Dict() As String
Private AddDict As Integer
Private addDictPos As Integer
Private MaxDictBitPos As Integer
Private MaxDict As Integer
Private NowBitLength As Integer
Private UsedDicts As Integer

Public Sub Compress_LZW_MultyDict(ByteArray() As Byte)
    Dim ByteValue As Byte
    Dim TempByte As Long
    Dim ExtraBits As Integer
    Dim DictStr As String
    Dim NewStr As String
    Dim CompPos As Long
    Dim DictVal As Long
    Dim DictPosit As Long
    Dim DictPositOld As Long
    Dim FilePos As Long
    Dim FileLenght As Long
    Dim Temp As Long
    Dim Dictionary As Integer
    Dim DictionaryPos As Integer
    Dim OldDict As Integer
    Dim OldPos As Integer
    Dim X As Integer
    Temp = (CLng(1024) * DictionarySize) / 256 - 1
    For X = 0 To 16
        If 2 ^ X > Temp Then
            MaxDictBitPos = X
            Exit For
        End If
    Next
    Call Init_MultiDict
    FileLenght = UBound(ByteArray)
    ReDim OutStream(FileLenght + 10)
    FilePos = 0
    DictStr = ""
    ExtraBits = 0
    Call AddBitsToOutStream(CLng(MaxDictBitPos), 8)
    Do Until FilePos > FileLenght
        ByteValue = ByteArray(FilePos)
        FilePos = FilePos + 1
        NewStr = DictStr & Chr(ByteValue)
        Call SearchMultiDict(NewStr, Dictionary, DictionaryPos)
        If Dictionary <> UsedDicts + 1 Then
            DictStr = NewStr
            OldDict = Dictionary
            OldPos = DictionaryPos
        Else
            Do While OldDict > (2 ^ NowBitLength) - 1
                Call AddBitsToOutStream(1, NowBitLength)
                Call AddBitsToOutStream(255, 8)
                NowBitLength = NowBitLength + 1
            Loop
            Call AddBitsToOutStream(CLng(OldDict), NowBitLength)
            Call AddBitsToOutStream(CLng(OldPos), 8)
            If OldDict > 0 Then
                Call AddBitsToOutStream(CLng(Len(DictStr)), 8)
                OldDict = 0
            End If
            Call AddToDict(DictStr)
            OldPos = ByteValue
            DictStr = Chr(ByteValue)
        End If
    Loop
    Do While OldDict > (2 ^ NowBitLength) - 1
        Call AddBitsToOutStream(1, NowBitLength)
        Call AddBitsToOutStream(1, 8)
        NowBitLength = NowBitLength + 1
    Loop
    Call AddBitsToOutStream(CLng(OldDict), NowBitLength)
    Call AddBitsToOutStream(CLng(OldPos), 8)
    If OldDict > 0 Then
        Call AddBitsToOutStream(CLng(Len(DictStr)), 8)
        OldDict = 0
    End If
    Call AddBitsToOutStream(1, NowBitLength)
    Call AddBitsToOutStream(0, 8)
    Do While OutBitCount > 0
        Call AddBitsToOutStream(0, 1)
    Loop
    ReDim ByteArray(OutPos - 1)
    Call CopyMem(ByteArray(0), OutStream(0), OutPos)
End Sub

Public Sub DeCompress_LZW_MultyDict(ByteArray() As Byte)
    Dim DictVal As Long
    Dim TempByte As Long
    Dim OldKarValue As Long
    Dim DeComPByte() As Byte
    Dim DeCompPos As Long
    Dim FilePos As Long
    Dim FileLenght As Long
    Dim InpPos As Long
    Dim Dictionary As Integer
    Dim DictPos As Integer
    Dim DictLen As Integer
    InpPos = 0
    MaxDictBitPos = ReadBitsFromArray(ByteArray, InpPos, 8)
    Call Init_MultiDict
    ReDim OutStream(500)
    Do
        Dictionary = ReadBitsFromArray(ByteArray, InpPos, NowBitLength)
        DictPos = ReadBitsFromArray(ByteArray, InpPos, 8)
        If Dictionary = 0 Then
            Call AddASC2OutStream(Chr(DictPos))
            Call AddToDict(Chr(DictPos))
        Else
            If DictPos = 0 Then Exit Do
            If DictPos = 255 And Dictionary = 1 Then
                NowBitLength = NowBitLength + 1
            Else
                DictLen = ReadBitsFromArray(ByteArray, InpPos, 8)
                Call AddASC2OutStream(Mid(Dict(Dictionary), DictPos, DictLen))
                Call AddToDict(Mid(Dict(Dictionary), DictPos, DictLen))
            End If
        End If
    Loop
    OutPos = OutPos - 1
    ReDim ByteArray(OutPos)
    Call CopyMem(ByteArray(0), OutStream(0), OutPos + 1)
End Sub

'hier gaan we de multiple dictionary maken
Private Sub Init_MultiDict()
    Dim X As Integer
    Dim Y As Integer
    MaxDict = (2 ^ MaxDictBitPos) - 1
    ReDim Dict(MaxDict)
    For X = 0 To 255
        Dict(0) = Dict(0) & Chr(X)
    Next
    For X = 1 To MaxDict
        Dict(X) = String(255, ASC(" "))
    Next
    AddDict = 1
    UsedDicts = AddDict
    addDictPos = 1      '0 = EOF   255 = Next bit lenght
    NowBitLength = 1    'start with bitlenght 1
    OutPos = 0
    OutBitCount = 0
    OutByteBuf = 0
    ReadBitPos = 0
End Sub

Private Sub SearchMultiDict(Char As String, DictNum As Integer, DictPos As Integer)
    If Len(Char) = 1 Then
        DictNum = 0
        DictPos = ASC(Char)
        Exit Sub
    Else
        DictNum = 1
        Do While DictNum <= UsedDicts
            DictPos = InStr(Dict(DictNum), Char)
            If DictPos <> 0 Then
                Exit Sub
            End If
            DictNum = DictNum + 1
        Loop
    End If
End Sub

Private Sub AddToDict(Char As String)
    Do
        If addDictPos + Len(Char) < 255 Then
            Mid(Dict(AddDict), addDictPos, Len(Char)) = Char
            addDictPos = addDictPos + Len(Char)
            Char = ""
        Else
            If addDictPos < 256 Then
                Mid(Dict(AddDict), addDictPos, 256 - addDictPos) = Left(Char, 256 - addDictPos)
                Char = Mid(Char, 256 - addDictPos)
            End If
            addDictPos = 1
            AddDict = AddDict + 1
            If AddDict > MaxDict Then AddDict = 1
            If AddDict > UsedDicts Then UsedDicts = AddDict
        End If
    Loop While Char <> ""
End Sub

Private Sub AddASC2OutStream(Text As String)
    Dim X As Long
    If OutPos + Len(Text) > UBound(OutStream) Then ReDim Preserve OutStream(OutPos + Len(Text) + 500)
    For X = 1 To Len(Text)
        OutStream(OutPos) = ASC(Mid(Text, X, 1))
        OutPos = OutPos + 1
    Next
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 sub will read an amount of bits from the inputstream
Private Function ReadBitsFromArray(FromArray() As Byte, FromPos As Long, 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 - ReadBitPos)) > 0))
        ReadBitPos = ReadBitPos + 1
        If ReadBitPos = 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
            ReadBitPos = 0
        End If
    Next
    ReadBitsFromArray = Temp
End Function

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品一区二区免费看| 成人黄色免费短视频| 福利电影一区二区三区| 精品视频免费看| 欧美国产丝袜视频| 麻豆精品一区二区三区| 欧美视频一区二区| 国产精品久久久久一区二区三区共| 亚洲国产成人av网| 日本二三区不卡| 国产精品人人做人人爽人人添| 美女诱惑一区二区| 欧美女孩性生活视频| 亚洲乱码国产乱码精品精的特点| 国产一区二区成人久久免费影院| 欧美丰满一区二区免费视频| 亚洲综合一二区| 91香蕉视频污在线| 亚洲视频在线一区二区| av资源站一区| 综合久久久久综合| 波多野结衣在线aⅴ中文字幕不卡| 久久色中文字幕| 久久99精品久久久| 欧美大片在线观看| 美国十次了思思久久精品导航| 在线不卡中文字幕| 五月天激情综合网| 欧美精品免费视频| 午夜电影一区二区三区| 欧美日韩免费一区二区三区视频| 一区二区三区日韩| 色av综合在线| 亚洲综合自拍偷拍| 欧美中文一区二区三区| 亚洲一区免费在线观看| 欧美精品tushy高清| 蜜桃一区二区三区四区| 精品国产污污免费网站入口| 国产一区二区精品久久91| 国产欧美在线观看一区| 92精品国产成人观看免费| 综合激情成人伊人| 欧美午夜宅男影院| 视频一区视频二区中文字幕| 4438x亚洲最大成人网| 九一九一国产精品| 国产精品午夜久久| 精品视频123区在线观看| 日本在线播放一区二区三区| 欧美成人福利视频| 成人黄页毛片网站| 亚洲一区二区在线免费观看视频| 欧美一区三区二区| 国产suv精品一区二区6| 一区二区三区四区亚洲| 日韩小视频在线观看专区| 国产老妇另类xxxxx| 一个色妞综合视频在线观看| 欧美一区二区日韩一区二区| 国产成人小视频| 亚洲va欧美va人人爽| 欧美大尺度电影在线| av在线不卡观看免费观看| 暴力调教一区二区三区| 亚洲国产一区视频| 久久免费视频色| 在线精品视频一区二区| 麻豆成人免费电影| 亚洲精品一二三区| 久久久噜噜噜久噜久久综合| 在线观看欧美日本| 国产白丝网站精品污在线入口| 日日夜夜免费精品| 国产精品入口麻豆原神| 日韩美女主播在线视频一区二区三区| 国产精品亚洲一区二区三区在线 | xnxx国产精品| 一本到不卡免费一区二区| 老司机精品视频一区二区三区| 国产精品黄色在线观看| 欧美mv和日韩mv的网站| 欧美午夜精品久久久久久超碰 | 色婷婷国产精品| 国产又粗又猛又爽又黄91精品| 亚洲精品国产成人久久av盗摄| 精品久久久影院| 欧美片网站yy| 91蝌蚪porny九色| 成人精品一区二区三区四区| 日韩av不卡一区二区| 亚洲综合小说图片| 日韩码欧中文字| 国产精品久久久久精k8| 精品国精品自拍自在线| 欧美日韩一卡二卡三卡 | 亚洲午夜精品17c| 国产精品欧美极品| 久久久久久久久久久久久女国产乱| 欧美日韩一级片在线观看| 一本色道a无线码一区v| 粉嫩久久99精品久久久久久夜| 久久精品国产精品亚洲综合| 亚洲成人精品一区二区| 一区二区三区.www| 亚洲精品va在线观看| 亚洲欧美日本韩国| 亚洲美女区一区| 一区二区三区国产精品| 一区二区三区蜜桃网| 亚洲女人****多毛耸耸8| www激情久久| 亚洲高清久久久| 色94色欧美sute亚洲线路一ni| 麻豆成人久久精品二区三区小说| 欧美在线免费观看视频| 国产精品久久久久久久久免费相片| 久久激情五月激情| 欧美人牲a欧美精品| 亚洲欧美色图小说| 99在线精品免费| 国产精品美女久久久久久久久久久 | 午夜精品影院在线观看| 91美女视频网站| 成人欧美一区二区三区视频网页| 国产成人综合自拍| 久久久av毛片精品| 国产成人aaa| 国产亚洲精品bt天堂精选| 国产在线看一区| 久久嫩草精品久久久精品一| 免费高清视频精品| 日韩精品一区二区三区中文不卡| 丝袜脚交一区二区| 欧美一区二区视频观看视频| 亚洲18影院在线观看| 6080亚洲精品一区二区| 三级欧美韩日大片在线看| 欧美日韩国产精选| 日韩国产成人精品| 日韩欧美色综合| 国产精品综合av一区二区国产馆| 精品1区2区在线观看| 国内外成人在线| 2014亚洲片线观看视频免费| 国产一区二区成人久久免费影院| 久久久99精品免费观看不卡| 成人午夜电影网站| 亚洲人成网站影音先锋播放| 在线免费观看成人短视频| 午夜精品福利久久久| 精品福利视频一区二区三区| 韩国精品主播一区二区在线观看 | 久久国产精品露脸对白| 久久精品亚洲精品国产欧美| 国产成人一级电影| 中文字幕的久久| 欧美伊人久久久久久久久影院 | 欧美韩国一区二区| 99久久婷婷国产综合精品| 亚洲摸摸操操av| 91精品国产高清一区二区三区| 秋霞电影一区二区| 欧美国产日产图区| 色嗨嗨av一区二区三区| 奇米影视7777精品一区二区| 久久麻豆一区二区| 在线观看一区日韩| 久久99精品国产91久久来源| 国产精品电影一区二区| 欧美麻豆精品久久久久久| 国内精品在线播放| 亚洲另类中文字| 精品国产乱码久久久久久图片 | 国产一区二区精品在线观看| 亚洲日本丝袜连裤袜办公室| 91精品国产免费久久综合| 国产91精品在线观看| 亚洲午夜激情网页| 国产日韩欧美综合在线| 日本丶国产丶欧美色综合| 麻豆成人av在线| 亚洲欧美视频一区| 日韩欧美一区在线| 99精品视频在线免费观看| 青青国产91久久久久久| 亚洲欧美影音先锋| 欧美白人最猛性xxxxx69交| 一本久久精品一区二区| 国内精品视频一区二区三区八戒| 亚洲精品午夜久久久| 久久九九国产精品| 婷婷久久综合九色国产成人| 国产精品免费视频观看| 91精品国产乱| 欧美网站大全在线观看| 成人黄色在线看| 激情综合色播五月| 亚洲成人在线免费| 亚洲欧美日韩一区二区|