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

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

?? myvbdll.cls

?? pc 與 gsm短信模塊通過串口通信 實現短信息的收發保存
?? 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一区二区三区免费野_久草精品视频
国产jizzjizz一区二区| 亚洲午夜精品在线| 欧美性videosxxxxx| 亚洲激情图片qvod| 国产欧美日韩另类视频免费观看| 欧美日韩精品免费观看视频| hitomi一区二区三区精品| 久久精品国产久精国产| 免费在线观看一区二区三区| 亚洲与欧洲av电影| 亚洲黄色录像片| 欧美国产激情二区三区| 久久久美女毛片| 久久久91精品国产一区二区精品 | 99视频国产精品| 国产成人亚洲精品青草天美| 久久se这里有精品| 国产自产v一区二区三区c| 精品影视av免费| 一区二区三区美女| 一区二区三区四区在线| 亚洲最大成人综合| 一区二区三区在线免费播放| 亚洲区小说区图片区qvod| 亚洲三级在线播放| 亚洲国产综合在线| 夜夜嗨av一区二区三区中文字幕| 国产欧美日韩在线| 国产精品久久看| 一区二区三区在线免费播放| 亚洲超碰精品一区二区| 日韩国产在线观看一区| 男女男精品视频| 国产麻豆成人传媒免费观看| 国产在线不卡视频| 成人激情小说乱人伦| 成年人国产精品| 欧美影院一区二区三区| 538在线一区二区精品国产| 精品少妇一区二区三区在线播放| 欧美草草影院在线视频| 国产精品黄色在线观看| 亚洲一区二区五区| 蜜臀国产一区二区三区在线播放 | 色综合一区二区| 欧美日韩国产美| 久久综合九色欧美综合狠狠| 久久久不卡网国产精品二区| 亚洲欧美在线视频观看| 日韩国产欧美在线播放| 成人伦理片在线| 欧美日韩国产首页| 欧美大尺度电影在线| 国产精品久久久久aaaa| 日韩精品一区第一页| eeuss鲁片一区二区三区 | 国产 日韩 欧美大片| 欧美影院一区二区三区| 国产欧美视频在线观看| 午夜精品一区二区三区电影天堂| 国模一区二区三区白浆| 欧美性三三影院| 国产免费观看久久| 日欧美一区二区| 91在线一区二区三区| 日韩精品专区在线| 国产精品你懂的在线欣赏| 免费一区二区视频| 在线观看欧美精品| 国产精品全国免费观看高清| 麻豆精品国产传媒mv男同| 在线观看免费视频综合| 欧美成人艳星乳罩| 亚洲午夜激情网站| 99精品视频一区二区三区| 日韩欧美专区在线| 亚洲成人福利片| 国产不卡视频一区| 精品女同一区二区| 奇米精品一区二区三区在线观看 | 日韩电影免费在线看| 色一情一乱一乱一91av| 国产精品久久毛片a| 国产91丝袜在线18| 26uuu成人网一区二区三区| 国产精品电影院| www.色综合.com| 国产日韩精品一区| 国产精品一区二区黑丝| 精品99999| 日本视频在线一区| 日韩一卡二卡三卡四卡| 亚洲国产精品欧美一二99| 欧美性极品少妇| 三级成人在线视频| 欧美亚洲国产一区二区三区va| 亚洲美女视频在线| 欧美在线你懂的| 五月天网站亚洲| 欧美一区二区三区白人| 日本欧洲一区二区| 日韩无一区二区| 国产在线精品免费| 国产精品三级在线观看| 色综合视频在线观看| 国产日韩欧美精品一区| 一本色道久久综合狠狠躁的推荐| 亚洲男同性恋视频| 欧美日韩www| 国产美女久久久久| 精品国产自在久精品国产| 日韩欧美成人激情| 国产伦精品一区二区三区在线观看| 国产精品电影一区二区三区| 欧美精品tushy高清| av在线一区二区| 久久精品二区亚洲w码| 成人欧美一区二区三区白人| 日韩一区二区三区在线观看| 99久久久无码国产精品| 麻豆成人久久精品二区三区小说| 中文字幕一区二区视频| 日韩欧美在线123| 日本道色综合久久| 成人网在线播放| 久久99久国产精品黄毛片色诱| 一区二区三区.www| 国产精品天干天干在观线| 欧美成人伊人久久综合网| 在线免费观看一区| 99久久久免费精品国产一区二区 | 国产精品久久777777| 日韩一区二区三区在线观看| 91国偷自产一区二区三区成为亚洲经典| 久久精品国产秦先生| 日韩精品成人一区二区三区| 一区av在线播放| 亚洲欧洲制服丝袜| 国产精品免费久久| 国产清纯白嫩初高生在线观看91 | 亚洲日本一区二区三区| 久久网站热最新地址| 精品国免费一区二区三区| 91精品国产综合久久蜜臀| 欧美自拍丝袜亚洲| 在线亚洲精品福利网址导航| av网站一区二区三区| 国产成人免费视| 国产一区二区电影| 国产成人综合网| 国产iv一区二区三区| 成人激情免费视频| caoporen国产精品视频| av在线播放一区二区三区| 成人成人成人在线视频| 成人性生交大片免费看中文网站| 国产乱码精品一区二区三区五月婷 | 精品国产乱码久久久久久闺蜜 | 国产精品色哟哟| 亚洲欧美一区二区在线观看| 18欧美亚洲精品| 亚洲自拍另类综合| 日韩国产精品大片| 黄页视频在线91| 成人自拍视频在线| 91视频在线观看免费| 欧美在线一区二区三区| 欧美一区二区三区免费大片| 久久噜噜亚洲综合| 国产精品第一页第二页第三页| 亚洲激情图片小说视频| 丝袜美腿成人在线| 国产福利91精品一区| 91网站黄www| 欧美日韩视频在线第一区| 精品国产一区二区三区四区四| 国产女人水真多18毛片18精品视频| 亚洲欧美激情一区二区| 日韩中文字幕区一区有砖一区| 韩国欧美国产1区| av一二三不卡影片| 91精品福利在线一区二区三区| 精品99一区二区| 亚洲一区二区三区四区的| 国内精品免费**视频| 色拍拍在线精品视频8848| 日韩欧美视频一区| 亚洲美女视频在线| 国产一区二区在线视频| 91麻豆国产福利精品| 欧美va亚洲va| 一区二区三区在线免费视频| 国产一区91精品张津瑜| 欧美色网站导航| 欧美激情一区三区| 日韩电影在线免费| 日本乱码高清不卡字幕| 久久天天做天天爱综合色| 亚洲女子a中天字幕| 国产在线一区二区综合免费视频|