我定义了一个数组
dim abc(0 to 2) as byte
我想以16进制读出其中的内容作为一个文件名
fileName = Hex(abc(2)) &Hex(abc(1))& Hex(abc(0))
这样得到一个六个字符的文件名如 FFFFFF。如果这个数组中的内容都为非0值,则输出是正确的,但如果有一个字节为0的话如abc(1)=0,则输出就变成了FF0FF,少了一个字符,我想得到FF00FF该怎么办,多谢大家了

解决方案 »

  1.   

    dim s as string
    s=cstr(abc(1))
    if len(s)=1 then s="0" & s
      

  2.   

    fileName = Hex(abc(2)) &Hex(abc(1))& Hex(abc(0))
    fileName=Replace(fileName,"0","00")
      

  3.   

    呵呵 忘了说,不只是0会出现这种问题,0~15都会有这种问题,比如05-5 ,0B->B等,所以楼上的方法还是有点局限性。不知道还有没有更好的办法?
      

  4.   

    Private Sub Command1_Click()
    Dim abc(0 To 2) As Byte, temp(0 To 2) As String, i As Integer
    For i = 0 To 2
    temp(i) = Right("0" & Hex(abc(i)), 2)
    Next
    MsgBox Join(temp, "")End Sub