全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:3878
推到 Plurk!
推到 Facebook!

CVCODE Not Work within Delphixe6 X64?

答題得分者是:mypigbaby
jimmywu
一般會員


發表:41
回覆:37
積分:15
註冊:2006-12-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2014-06-07 15:10:23 IP:175.182.xxx.xxx 訂閱
Dear Sir:
簡繁轉換CVCODE.PAS好用FreeWare到了Delphi xe6 64 Bit,再也無法將繁體轉成簡體
Trace發現,DBCS以前為2個CHAR,現在為1個char還有Ord(value[])也無法傳回正確值,
(isBig5,isGB,Big5toGB,GBtoBIG5都不work了,作業環境:Windows8.1 X64)
請問先進們有可用的新版程式嗎?
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#2 引用回覆 回覆 發表時間:2014-06-08 00:49:26 IP:118.169.xxx.xxx 未訂閱
發言請留意主題與版區
jimmywu
一般會員


發表:41
回覆:37
積分:15
註冊:2006-12-12

發送簡訊給我
#3 引用回覆 回覆 發表時間:2014-06-08 12:48:32 IP:175.182.xxx.xxx 訂閱
您好:

這不適合在資料庫討論嗎?請問在那個分類討論較洽當呢?
ThankS!
===================引 用 P.D. 文 章===================
發言請留意主題與版區
mypigbaby
高階會員


發表:11
回覆:168
積分:155
註冊:2006-07-20

發送簡訊給我
#4 引用回覆 回覆 發表時間:2014-06-08 13:03:20 IP:175.181.xxx.xxx 訂閱
在XE6
如果只是要簡繁轉換
下面那二個函數就可以了

[code delphi]

function Cn2Big(CnStr: string): string;
var
Len: Integer;
begin
Len := Length(CnStr);
SetLength(Result, Len);
LCMapString(GetUserDefaultLCID, LCMAP_TRADITIONAL_CHINESE, PChar(CnStr), Len, PChar(Result), Len);
end;

function BIG2cn(bigStr: string): string;
var
Len: Integer;
begin
Len := Length(bigStr);
SetLength(Result, Len);
LCMapString(GetUserDefaultLCID, LCMAP_SIMPLIFIED_CHINESE, PChar(bigStr), Len, PChar(Result), Len);
end;
[/code]


===================引 用 jimmywu 文 章===================
Dear Sir:
簡繁轉換CVCODE.PAS好用FreeWare到了Delphi xe6 64 Bit,再也無法將繁體轉成簡體
Trace發現,DBCS以前為2個CHAR,現在為1個char還有Ord(value[])也無法傳回正確值,
(isBig5,isGB,Big5toGB,GBtoBIG5都不work了,作業環境:Windows8.1 X64)
請問先進們有可用的新版程式嗎?
mypigbaby
高階會員


發表:11
回覆:168
積分:155
註冊:2006-07-20

發送簡訊給我
#5 引用回覆 回覆 發表時間:2014-06-08 13:10:50 IP:175.181.xxx.xxx 訂閱
剛查到的
如果要判斷目前用的語言

[code delphi]
function IsChnSimplifyWindows(var iType: Integer): Boolean;
var
  LangID: Integer;
begin
  LangID := GetSystemDefaultLangID;
  Result := False;
  iType := -1;
  //ShowMessage(Languages.NameFromLocaleID[LangID]);
  if LangID = ((SUBLANG_CHINESE_SIMPLIFIED shl 10) or LANG_CHINESE) then
  begin
    iType := 0;  //简体
    Result := True;
    Exit;
  end;
  if LangID = ((SUBLANG_CHINESE_TRADITIONAL shl 10) or LANG_CHINESE) then
  begin
    iType := 1;  //繁体
    Exit;
  end;
  if LangID = ((SUBLANG_ENGLISH_US shl 10) or LANG_ENGLISH) then
  begin
    iType := 2;  //English
    Exit;
  end;  
end;    
[/code]


===================引 用 mypigbaby 文 章===================
在XE6
如果只是要簡繁轉換
下面那二個函數就可以了

[code delphi]

function Cn2Big(CnStr: string): string;
var
Len: Integer;
begin
Len := Length(CnStr);
SetLength(Result, Len);
LCMapString(GetUserDefaultLCID, LCMAP_TRADITIONAL_CHINESE, PChar(CnStr), Len, PChar(Result), Len);
end;

function BIG2cn(bigStr: string): string;
var
Len: Integer;
begin
Len := Length(bigStr);
SetLength(Result, Len);
LCMapString(GetUserDefaultLCID, LCMAP_SIMPLIFIED_CHINESE, PChar(bigStr), Len, PChar(Result), Len);
end;
[/code]


===================引 用 jimmywu 文 章===================
Dear Sir:
簡繁轉換CVCODE.PAS好用FreeWare到了Delphi xe6 64 Bit,再也無法將繁體轉成簡體
Trace發現,DBCS以前為2個CHAR,現在為1個char還有Ord(value[])也無法傳回正確值,
(isBig5,isGB,Big5toGB,GBtoBIG5都不work了,作業環境:Windows8.1 X64)
請問先進們有可用的新版程式嗎?
編輯記錄
mypigbaby 重新編輯於 2014-06-08 13:21:08, 註解 無‧
jimmywu
一般會員


發表:41
回覆:37
積分:15
註冊:2006-12-12

發送簡訊給我
#6 引用回覆 回覆 發表時間:2014-06-08 14:45:45 IP:175.182.xxx.xxx 訂閱
非常感謝mypigbaby大大的幫助,看來以前很多的繁轉簡報表有救了
Thanks!
系統時間:2024-04-18 21:29:51
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!