??xml version="1.0" encoding="utf-8" standalone="yes"?>成人免费看片网站,神马电影久久,日韩美一区二区三区http://www.aygfsteel.com/moonandsun/category/38626.htmlWelcome ,My new friends!!!zh-cnSat, 04 Apr 2009 05:38:09 GMTSat, 04 Apr 2009 05:38:09 GMT60十进Ӟ八进Ӟ十六q制Q二q制怺转换(vb) http://www.aygfsteel.com/moonandsun/archive/2009/03/29/262704.htmlmoonandsunmoonandsunSun, 29 Mar 2009 02:57:00 GMThttp://www.aygfsteel.com/moonandsun/archive/2009/03/29/262704.htmlhttp://www.aygfsteel.com/moonandsun/comments/262704.htmlhttp://www.aygfsteel.com/moonandsun/archive/2009/03/29/262704.html#Feedback0http://www.aygfsteel.com/moonandsun/comments/commentRss/262704.htmlhttp://www.aygfsteel.com/moonandsun/services/trackbacks/262704.html

十进Ӟ八进Ӟ十六q制Q二q制怺转换

' 用途:十q制转化Zq?br /> ' 输入QDec(十进制数)
' 输入数据cdQLong
' 输出QDEC_to_BIN(二进制数)
' 输出数据cdQString
' 输入的最大数?147483647,输出最大数?111111111111111111111111111111(31?)
Public Function DEC_to_BIN(Dec As Long) As String
    DEC_to_BIN = ""
    Do While Dec > 0
        DEC_to_BIN = Dec Mod 2 & DEC_to_BIN
        Dec = Dec \ 2
    Loop
End Function

' 用途:二q制转化为十q制
' 输入QBin(二进制数)
' 输入数据cdQString
' 输出QBIN_to_DEC(十进制数)
' 输出数据cdQLong
' 输入的最大数?111111111111111111111111111111(31?),输出最大数?147483647
Public Function BIN_to_DEC(ByVal Bin As String) As Long
    Dim i As Long
    For i = 1 To Len(Bin)
        BIN_to_DEC = BIN_to_DEC * 2 + Val(Mid(Bin, i, 1))
    Next i
End Function

