2012-12-29 58 views
-1

我需要在網格單元格中顯示的字符串內指定一個分界符。爲什麼Win 7中不顯示ASCII字符144?

我的代碼當前使用Chr(144)這是一個小矩形。

這項工作在XP,但符號不顯示在Win 7。它只是不顯示任何內容Debug.Print "#" & Chr(144) & "#"將只顯示##

爲什麼Win 7中不顯示字符?

+0

這不是一個ASCII字符,他們只從0-127,見http://en.wikipedia.org/wiki/ASCII。 – PeterJ

+0

正方形通常表示顯示的字體不包含該值的圖像。 Chr 144擴展ascii不是一個盒子http://www.theasciicode.com.ar/extended-ascii-code/capital-letter-e-acute-accent-e-acute-uppercase-ascii-code-144.html – Paxic

回答

2

沒有ASCII字符144.ASCII只能運行到127.
所以你的意思是Windows-1252字符144?這恰好是一個未分配的字符。 (見character map)。

因此,系統打印一個不存在的字符的符號,這恰好是XP機器上使用的字體的矩形,而Win 7機器上的字體沒有。

要顯示一個合適的矩形,請看看Unicode區域U+25A0..U+25FF中的幾何形狀。 U + 25AF看起來像是你想要的。

編輯
我看到你使用VB.Net了,所以忘了ASCII和Windows 1252。 VB.NET在內部使用UTF-16,因此您不必擔心無法顯示某個Unicode代碼點。只寫chr(&H25AF)

+0

什麼是VB6中的矩形? – CJ7

+0

我從來沒有使用VB6,所以我不知道如何在那裏顯示那些更高的Unicode字符。 'ChrW'會起作用嗎? –