close
控制器中的繁體中文,其實是JIS碼,也就是日文漢字,
目前測試環境是VS2013、0i-F
之前用BCB6時能將JIS碼轉成Big5碼,但在C#卻失敗了,
研判是因為VS自己就先作了第一步處理,轉成了String (Unicode)
我在用BCB寫的時候,轉成Unicode 要先定義它是什麼碼,轉成寬字元(Unicode),對不到表的字要用什麼字元取代
但...VS怎麼知道它原本是什麼碼?或許要用舊一點的版次?
所以... cnc_rdalmhistry5 一抓下來...有些字就已經被 ? 取代了...看來只能建表了...
2019.01.24 update
目前得到一個方法,修改fwlib32.cs:
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode, Pack = 4)]
public class ALM_HIS5_data
...
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
public char[] alm_msg; /* alarm message */
使用:
Focas1.ODBAHIS5 message=new Focas1.ODBAHIS5();
short ret=Focas1.cnc_rdalmhistry5(hand, 41, 50, length, message);
在將 alm_msg 轉換格式,這部分待測試
文章標籤
全站熱搜
留言列表