' 用途:十六进制{化ؓ二进?br /> ' 输入QHex(十六q制?
' 输入数据cdQString
' 输出QHEX_to_BIN(二进制数)
' 输出数据cdQString
' 输入的最大数?147483647个字W?br /> Public Function HEX_to_BIN(ByVal Hex As String) As String
    Dim i As Long
    Dim B As String
    
    Hex = UCase(Hex)
    For i = 1 To Len(Hex)
        Select Case Mid(Hex, i, 1)
            Case "0": B = B & "0000"
            Case "1": B = B & "0001"
            Case "2": B = B & "0010"
            Case "3": B = B & "0011"
            Case "4": B = B & "0100"
            Case "5": B = B & "0101"
            Case "6": B = B & "0110"
            Case "7": B = B & "0111"
            Case "8": B = B & "1000"
            Case "9": B = B & "1001"
            Case "A": B = B & "1010"
            Case "B": B = B & "1011"
            Case "C": B = B & "1100"
            Case "D": B = B & "1101"
            Case "E": B = B & "1110"
            Case "F": B = B & "1111"
        End Select
    Next i
    While Left(B, 1) = "0"
        B = Right(B, Len(B) - 1)
    Wend
    HEX_to_BIN = B
End Function

' 用途:二q制转化为十六进?br /> ' 输入QBin(二进制数)
' 输入数据cdQString
' 输出QBIN_to_HEX(十六q制?
' 输出数据cdQString
' 输入的最大数?147483647个字W?br /> Public Function BIN_to_HEX(ByVal Bin As String) As String
    Dim i As Long
    Dim H As String
    If Len(Bin) Mod 4 <> 0 Then
        Bin = String(4 - Len(Bin) Mod 4, "0") & Bin
    End If
    
    For i = 1 To Len(Bin) Step 4
        Select Case Mid(Bin, i, 4)
            Case "0000": H = H & "0"
            Case "0001": H = H & "1"
            Case "0010": H = H & "2"
            Case "0011": H = H & "3"
            Case "0100": H = H & "4"
            Case "0101": H = H & "5"
            Case "0110": H = H & "6"
            Case "0111": H = H & "7"
            Case "1000": H = H & "8"
            Case "1001": H = H & "9"
            Case "1010": H = H & "A"
            Case "1011": H = H & "B"
            Case "1100": H = H & "C"
            Case "1101": H = H & "D"
            Case "1110": H = H & "E"
            Case "1111": H = H & "F"
        End Select
    Next i
    While Left(H, 1) = "0"
        H = Right(H, Len(H) - 1)
    Wend
    BIN_to_HEX = H
End Function

' 用途:十六进制{化ؓ十进?br /> ' 输入QHex(十六q制?
' 输入数据cdQString
' 输出QHEX_to_DEC(十进制数)
' 输出数据cdQLong
' 输入的最大数?FFFFFFF,输出的最大数?147483647
Public Function HEX_to_DEC(ByVal Hex As String) As Long
    Dim i As Long
    Dim B As Long
    
    Hex = UCase(Hex)
    For i = 1 To Len(Hex)
        Select Case Mid(Hex, Len(Hex) - i + 1, 1)
            Case "0": B = B + 16 ^ (i - 1) * 0
            Case "1": B = B + 16 ^ (i - 1) * 1
            Case "2": B = B + 16 ^ (i - 1) * 2
            Case "3": B = B + 16 ^ (i - 1) * 3
            Case "4": B = B + 16 ^ (i - 1) * 4
            Case "5": B = B + 16 ^ (i - 1) * 5
            Case "6": B = B + 16 ^ (i - 1) * 6
            Case "7": B = B + 16 ^ (i - 1) * 7
            Case "8": B = B + 16 ^ (i - 1) * 8
            Case "9": B = B + 16 ^ (i - 1) * 9
            Case "A": B = B + 16 ^ (i - 1) * 10
            Case "B": B = B + 16 ^ (i - 1) * 11
            Case "C": B = B + 16 ^ (i - 1) * 12
            Case "D": B = B + 16 ^ (i - 1) * 13
            Case "E": B = B + 16 ^ (i - 1) * 14
            Case "F": B = B + 16 ^ (i - 1) * 15
        End Select
    Next i
    HEX_to_DEC = B
End Function
' 用途:十q制转化为十六进?br /> ' 输入QDec(十进制数)
' 输入数据cdQLong
' 输出QDEC_to_HEX(十六q制?
' 输出数据cdQString
' 输入的最大数?147483647,输出最大数?FFFFFFF
Public Function DEC_to_HEX(Dec As Long) As String
    Dim a As String
    DEC_to_HEX = ""
    Do While Dec > 0
        a = CStr(Dec Mod 16)
        Select Case a
            Case "10": a = "A"
            Case "11": a = "B"
            Case "12": a = "C"
            Case "13": a = "D"
            Case "14": a = "E"
            Case "15": a = "F"
        End Select
        DEC_to_HEX = a & DEC_to_HEX
        Dec = Dec \ 16
    Loop
End Function

' 用途:十q制转化为八q制
' 输入QDec(十进制数)
' 输入数据cdQLong
' 输出QDEC_to_OCT(八进制数)
' 输出数据cdQString
' 输入的最大数?147483647,输出最大数?7777777777
Public Function DEC_to_OCT(Dec As Long) As String
    DEC_to_OCT = ""
    Do While Dec > 0
        DEC_to_OCT = Dec Mod 8 & DEC_to_OCT
        Dec = Dec \ 8
    Loop
End Function

' 用途:八q制转化为十q制
' 输入QOct(八进制数)
' 输入数据cdQString
' 输出QOCT_to_DEC(十进制数)
' 输出数据cdQLong
' 输入的最大数?7777777777,输出的最大数?147483647
Public Function OCT_to_DEC(ByVal Oct As String) As Long
    Dim i As Long
    Dim B As Long
    
    For i = 1 To Len(Oct)
        Select Case Mid(Oct, Len(Oct) - i + 1, 1)
            Case "0": B = B + 8 ^ (i - 1) * 0
            Case "1": B = B + 8 ^ (i - 1) * 1
            Case "2": B = B + 8 ^ (i - 1) * 2
            Case "3": B = B + 8 ^ (i - 1) * 3
            Case "4": B = B + 8 ^ (i - 1) * 4
            Case "5": B = B + 8 ^ (i - 1) * 5
            Case "6": B = B + 8 ^ (i - 1) * 6
            Case "7": B = B + 8 ^ (i - 1) * 7
        End Select
    Next i
    OCT_to_DEC = B
End Function

' 用途:二q制转化为八q制
' 输入QBin(二进制数)
' 输入数据cdQString
' 输出QBIN_to_OCT(八进制数)
' 输出数据cdQString
' 输入的最大数?147483647个字W?br /> Public Function BIN_to_OCT(ByVal Bin As String) As String
    Dim i As Long
    Dim H As String
    If Len(Bin) Mod 3 <> 0 Then
        Bin = String(3 - Len(Bin) Mod 3, "0") & Bin
    End If
    
    For i = 1 To Len(Bin) Step 3
        Select Case Mid(Bin, i, 3)
            Case "000": H = H & "0"
            Case "001": H = H & "1"
            Case "010": H = H & "2"
            Case "011": H = H & "3"
            Case "100": H = H & "4"
            Case "101": H = H & "5"
            Case "110": H = H & "6"
            Case "111": H = H & "7"
        End Select
    Next i
    While Left(H, 1) = "0"
        H = Right(H, Len(H) - 1)
    Wend
    BIN_to_OCT = H
End Function

' 用途:八q制转化Zq制
' 输入QOct(八进制数)
' 输入数据cdQString
' 输出QOCT_to_BIN(二进制数)
' 输出数据cdQString
' 输入的最大数?147483647个字W?br /> Public Function OCT_to_BIN(ByVal Oct As String) As String
    Dim i As Long
    Dim B As String
    
    For i = 1 To Len(Oct)
        Select Case Mid(Oct, i, 1)
            Case "0": B = B & "000"
            Case "1": B = B & "001"
            Case "2": B = B & "010"
            Case "3": B = B & "011"
            Case "4": B = B & "100"
            Case "5": B = B & "101"
            Case "6": B = B & "110"
            Case "7": B = B & "111"
        End Select
    Next i
    While Left(B, 1) = "0"
        B = Right(B, Len(B) - 1)
    Wend
    OCT_to_BIN = B
End Function

' 用途:八q制转化为十六进?br /> ' 输入QOct(八进制数)
' 输入数据cdQString
' 输出QOCT_to_HEX(十六q制?
' 输出数据cdQString
' 输入的最大数?147483647个字W?br /> Public Function OCT_to_HEX(ByVal Oct As String) As String
    Dim Bin As String
    Bin = OCT_to_BIN(Oct)
    OCT_to_HEX = BIN_to_HEX(Bin)
End Function

' 用途:十六进制{化ؓ八进?br /> ' 输入QHex(十六q制?
' 输入数据cdQString
' 输出QHEX_to_OCT(八进制数)
' 输出数据cdQString
' 输入的最大数?147483647个字W?br /> Public Function HEX_to_OCT(ByVal Hex As String) As String
    Dim Bin As String
    Hex = UCase(Hex)
    Bin = HEX_to_BIN(Hex)
    HEX_to_OCT = BIN_to_OCT(Bin)
End Function


VB自带函数Q?br /> 十进制{八进ӞOct(num)
十六q制转八q制Qoct("&H" & num)
十进制{十六q制Qhex(num)
八进制{十六q制Qhex("&O" & num)

十六q制转换为十q制
    Dim str As String                     
    str = Text2.Text
    Text10.Text = CLng("&H" & str)

文章出处Qhttp://blog.programfan.com/article.asp?id=11903
感谢作者的无私奉献、、、?br />



moonandsun 2009-03-29 10:57 发表评论
]]>
在VB中声明和使用API函数 http://www.aygfsteel.com/moonandsun/archive/2009/03/28/262630.htmlmoonandsunmoonandsunSat, 28 Mar 2009 08:46:00 GMThttp://www.aygfsteel.com/moonandsun/archive/2009/03/28/262630.htmlhttp://www.aygfsteel.com/moonandsun/comments/262630.htmlhttp://www.aygfsteel.com/moonandsun/archive/2009/03/28/262630.html#Feedback0http://www.aygfsteel.com/moonandsun/comments/commentRss/262630.htmlhttp://www.aygfsteel.com/moonandsun/services/trackbacks/262630.html

  声明的语法是Q?

  Private Declare Function ...

  Private Declare Sub.....

  q里必须采用Private声明Q因个API函数只能被一个窗体内的程序所调用?


  如果我们的程序有多个H体构成Q而且我们需要在多个H体中用同一个API函数Q就需要在模块中声明了?

  先添加一个模块(如图C)Q?

  然后采用如下语法声明Q?

  Public Declare Function....

  Public Declare Sub....

  Public声明的含义是把API函数作ؓ一个公共函数或q程Q在一个工E中的Q何位|(包括所有的H体和模块)都能直接调用它?声明完毕我们p在程序中使用此API函数了?


  二、可采用以下几种方式使用API函数Q以SetWindowPos函数ZQ?

  Q?Q忽略函数返回值的调用Q?

    SetWindowPos Form1.hWnd, -2 ,0 ,0 ,0, 0, 3

  注意此时函数的参数是不加括号的?

  Q?QCallҎ调用Q?

    Call SetWindowPos(Form1.hWnd, -2, 0, 0, 0, 3)

  注意q里需要加上括P但我们不取回函数的返回倹{?

  Q?Q取得函数返回值的调用Q?

    MyLng = SetWindowPos(Form1.hWnd, -2, 0, 0, 0, 3)

  此时需要加上括P而且我们必须事先定义一个变量(变量的类型与函数q回值类型相同)?a class="article" target="_blank">存储API函数的返回倹{?


  三、几个问题的说明Q?


  Q?Q声明中的Lib ?Alias 是怎么回事

  一般情况下WIN32API函数L包含在WINDOWSpȝ自带的或是其它公司提供的动态连接库DLL中,而Declare语句中的Lib关键字就用来指定DLLQ动态连接库Q文件的路径Q这样VB才能扑ֈq个DLL文gQ然后才能用其中的API函数。如果我们只是列出DLL文g名而不指出其完整的路径的话QVB会自动到.EXE文g所在目录、当前工作目录、WINDOWS\SYSTEM目录、WINDOWS目录下搜寻这个DLL文g。所以如果所要用DLL文g不在上述几个目录下的话,我们应该指明其完整\径?

  Alias用于指定API函数的别名,如果我们调用的API函数要用字W串Q参C包含String型)的话QAlias关键字是必须的。这是因为在ANSI和Unicode字符集中同一API函数的名U可能是不一LQؓ了保证不出现声明错误Q我们用Alias关键字指出API函数的别名,一般来说在WIN9Xq_下我们把API函数名后加一个大写A作ؓ别名卛_?


  Q?Q常见的API参数cd的说?

  API函数的参C最常见的是长整Long型数据类型,例如API中的句柄、一些特定的帔R、函数的q回值都是此cd 的|另外几种常见的参数类型有Q整型Integer、Byte型、String型等?


  Q?Q声明中的ByVal是作什么用?

  q跟VB的参C递方式有养I在默认情况下VB是通过地址传递方式传递函数的参数、而有些API函数要求必须采用传值方式来传递函数参敎ͼq两U参C递方式是不同的,前者传递的是一个指针,而后者要求是参数真实的|。这样就会发生错误,解决的办法是在API函数参数声明的前面加上ByVal关键字,q样VB采用传值方式传递参C?


  Q?Q怎样得到完整的API函数声明

  VB自带了API文本查看器API TEXT VIEWERQ我们可以在其中扑ֈAPI函数的完整声明,然后把它_脓到程序中卛_?br />
原文地址Qhttp://www.enet.com.cn/article/2004/0312/A20040312293927.shtml

moonandsun 2009-03-28 16:46 发表评论
]]>
վ֩ģ壺 ̨| | ˶| ƽԭ| | | ƽ| ʩ| Ѱ| | ̩| ɿ| | ԭƽ| ȷ| Ǩ| | ո| | | | | | | Ͽ| ָ| | | ػ| | | Ǭ| | ػʵ| ƽ| | Ϫ| | | | ʯ|