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

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

?? myvbdll.cls

?? 利用PC機的串口通信功能
?? CLS
字號:
VERSION 1.0 CLASS
BEGIN
  MultiUse = -1  'True
  Persistable = 0  'NotPersistable
  DataBindingBehavior = 2  'vbComplexBound
  DataSourceBehavior  = 0  'vbNone
  MTSTransactionMode  = 0  'NotAnMTSObject
END
Attribute VB_Name = "myVBDll"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Option Explicit
Option Base 0
Private Declare Function BitAnd Lib "MyVCdll.dll" (ByVal nFirstNum As Long, ByVal nSecondNum As Long) As Long
Private Declare Function BitLeftShift Lib "MyVCdll.dll" (ByVal nFirstNum As Long, ByVal nSecondNum As Integer) As Long
Private Declare Function BitRightShift Lib "MyVCdll.dll" (ByVal nFirstNum As Long, ByVal nSecondNum As Integer) As Long
Public Function vbBitAnd(ByVal nFirstNum As Long, ByVal nSecondNum As Long) As Long
    vbBitAnd = BitAnd(nFirstNum, nSecondNum)
End Function
Public Function vbBitLeftShift(ByVal nFirstNum As Long, ByVal nSecondNum As Integer) As Long
    vbBitLeftShift = BitLeftShift(nFirstNum, nSecondNum)
End Function
Public Function vbBitRightShift(ByVal nFirstNum As Long, ByVal nSecondNum As Integer) As Long
    vbBitRightShift = BitRightShift(nFirstNum, nSecondNum)
End Function
'7-bit解碼
'strInput: 源編碼串
'返回: 目標字符串
Public Function Decode7BitASC(ByVal strInput As String) As String
    Dim iTmp    As Integer
    Dim iSrc()  As Integer
    Dim iDst()  As Integer
    Dim idxSrc      As Long      '源字符串的計數值
    Dim idxDst      As Long      '目標解碼串的計數值
    Dim idxByte     As Long      '當前正在處理的組內字節的序號,范圍是0-6
    Dim iLeft       As Long      '上一字節殘余的數據
    Dim nD          As Long
    Dim blReturn        As Boolean
    Dim strMyString()   As String
    Dim strOutput       As String
    On Error Resume Next
    blReturn = String2Array(strInput, " ", nD, strMyString(), True)
    ReDim iSrc(0 To nD)
    ReDim iDst(0 To nD * 2)
    For idxSrc = 0 To nD - 1
        iSrc(idxSrc) = Hex2Dec(strMyString(idxSrc))
    Next idxSrc
    '計數值初始化
    idxSrc = 0
    idxDst = 0
    '組內字節序號和殘余數據初始化
    idxByte = 0
    iLeft = 0
    '將源數據每7個字節分為一組,解壓縮成8個字節
    '循環該處理過程,直至源數據被處理完
    '如果分組不到7字節,也能正確處理
    While idxSrc < nD
        '將源字節右邊部分與殘余數據相加,去掉最高位,得到一個目標解碼字節
        iTmp = BitLeftShift(iSrc(idxSrc), idxByte)
        iTmp = iTmp Or iLeft
        iDst(idxDst) = iTmp And &H7F
        '將該字節剩下的左邊部分,作為殘余數據保存起來
        iLeft = BitRightShift(iSrc(idxSrc), (7 - idxByte))
        '修改目標串的指針和計數值
        idxDst = idxDst + 1
        '修改字節計數值
        idxByte = idxByte + 1
        '到了一組的最后一個字節
        If idxByte = 7 Then
            '額外得到一個目標解碼字節
            iDst(idxDst) = iLeft
            '修改目標串的指針和計數值
            idxDst = idxDst + 1
            '組內字節序號和殘余數據初始化
            idxByte = 0
            iLeft = 0
        End If
        '修改源串的指針和計數值
        idxSrc = idxSrc + 1
    Wend
    For idxSrc = 0 To idxDst - 1
        strOutput = strOutput & Chr(iDst(idxSrc))
    Next idxSrc
    Decode7BitASC = strOutput
