发新话题
打印

StrConv 常数错误

StrConv 常数错误

StrConv 常数错误

   k1 = StrConv(pngPath, vbUnicode)


当pngPath="D:\桌面水族馆\Fishes\Pack 1\BlueAFLeft.png"时就出错
其实我试了在不少盘符下都会出错,开始以为是有空格会出错,后来发现不是

后来用以下试时
   k1 = StrConv(pngPath, vbUnicode)
   k2 = StrConv(k1, vbFromUnicode)

当出错时K2必定为乱码
StrConv要如何用才不会出错啊??


对了,当盘符有中文时出错的几率高,但不是100%

[ 本帖最后由 wzqqwz 于 2006-9-5 18:23 编辑 ]

TOP

以现了罪恶的来源

只要文件夹有一个"水"字就出错

TOP

VB默认的字符串其实就是Unicode的方式存在内存中的,你对Unicode的字符串进行Unicode当然要出错,所以,不要对VB的字符串使用Unicode的方式进行转换,而要使用vbFromUnicode请使用Byte数组
例如下面的代码。

pngpath = "D:\桌面水族馆\Fishes\Pack 1\BlueAFLeft.png"
    k1 = pngpath

  Dim k2() As Byte
   k2 = StrConv(k1, vbFromUnicode)

MsgBox StrConv(k2, vbUnicode)

TOP

Call GdipLoadImageFromFile(StrConv(pngPath, vbUnicode), img)
读图正常,但文件夹有一个"水"字(别的字也还有)就出错


Call GdipLoadImageFromFile(StrConv(pngPath, vbFromUnicode), img)
就连图也读不出来了...........

TOP

发新话题