請問ActivX的TreeView好像不吃「功」這個字

我有個小問題,這是我剛剛才發現的,當我使用ActivX來做Treeview的時候,使用Generate Tree.vi來吃Array時,發現Generate Tree.vi不能處理「功」字。這是我剛剛忽然發現的,我不知道還有沒有其他字也是不能處理的,我想,如果這個問題不能解決的話,我以後就會盡量少使用ActivX來做Treeview,盡量改用LabVIEW內建的Tree.vi了。

附上檔案,希望有經驗的前輩能幫忙解決,究竟未什麼ActivX的Treeview不能吃「功」字。

檔案:FamilyTree.llb

我想這是windows的問題, 對中文碼還是沒有辦法完全支援
可是現在的LabVIEW又還不支援Unicode, 所以目前可能沒辦法吧
這就是常見的許功蓋問題

Benjamin38441.0171412037

請問只有許功蓋這三個字嗎?還是有其他的字呢?

還有很多, 因為這些字的Big5碼後面都是以 </strong> 結束 , 所以在一些程式上都會出現誤判, 來龍去脈我也不是很清楚, Google上可以找到很多資料
像我在使用String元件上, 我就發現有非常多的中文字使用上有bug, 上次上NI查資料, 未來的LabVIEW可以支援unicode, 到時候就可以解決這個問題了

問題出在Add Item by Path to Tree.vi裡.

在這個Vi裡有一個Match Pattern的Function,當item to add字串輸入時找出與regular expression相同的字並取後面位元的字串出來.

如果以.+\字元與輸入的item to add字元作比較,難以看出來.

但是如果將string設定成Hex的輸入型態時,就可以看出,可能是因為.+\字元的Hex為2E2B 5C,輸入的item to add的"功能"為AA5C AFE0.這二個Hex字串做Match Pattern時,會在item to add裡找到5C這個Hex字元,並且只取5C(不含)後面的字,也就是"能",所以會有這樣的情形發生.

附帶一提,中文跟英文的字元是不一樣的.

[QUOTE=yao]

我想這是windows的問題, 對中文碼還是沒有辦法完全支援
可是現在的LabVIEW又還不支援Unicode, 所以目前可能沒辦法吧
這就是常見的許功蓋問題

[/QUOTE]

這三個字裡面都有5C這個字元

B35C:

A55C:

BB5C:

我想只要裡面含有xx5C的都會有問題.

謝謝Yao跟Jimmy,這下我了解原因了。不過如果照這樣來看,目前LabVIEW裡面的Add Item by Path to Tree.vi是以「\」來判斷是幾層的child,所以一定會有這種問題,因為是要中英文比對。所以解決之道就是更改判斷幾層Child的方法,不過還是不能使用Streen Search的方式,樣想想其他方式才行。

Benjamin38441.4860416667