End Function
'7-bit編碼
'strInput: 源字符串
'iArrayRtn: 目標編碼數組
Public Function Encode7BitASC(ByVal strInput As String) As String
    Dim idxSrc      As Long      '源字符串的計數值
    Dim idxDst      As Long      '目標編碼串的計數值
    Dim idxChar     As Long      '當前正在處理的組內字符字節的序號,范圍是0-7
    Dim iLeft       As Long      '上一字節殘余的數據
    Dim nSrcLength  As Long      '源字符串長度
    Dim iTmp        As Integer
    Dim iSrc()      As Integer
    Dim i           As Integer
    Dim iArrayRtn() As Integer
    On Error Resume Next
    idxSrc = 0
    idxDst = 0
    nSrcLength = Len(strInput)
    ReDim iSrc(0 To nSrcLength)
    ReDim iArrayRtn(0 To nSrcLength)
    For i = 1 To nSrcLength
        iSrc(i - 1) = AscB(Mid(strInput, i, 1))
    Next i
    '將源串每8個字節分為一組,壓縮成7個字節
    '循環該處理過程,直至源串被處理完
    '如果分組不到8字節,也能正確處理
    For idxSrc = 0 To nSrcLength
        '取源字符串的計數值的最低3位
        idxChar = idxSrc And 7
        '處理源串的每個字節
        If idxChar = 0 Then
            '組內第一個字節,只是保存起來,待處理下一個字節時使用
            iLeft = iSrc(idxSrc)
        Else
        '組內其它字節,將其右邊部分與殘余數據相加,得到一個目標編碼字節
            iTmp = BitLeftShift(iSrc(idxSrc), (8 - idxChar))
            DoEvents
            iTmp = BitAnd(iTmp, &HFF)
            iTmp = iTmp Or iLeft
            If iTmp <> 0 Then
                iArrayRtn(idxDst) = iTmp
                '修改目標串的指針和計數值 idxDst++;
                idxDst = idxDst + 1
            End If
            '將該字節剩下的左邊部分,作為殘余數據保存起來
            iLeft = BitRightShift(iSrc(idxSrc), idxChar)
        End If
    Next idxSrc
    Dim nTmp As Long
    Dim strTmp As String
    Encode7BitASC = ""
    For nTmp = 0 To idxDst
        strTmp = Hex(iArrayRtn(nTmp))
        If Len(strTmp) < 2 Then strTmp = "0" & strTmp
    Next nTmp
    Encode7BitASC = Trim(strTmp)
End Function
Public Function ASCII2Char(ByVal strAsc As String) As String
    Dim i       As Integer
    Dim j       As Integer
    Dim strTmp  As String
    Dim strTmpA As String
    Dim strTmpB As String
    On Error Resume Next
    j = Len(strAsc)
    strTmpB = ""
    For i = 1 To j
        strTmpA = Mid(strAsc, i, 1)
        If strTmpA <> " " Then strTmpB = strTmpB & strTmpA
    Next i
    j = Len(strTmpB)
    strTmp = ""
    For i = 1 To j Step 2
        strTmpA = Mid(strTmpB, i, 2)
        strTmp = strTmp & ChrB(Hex2Dec(strTmpA))
    Next i
    ASCII2Char = strTmp
End Function
Public Function CharToAscii(ByVal strChar As String) As String
    Dim iAsc As Integer
    Dim n1      As Long
    Dim n2      As Long
    Dim strTmp  As String
    Dim strTmp1 As String
    Dim strTmp2 As String
    On Error Resume Next
    n1 = LenB(strChar)
    strTmp = ""
    For n2 = 1 To n1
        iAsc = AscB(MidB(strChar, n2, 1))
        If iAsc <> 0 Then
            strTmp1 = Hex(iAsc)
            If Len(strTmp1) < 2 Then strTmp1 = "0" & strTmp1
            strTmp = strTmp & strTmp1 & " "
        End If
    Next n2
    CharToAscii = Trim(strTmp)
