Visual Basic Foro

Programación => Visual Basic 6 => Mensaje iniciado por: Cudder en Octubre 06, 2012, 11:47:25 am

Título: [HELP] StrConv Alternative Function
Publicado por: Cudder en Octubre 06, 2012, 11:47:25 am
Hola amigos!

Does anyone could help me fixing this function? It works but fails with unicode chars.... Here it is:

Código: [Seleccionar]
Public Function AltStrConv(Temp As Variant, Conversion As VbStrConv) As Variant
Dim i As Long, lLen As Long, bvHack(0) As Byte, lHackDelta As Long
Dim bArr() As Byte, sString As String
 
lHackDelta = VarPtr(bvHack(0))
 
If Conversion = vbFromUnicode Then
    sString = Temp
    lLen = Len(sString)
    ReDim bArr(0 To lLen - 1)
    For i = 0 To lLen - 1
        bvHack(VarPtr(bArr(0)) - lHackDelta + i) = bvHack(StrPtr(sString) - lHackDelta + (i * 2))
    Next i
    AltStrConv = bArr
ElseIf Conversion = vbUnicode Then
    bArr = Temp
    lLen = UBound(Temp) + 1
    sString = Space$(lLen)
    For i = 0 To lLen - 1
        bvHack(StrPtr(sString) - lHackDelta + (i * 2)) = bvHack(VarPtr(bArr(0)) - lHackDelta + i)
    Next i
    AltStrConv = sString
End If
 
End Function

Thanks A lot!