国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Delphi > 正文

"Delphi之完全漢語"終結版

2019-11-18 19:00:31
字體:
來源:轉載
供稿:網友
"Delphi之完全漢語"終結版(已于“家用電腦”37期發表,新瓶舊醋請諒解!)

西安      梁  明


--------------------------------------------------------------------------------

本人在寫此段文章前曾有這樣一個骯臟的念頭:絕對不能把這一招"漏給"別人!但是,良心馬上告訴我,絕對不能有如此的想法!于是立刻把她寫下來,既算是對上次那篇"Delphi之完全漢語"文章的補充,又算是對自己良心的報答吧!


現在切入正題:大家知道,我們在處理Delphi自身的消息時(我這里指的是包括Delphi系統對話框、異常提示等所有來自Delphi自身的消息),一般采取的辦法是"走在Delphi的前面",或是屏蔽掉系統的作用,從而用我們自己的方式處理,以期達到為用戶提供純漢語環境的目的.然而,這一切只能憑借程序員的已有經驗來主觀預測!由于系統的復雜性以及我們自身的水平所限,這樣作的結果難免會顧此失彼,也許隨時可能發生的問題都處理得不徹底甚至根本就未處理.試想:在用戶使用過程中冒出一些英文的提示,你的程序的"檔次"是不是將大打折扣?

因此,我們還必須去尋找更加理想更加徹底的方法,至少,當讓程序出現Bug時,普通用戶能看懂提示(可不是讓你為所欲為與噢).幸好,經過筆者這一陣的反復試驗,已經找到另一個萬全之策.下面就請聽我一一道來(僅限于你的Delphi版本有VCL的源代碼--即專業版或企業版):


0.備份Delphi的VCL源代碼(所在目錄一般為"X:PRogram FilesBorlandDelphi4SourceVcl").當然,根據需要,僅備份我們需要修改的幾個文件也可;


1.在Delphi環境下打開VCL目錄下的BdeConst.pas,Consts.pas,BdeConst.pas,DbConsts.pas,midconst.pas,mxConsts.pas,OleConst.pas,WebConst.pas等單元文件,這些單元文件定
義了Delphi用到的常量;


2.把Delphi自己定義的字符串常量"翻譯"成我們偉大的母語--漢語;


3."翻譯"工作完成后,按原文件名保存;


4.現在就來試試我們的成果,新建一個工程,故意編寫一些會出現系統提示的代碼,并在編譯前,到Delphi的Project Options對話框的Directories/Conditionals頁的Search Path選項下,添加搜索路徑(也即剛才我們修改常量單元所在的目錄),確定后退出;


5.就觀看你的英語翻譯水平吧!

注意:
①如果你的版本為Delphi 3的話,以上的路徑作相應的變化,且Project Options對話框的Directories/Conditionals為Directories;
②對編譯條件的該動只對此工程有效,新建工程后需重新設置.如果你希望一勞永逸的話,請隨我來:
運行Windows注冊表編輯程序Regedit.exe,打開HKEY_CURRENT_USER->Software->Borland->Delphi->4.0->Library,在其中一為"Search path"的串值中加入"$(DELPHI)SourceVCL".Ok,目的達到!


以下是筆者修改Consts.pas單元文件中函數MessageDlg的常量后用該函數發送的消息.這次,我們看到的再也不是半"英"半陽的消息框了.怎么樣,夠靚吧?
...
Begin
MessageDlg('感覺如何?'+#13#10#13#10+
'我這里即是把"SMsgDlgInformation"翻譯為'消息';'+#13#10+
'把"SOKButton"翻譯為'確定'而得到的結果!',
mtInformation,[mbok],0);
End;
...
****此處插入圖4****

上面的動作是不是太老實了一點?!其實,我們完全可以根據自己的意愿來定制這些常量(只要Inprise同意),使其達到一種的特殊效果,比如,我們可以將"SMsgDlgInformation"翻譯為你的軟件標題或自己的工作室名稱等等,如此一來,你的非凡個性將展示無遺!

有關Delphi"完全漢語"方面的經驗、技巧筆者就打算介紹這么多(等我手上的這兩個程序有交待后我會把這一整套東東放在我的個人主頁上,到時請去Down吧).當然,冠以"完全漢語"實令我臉紅,但本人多么希望Inprise公司早點結束我們"羨慕"VB程序員的時代!


現在還有一些問題,例如:Delphi的環境是英文的,報表預覽的提示及按鈕也是英文的等等.對于第一個問題,我個人認為倒沒有多大必要,因為沒有哪一個程序員連菜單都看不懂的,我們努力的目標是用戶;對于第二個問題也有辦法解決,在此本不應該涉及此話題,但我在網上看到有很多人在問這個問題,因此也在此略談一下,作為這個話題的結尾吧:

①按照要求制訂好QuickRep的內容;
②仿照QuickRep的預覽模式或自己定制QRPreview;
③在QuickRep的OnPreview事件中將QuickRep的QRPrinter賦值給QRPreview的QRPrinter
(如QRPreview1.QRPrinter:=Quickrep1.QRPrinter;)即可讓QRPreview取代QuickRep
的預覽模式了.


版主:梁明
日期:1999-03-01
E-mail:delphifan@990.net

上一篇:Delphi開發經驗四則

下一篇:用Delphi開發屏幕保護預覽程序

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

主站蜘蛛池模板: 内江市| 岚皋县| 潮州市| 攀枝花市| 西吉县| 阜新市| 河北省| 沙湾县| 白玉县| 于田县| 江北区| 大石桥市| 永州市| 翁源县| 沾益县| 阿尔山市| 富源县| 定日县| 白玉县| 祁门县| 山丹县| 紫阳县| 弥勒县| 肇东市| 古丈县| 宁阳县| 岢岚县| 新化县| 富顺县| 聊城市| 韩城市| 许昌县| 中卫市| 丰原市| 安泽县| 曲阜市| 项城市| 江口县| 山丹县| 辽宁省| 保康县|