End Function
Public Function Hex2Dec(ByVal strInput As String) As Long
    Dim i       As Integer
    Dim j       As Integer
    Dim iLen    As Integer
    Dim iTmp    As Integer
    Dim nRet    As Long
    Dim strTmp  As String
    On Error Resume Next
    If strInput <> "" Then
        iLen = Len(strInput)
        nRet = 0
        For i = 1 To iLen
            iTmp = Asc(Mid(strInput, i, 1))
            If iTmp >= 48 And iTmp <= 57 Then               '"0" = 48, "9" = 57
                nRet = nRet + (iTmp - 48) * 16 ^ (iLen - i)
            ElseIf iTmp >= 65 And iTmp <= 70 Then           '"A" = 65, "F" = 70
                nRet = nRet + (iTmp - 55) * 16 ^ (iLen - i)
            ElseIf iTmp >= 97 And iTmp <= 102 Then          '"a" = 97, "f" = 102
                nRet = nRet + (iTmp - 87) * 16 ^ (iLen - i)
            Else
                nRet = 0
                Exit For
            End If
        Next i
    End If
    Hex2Dec = nRet
End Function
Public Function GB2Unicode(ByVal strGB As String) As String
    Dim byteA()         As Byte
    Dim i               As Integer
    Dim strTmpUnicode   As String
    Dim strA            As String
    Dim strB            As String
    On Error GoTo ErrorUnicode
    i = LenB(strGB)
    ReDim byteA(1 To i)
    For i = 1 To LenB(strGB)
        strA = MidB(strGB, i, 1)
        byteA(i) = AscB(strA)
    Next i
    '此時已經將strGB轉換為Unicode編碼,保存在數組byteA()中。
    '下面需要調整順序并以字符串的形式返回
    strTmpUnicode = ""
    For i = 1 To UBound(byteA) Step 2
        strA = Hex(byteA(i))
        If Len(strA) < 2 Then strA = "0" & strA
        strB = Hex(byteA(i + 1))
        If Len(strB) < 2 Then strB = "0" & strB
        strTmpUnicode = strTmpUnicode & strB & strA
    Next i
    GB2Unicode = strTmpUnicode
    Exit Function
ErrorUnicode:
    MsgBox "錯誤:" & Err & "." & vbCrLf & Err.Description
    GB2Unicode = ""
End Function
Public Function Unicode2GB(ByVal strUnicode As String) As String
    Dim byteA()     As Byte
    Dim i           As Integer
    Dim strTmp      As String
    Dim strTmpGB    As String
    On Error GoTo ErrUnicode2GB
    i = Len(strUnicode) / 2
    ReDim byteA(1 To i)
    For i = 1 To Len(strUnicode) / 2 Step 2
        strTmp = Mid(strUnicode, i * 2 - 1, 2)
        strTmp = Hex2Dec(strTmp)
        byteA(i + 1) = strTmp
        strTmp = Mid(strUnicode, i * 2 + 1, 2)
        strTmp = Hex2Dec(strTmp)
        byteA(i) = strTmp
    Next i
    strTmpGB = ""
    For i = 1 To UBound(byteA)
        strTmp = byteA(i)
        strTmpGB = strTmpGB & ChrB(strTmp)
    Next i
    Unicode2GB = strTmpGB
    Exit Function
ErrUnicode2GB:
    MsgBox "Err=" & Err.Number & ",原因:" & Err.Description
    Unicode2GB = ""
