2010-09-15 99 views
1

我試圖神交下面的一段代碼:什麼是VBA中的&H20和&HDF?

Mid$(strV, i, 1) = Chr$(intChar And &HDF) 

是什麼&HDF意思?我也有類似的部分,使用@H20。我谷歌搜索量最高和最低,我發現的最多的是我不知道的關於它們的東西......它們是常量。

回答

2

該Visual Basic的十六進制表示法。在C/C++/Java/C#中,&HDF將被編寫爲0xDF

具體來說,在你的例子中,& HDF是二進制的1101 1111。如果0-255範圍內的數字(即0x00 - 0xFF)與0xDF進行AND運算,則0x20位將被設置爲0。如果該數字碰巧在97-122的範圍內(即ASCII中的'a' - 'z'),它會將其轉換爲範圍65-90(ASCII中的'A' - 'Z')

+0

換句話說,它可能是一種將特定小寫字母轉換爲另一個字符串中的大寫字母的非常神祕的方式。 我可能會使用UCase和LCase函數,但它們可能有一些其他函數我們沒有看到。 – KevenDenen 2010-09-15 20:37:24

+0

嗯,它是非常快的---如果你能保證它看到的唯一字符是字母。數字和標點符號破壞它(一個空格變成'Chr $(0)') – 2010-09-15 20:49:40