以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  全局代码DecToHex错误  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=145360)

--  作者:wangjh8888
--  发布时间:2020/1/17 10:06:00
--  全局代码DecToHex错误
老师 好 帮忙看看下面全局代码,
Public Function ClrValToClrVal5D(ByVal ClrVal As Integer) As Integer    
If ClrVal =0 Then
    Dim ClrVal5D As Integer = Nothing
Else
    Dim clr As Color =Color.FromARGB(ClrVal)
    Dim R_hex As String = DecToHex(clr.R).PadLeft(2,"0")
    Dim G_hex As String = DecToHex(clr.G).PadLeft(2,"0")
    Dim B_hex As String = DecToHex(clr.B).PadLeft(2,"0")
    Dim ClrVal5D As Integer = HextoDec(B_hex & G_hex & R_hex)
End If
Return ClrVal5D
End Function

提示错误:未声明名称  “DecToHex“
错误代码:Dim R_hex As String = DecToHex(clr.R).PadLeft(2,"0")

--  作者:有点蓝
--  发布时间:2020/1/17 10:17:00
--  
是有问题,已反馈。

建议把逻辑放到函数里,比如函数a

Dim ClrVal As Integer = args(0)
Dim ClrVal5D As Integer = Nothing
If ClrVal <> 0 Then
    Dim clr As Color =Color.FromARGB(ClrVal)
    Dim R_hex As String = DecToHex(clr.R).PadLeft(2,"0")
    Dim G_hex As String = DecToHex(clr.G).PadLeft(2,"0")
    Dim B_hex As String = DecToHex(clr.B).PadLeft(2,"0")
    ClrVal5D = HextoDec(B_hex & G_hex & R_hex)
End If
Return ClrVal5D

全局代码改为
Public Function ClrValToClrVal5D(ByVal ClrVal As Integer) As Integer
Return Functions.Execute("a",ClrVal )
End Function