End Function
'此函數是將一個字符串中以charRef為分隔符的元素保存到數組MyStr()中
'參數:
'YourStr:  待分隔的字符串
'charRef:  分隔符號
'isNormal: 如果為假,則表示分隔符可能由多個空格組成,例如Tab符號。
'nD:       返回值,表示有多少個元素
'MyStr():  返回值,保存分隔后的各個元素。
Public Function String2Array(ByVal YourStr As String, ByVal charRef As String, ByRef nD As Long, ByRef MyStr() As String, ByVal isNormal As Boolean) As Boolean
    Dim i           As Long
    Dim j           As Long
    Dim nUBound     As Long
    Dim iAsc        As Integer
    Dim strChar     As String
    Dim strTmp      As String
    Dim aryTr()     As String
    On Error GoTo ErrorDecode
    strChar = ""
    YourStr = Trim(YourStr)     '首先去掉字符串兩邊的空格
    nUBound = 1
    j = 0
    ReDim aryTr(1 To nUBound)
    If Not isNormal Then
        For i = 1 To Len(YourStr)
            strTmp = Mid(YourStr, i, 1)
            iAsc = Asc(strTmp)
            If iAsc > 122 Or iAsc < 33 Then
                strChar = Mid(YourStr, i - j, j)
                If strChar <> "" Then
                    aryTr(nUBound) = strChar
                    nUBound = nUBound + 1
                    ReDim Preserve aryTr(1 To nUBound)
                End If
                strChar = ""
                j = 0
            Else
                j = j + 1
                If i = Len(YourStr) Then
                    strChar = Mid(YourStr, i - j + 1, j)
                    aryTr(nUBound) = strChar
                End If
            End If
        Next i
        nD = nUBound
        ReDim MyStr(0 To nUBound - 1)
        For i = 1 To nUBound
            MyStr(i - 1) = aryTr(i)
        Next i
        String2Array = True
    Else
        For i = 1 To Len(YourStr)
            strTmp = Mid(YourStr, i, 1)
            If strTmp = charRef Then
                strChar = Mid(YourStr, i - j, j)
                If strChar <> "" Then
                    aryTr(nUBound) = strChar
                    nUBound = nUBound + 1
                    ReDim Preserve aryTr(1 To nUBound)
                End If
                strChar = ""
                j = 0
            Else
                j = j + 1
                If i = Len(YourStr) Then
                    strChar = Mid(YourStr, i - j + 1, j)
                    aryTr(nUBound) = strChar
                End If
            End If
        Next i
        nD = nUBound
        ReDim MyStr(0 To nUBound - 1)
        For i = 1 To nUBound
            MyStr(i - 1) = aryTr(i)
        Next i
        String2Array = True
    End If
    Exit Function
ErrorDecode:
    MsgBox Err.Number & ":" & Err.Description
    String2Array = False
End Function
Public Sub QuickSort(InputArray() As Double, LowPos As Integer, HighPos As Integer)
    Dim iPivot As Integer

    If LowPos < HighPos Then
        iPivot = PartitionA(InputArray, LowPos, HighPos)
        Call QuickSort(InputArray, LowPos, iPivot - 1)
        Call QuickSort(InputArray, iPivot + 1, HighPos)
    End If
End Sub
Private Sub Swap(InputArray() As Double, FirstPos As Integer, SecondPos As Integer)
    Dim dblTmp As Double
    dblTmp = InputArray(FirstPos)
    InputArray(FirstPos) = InputArray(SecondPos)
    InputArray(FirstPos) = dblTmp
End Sub
Private Function PartitionA(r() As Double, ByVal iB As Integer, ByVal iE As Integer) As Integer
    '//并返回基準記錄的位置
    Dim dblPivot As Double
    '===== 用區間的第1個記錄作為基準 =====
    dblPivot = r(iB)
    '===== { 從區間兩端交替向中間掃描,直至iB=iE為止 =====
    Do While (iB < iE)
        '----- pivot相當于在位置iB上 -----
        Do While (iB < iE And r(iE) >= dblPivot)
            '--- 從右向左掃描,查找第1個小于Pivot的記錄R(iE) ---
            iE = iE - 1
        Loop
        '----- 表示找到的R(iE) < dblPivot -----
        If (iB < iE) Then
            '--- 相當于交換R(ib)和R(ie),交換后iB指針加1 ---
            r(iB) = r(iE)
            iB = iB + 1
        End If
        '----- Pivot相當于在位置iE上 -----
        Do While (iB < iE And r(iB) <= dblPivot)
            '--- 從左向右掃描,查找第1個大于Pivot的記錄R(iB) ---
            iB = iB + 1
        Loop
        '----- 表示找到了R(iB),使R(iB) > Pivot -----
        If (iB < iE) Then
            '--- 相當于交換R(iB)和R(iE),交換后iE指針減1 ---
            r(iE) = r(iB)
            iE = iE - 1
        End If
    Loop
    '===== 基準記錄已被最后定位 =====
    r(iB) = dblPivot
    PartitionA = iB
