I_Love_You
一般會員
發表:18 回覆:87 積分:21 註冊:2002-07-24
發送簡訊給我
|
各位大大﹐請問哪裡可以找到有關編寫輸入法的範例﹙最好是可以
正确編譯運行﹐可以將漢字輸出到應用程序上﹐哪怕是簡單的幾個字都可以﹐
可以是BCB,DELPHI,VC 語言編寫的﹐如果有BCB版本為最好﹐其他次之﹚﹖
謝謝喔。
|
I_Love_You
一般會員
發表:18 回覆:87 積分:21 註冊:2002-07-24
發送簡訊給我
|
難道真的沒有人編寫過﹖或者沒有人看到過這樣的範例嗎﹖
BCB/Delphi/VC 都可以的﹐簡單一點不怕﹐只要他可以
正常運行編譯和安裝﹐最後可以輸出到AP上就可以﹐我
已經找了粉久﹐都沒有找到這樣的範例﹐不知道哪位好心
的朋友幫幫我吧﹐謝謝﹗﹗﹗
|
axsoft
版主
發表:681 回覆:1056 積分:969 註冊:2002-03-13
發送簡訊給我
|
這不知是否是您要的資料! 中英文輸入法的自動切換
==================================================== http://tech.sina.com.cn 2000/11/15 軟件世界 駱名群 資料來源:http://tech.sina.com.cn/s/913.html 前言: 在開發數據庫程序時,常常需要輸入中文和英文,為此,操作員不得不在兩者之間不斷切換,能不能實現中英文輸入法的自動切換呢?即在需要輸入中文的地方系統打開中文輸入法,在需要輸入英文的地方系統自動關閉中文輸入法,回到英文輸入法。本人在開發課程輸入模塊時,根據操作員的實際要求利用C Builder5實現了中英文輸入法的自動切換功能,每個操作員可以根據他的中文輸入法習慣自己定制他所習慣的中文輸入法,從而真正實現了多用戶中英文輸入法的自動切換。 程序設計思路: 每個輸入控件有兩個屬性ImeMode和ImeName,其中ImeMode表明當前的輸入法,與中國有關的幾個值分別為:imDisable, imClose, imOpen, imDontCare , imChinese。若將ImeMode屬性設置為imChinese表明此控件的輸入法為中文,而ImeName屬性則反映了是何種中文輸入法;將ImeMode設置為imClose,則可以關閉已經打開的中文輸入法,回到英文輸入法狀態。由于每個操作員的中文輸入法習慣不一樣,不能再程序中指定ImeName,所以需要在運行階段動態指定輸入控件的ImeName屬性值。 程序實現: C Builder有一全局變量Screen,其屬性Ime反映的系統的輸入法。程序中首先獲取系統安裝的輸入法,用戶根據他的喜好選擇他所喜歡的中文輸入法,將用戶的選擇寫入一INI文件中。在需要切換到中文輸入的地方從此INI文件讀取數據,瓶將此值賦給輸入控件的ImeName,從而實現了動態指定ImeName。 n 新建一Form,命名為Form_IME,在Form_IME上放一ComBox控件ComBox1用來獲取系統的輸入法,再拖兩個Button控件Button1和Button2,設置其Caption屬性分別為"修改"和"關閉"。 程序源代碼如下: //--------------------------------------------------------------------------- #include #pragma hdrstop #include "Ime.h" #include #include "dm.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma link "StatusBarEx" #pragma resource "*.dfm" TForm_IME *Form_IME; //--------------------------------------------------------------------------- __fastcall TForm_IME::TForm_IME(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm_IME::FormShow(TObject *Sender) { //獲取系統的輸入法,並賦給ComBox1->Items ComboBox1->Items->Assign(Screen->Imes); //打開ImeSetup.ini文件,若不存在,則自動創建此文件---- TIniFile *pIniFile = new TIniFile(ExtractFilePath(Application->ExeName) "ImeSetup.ini"); //讀取以前保存的輸入法名稱,將顯示在ComBox1框中 ComboBox1->Text=pIniFile->ReadString("IME", "Chinese", ""); delete pIniFile; } //--------------------------------------------------------------------------- void __fastcall TForm_IME::FormClose(TObject *Sender, TCloseAction &Action) { Action=caFree; //退出時自動釋放Form所占的內存空間 } //--------------------------------------------------------------------------- void __fastcall TForm_IME::Button2Click(TObject *Sender) { Close(); } //--------------------------------------------------------------------------- void __fastcall TForm_IME::Button1Click(TObject *Sender) { //若用戶重新指定輸入法,將選擇的輸入法重新寫回到ImeSetup.ini文件 TIniFile *pIniFile = new TIniFile(ExtractFilePath(Application->ExeName) "ImeSetup.ini"); pIniFile->WriteString("IME", "Chinese", ComboBox1->Text); delete pIniFile; //同時將所選擇的輸入法賦給數據模塊DM1中的CHImeName變量 DM1->CHImeName=ComboBox1->Text; //顯示中文提示框,表明默認中文輸入法修改成功 MessageBoxEx(Handle,"默認中文輸入法修改成功", this->Caption.c_str(),MB_ICONINFORMATION MB_OK,0x0404); } //--------------------------------------------------------------------------- n 在數據模塊的構造函數中讀取ImeSetup.ini文件,將用戶選擇的輸入法賦給CHImeName變量 __fastcall TDM1::TDM1(TComponent* Owner) : TDataModule(Owner) { //---- 讀取默認中文輸入法----- TIniFile *pIniFile = new TIniFile(ExtractFilePath(Application->ExeName) "ImeSetup.ini"); CHImeName=pIniFile->ReadString("IME", "Chinese", ""); delete pIniFile; } //----------------------------------------- n 在課程輸入模塊中,在FormShow()事件中指定輸入控件的中文輸入法,其它需要輸入英文的控件在設計階段可指定其ImeMode=imClose; //---指定課程名稱默認中文輸入法----- void __fastcall TCourseForm::FormShow(TObject *Sender) { DBEdit2->ImeName=DM1->CHImeName; DBGrid1->Columns->Items[1]->ImeName=DM1->CHImeName; } //-----------------------------------------------------
其它的輸入模塊中需要用到中文輸入的地方都可使用此種方法,簡單實用 編譯運行程序,感受一下中英文輸入法的自動切換感覺吧!
時間就是金錢--- [ 發問前請先找找舊文章] 發表人 - axsoft 於 2002/08/02 15:57:34
|
axsoft
版主
發表:681 回覆:1056 積分:969 註冊:2002-03-13
發送簡訊給我
|
這裡還有一些輸入法的 VC++源碼! http://www.programsalon.com/download.asp?type_id=11
時間就是金錢--- [ 發問前請先找找舊文章]
|
axsoft
版主
發表:681 回覆:1056 積分:969 註冊:2002-03-13
發送簡訊給我
|
1. 倉頡輸入法原始碼 http://www.chinesecj.com/newsoftware/index2.php?Type=code 2. 倉頡輸入法與字形產生器 http://www.cbflabs.com/book/gif_cg/gif_cg.htm 下載:http://www.cbflabs.com/book/gif_cg/gif_cg.zip ◎簡介: 本篇文章原載熱訊雜誌(現已停刊),其目錄如下: 一、緣由
二、話說當年
三、中文電腦的文字因素
四、基本字形的分類整理
五、第五代倉頡輸入法概述
六、字形產生器的規劃
七、字形產生器的內部規格
八、技術條件的要求
九、字形產生器結構圖
十、字形產生器技術說明
1.功能要求
2.參數設定
3.倉頡碼索引
4.結合處理
5.資料結構
6.字形分類
7.程式處理
時間就是金錢--- [ 發問前請先找找舊文章] 發表人 - axsoft 於 2002/08/02 16:44:37
|
axsoft
版主
發表:681 回覆:1056 積分:969 註冊:2002-03-13
發送簡訊給我
|
最後一篇 微軟 MSDN中的IME DDK 用法
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/appendix/hh/appendix/imeimes2_35ph.asp 1.What's new in Windows 98/Windows 2000 IMM/IME 2.Win32 Multilingual IME Overview for IME Development 3.Win32 Multilingual IME Application Programming Interface
4.Input Method Editor (IME) 還有其他相關的
http://search.microsoft.com/default.asp?qu=ime+ddk&boolean=ALL&nq=NEW&so=RECCNT&ig=01&ig=02&ig=03&ig=04&ig=05&ig=06&ig=07&ig=08&ig=09&ig=10&i=00&i=01&i=02&i=03&i=04&i=05&i=06&i=07&i=08&i=09&siteid=us
時間就是金錢--- [ 發問前請先找找舊文章]
|
I_Love_You
一般會員
發表:18 回覆:87 積分:21 註冊:2002-07-24
發送簡訊給我
|
axsoft版主﹐當我看到上面的連接後﹐我有點哽嚥了﹐非常的激動﹐万分的感謝﹗﹗﹗
|
axsoft
版主
發表:681 回覆:1056 積分:969 註冊:2002-03-13
發送簡訊給我
|
引言:
axsoft版主﹐當我看到上面的連接後﹐我有點哽嚥了﹐非常的激動﹐万分的感謝﹗﹗﹗
希望您有空時也能將您對BCB/delphi的了解介紹給大家!
時間就是金錢---[ 發問前請先找找舊文章]
|
I_Love_You
一般會員
發表:18 回覆:87 積分:21 註冊:2002-07-24
發送簡訊給我
|
|