End Function
Private Function Partition(InputArray() As Double, LowPos As Integer, HighPos As Integer) As Integer
    Dim dblPivot As Double
    Dim iPos As Integer, iTmp As Integer
    Dim i As Integer, j As Integer
    iPos = LowPos
    dblPivot = InputArray(iPos)
    For i = LowPos + 1 To HighPos
        If InputArray(i) < dblPivot Then
            Call Swap(InputArray, iPos, i)
            iPos = iPos + 1
        End If
    Next i
    Call Swap(InputArray, LowPos, iPos)
    Partition = iPos
End Function

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩成人伦理电影在线观看| 夜夜嗨av一区二区三区中文字幕| 日韩成人dvd| 在线观看一区日韩| 亚洲精品国产第一综合99久久| 成人午夜短视频| 欧美激情艳妇裸体舞| 国产99精品国产| 国产精品剧情在线亚洲| 不卡在线视频中文字幕| 国产精品久久久久aaaa| 99久久精品国产观看| 亚洲少妇最新在线视频| 色综合视频在线观看| 亚洲精品视频在线观看免费| 色婷婷精品久久二区二区蜜臀av| 亚洲毛片av在线| 一本大道综合伊人精品热热| 一区二区三区中文在线| 在线影院国内精品| 亚洲亚洲人成综合网络| 欧美日韩视频专区在线播放| 日本欧美一区二区三区乱码| 精品欧美乱码久久久久久1区2区| 国产一区二区三区久久久 | 欧美变态口味重另类| 免费成人美女在线观看.| 日韩欧美电影一二三| 精久久久久久久久久久| 久久精品视频在线看| 不卡一卡二卡三乱码免费网站| 亚洲欧美一区二区三区国产精品| 色婷婷综合久色| 五月天精品一区二区三区| 日韩欧美在线网站| 国产成人午夜高潮毛片| 日韩理论片一区二区| 欧美日韩夫妻久久| 久久国产精品色婷婷| 国产精品丝袜一区| 欧美性欧美巨大黑白大战| 日本vs亚洲vs韩国一区三区二区 | 粉嫩av亚洲一区二区图片| 国产精品三级视频| 色哟哟国产精品| 免费人成在线不卡| 国产农村妇女精品| 在线观看日韩精品| 另类小说一区二区三区| 国产精品对白交换视频 | 色婷婷国产精品久久包臀| 天堂资源在线中文精品| 久久久久久久久99精品| 91蝌蚪porny九色| 日本v片在线高清不卡在线观看| 久久久久久久久久久久久女国产乱| 99精品国产热久久91蜜凸| 五月天中文字幕一区二区| 久久久99精品免费观看不卡| 91麻豆福利精品推荐| 久久国产精品99精品国产| 国产精品国产三级国产aⅴ入口 | 日韩免费一区二区三区在线播放| 成人午夜精品在线| 首页国产欧美日韩丝袜| 日本一区二区三区高清不卡 | 99re6这里只有精品视频在线观看| 亚洲高清视频的网址| 久久久久久久久久久99999| 色综合一区二区| 久久9热精品视频| 一区二区三区电影在线播| 久久先锋影音av| 欧美日韩免费一区二区三区 | 欧美成人高清电影在线| 色综合天天综合网天天看片 | 香港成人在线视频| 玖玖九九国产精品| 亚洲精品国产精华液| 久久久av毛片精品| 欧美精品一卡两卡| av激情成人网| 激情小说亚洲一区| 天堂av在线一区| 亚洲欧美日韩国产中文在线| 久久久久久99久久久精品网站| 欧美三级中文字幕在线观看| 不卡一区二区在线| 国产一区二区精品久久91| 午夜精品福利视频网站| 亚洲色图制服丝袜| 国产午夜精品理论片a级大结局| 69堂成人精品免费视频| 91蜜桃免费观看视频| 国产成人av电影在线观看| 蜜桃精品视频在线| 亚洲午夜av在线| 日韩美女视频一区二区| 国产日韩高清在线| 日韩欧美一区二区久久婷婷| 欧美日韩视频不卡| 91久久香蕉国产日韩欧美9色| 国产91精品露脸国语对白| 麻豆精品新av中文字幕| 五月天丁香久久| 亚洲男同1069视频| 国产精品免费视频一区| 久久美女艺术照精彩视频福利播放| 日韩一区二区三区四区五区六区| 欧美伊人久久久久久午夜久久久久| 97久久精品人人做人人爽50路| 成人午夜又粗又硬又大| 国产福利精品一区| 国产乱一区二区| 精品一区二区久久| 免费成人深夜小野草| 日韩二区三区四区| 五月激情综合色| 午夜精品一区在线观看| 亚洲国产一区二区视频| 一区二区日韩av| 一区二区三区高清不卡| 亚洲精品第一国产综合野| 亚洲欧美一区二区三区久本道91 | 国产精品乱码妇女bbbb| 国产日产亚洲精品系列| 久久精品亚洲乱码伦伦中文| 国产婷婷色一区二区三区四区| 久久久99精品久久| 国产喂奶挤奶一区二区三区| 久久嫩草精品久久久精品一| 久久久久9999亚洲精品| 亚洲国产精品成人综合色在线婷婷| 国产喷白浆一区二区三区| 国产亚洲婷婷免费| 日本一区二区三区国色天香| 国产精品久久久久久久久免费相片 | 精品国产髙清在线看国产毛片| 69堂成人精品免费视频| 欧美麻豆精品久久久久久| 欧美日韩成人综合在线一区二区| 欧美日韩国产欧美日美国产精品| 欧美日韩中字一区| 91精品国产免费| 欧美哺乳videos| 久久精品视频一区二区| 国产精品美女久久久久久2018| 亚洲色图20p| 亚洲一二三专区| 肉丝袜脚交视频一区二区| 美国毛片一区二区三区| 国产精品综合av一区二区国产馆| 国产不卡视频一区| 97se亚洲国产综合自在线不卡 | 成人免费观看视频| 99re在线视频这里只有精品| 在线观看网站黄不卡| 91精品国产91久久久久久一区二区| 日韩精品在线一区二区| 国产日韩精品一区二区三区| 亚洲视频在线一区观看| 亚洲国产乱码最新视频| 麻豆91小视频| 国产一区二区三区四区五区美女| 成人av电影在线观看| 欧亚一区二区三区| 日韩精品一区二区三区蜜臀| 中文幕一区二区三区久久蜜桃| 一区二区成人在线视频| 日本伊人色综合网| 福利电影一区二区三区| 91精彩视频在线观看| 日韩美一区二区三区| 中文字幕制服丝袜成人av| 香蕉成人啪国产精品视频综合网| 久久66热偷产精品| 波多野结衣在线一区| 欧美日韩精品一区视频| www日韩大片| 亚洲欧美日韩系列| 秋霞影院一区二区| 成人精品小蝌蚪| 欧美日韩激情一区| 久久久五月婷婷| 亚洲国产综合在线| 国产精品一区2区| 欧美最猛性xxxxx直播| 精品久久久久久亚洲综合网| 亚洲人123区| 美美哒免费高清在线观看视频一区二区 | 亚洲乱码国产乱码精品精98午夜| 日韩精品电影在线| youjizz久久| 欧美一卡二卡在线观看| 中文字幕亚洲一区二区va在线| 偷拍一区二区三区| av成人老司机| 欧美本精品男人aⅴ天堂| 一区二区三区四区乱视频| 韩国一区二区视频|