关于delphi程序多语言支持的问题

关于delphi程序多语言支持的问题

ID:8923303

大小:41.50 KB

页数:11页

时间:2018-04-12

关于delphi程序多语言支持的问题_第1页
关于delphi程序多语言支持的问题_第2页
关于delphi程序多语言支持的问题_第3页
关于delphi程序多语言支持的问题_第4页
关于delphi程序多语言支持的问题_第5页
资源描述:

《关于delphi程序多语言支持的问题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、----------------仅供学习参考----------------关于DELPHI程序多语言支持的问题写DELPHI程序,是如何实现繁体化的?是如何开发英文版的?是通过外挂语言包吗?我完整地说一下我的问题:我写一个DELPHI程序,开发环境是是简体中文版本winxp系统+Delphi7的。现在想做一个繁体版本以及其他非简体中文版本的出来。此时遇到这几个问题:1、在非简体中文系统中均出现乱码或界面文字错位。2、而且语言包速度太慢了,每次启动要预读一下语言文件进行界面翻译,工程量大的时候明显感到启动速度下降了3、因为工程量比较大,逐一设置“提示内容”及“界面内容”的语

2、言包比较麻烦,所以不想用ini文件或dll资源库的语言包形式请问各位DELPHI高手你们是怎么做的?有没有一劳永逸的方法?听说DELPHI内置的多国语言功能,有没有用法帮助?还有没有其他一些好用简单强大的Unicode语言包控件?---------------------------------------------------------------------Delphi的多语言是这么用的,但是添加多语言后编译连接速度很慢,有时候10来分钟。可以把你的Delphi的窗体文件分给翻译来翻译,如果是Delphi7,需要先用Conver.exe来转换为文本格式。1、Proj

3、ect-NewApplication创建你的中文版软件。2、Project-Language-Add添加你的语言,比如美国英语(ENU)。或者File-New-Others-DllWizard3、保存后生成多个文件夹。4、Project-BuildAll5、程序目录下生成和工程文件同名的语言文件:MyExe.ENU;MyExe.CHN,软件发布需要带这些文件。6、把软件里面所有字符串定义为资源字符串。resourcestringC_AppTitle='xx管理系统';C_Error='错误';C_Warning='警告';7、在软件中用如下代码切换语言:const//定义你

4、得多语言:ENGLISH=(SUBLANG_ENGLISH_USshl10)orLANG_ENGLISH;CHINESE=(SUBLANG_CHINESE_SIMPLIFIEDshl10)orLANG_CHINESE;usesReInit;...ifLoadNewResourceModule(ENGLISH)<>0thenbeginReInitializeForms();end;更多请参考Delphi帮助,里面写得更清楚。我以前也用INI文件做多语言,感觉挺好用,Delphi带得这个多语言感觉编译起来太慢,而且总需要Build半天。利用INI文件实现界面无闪烁多语言切换程序

5、运行时,我们查找当前目录下所有的语言配置文件(*.ini),为了达到这个目的,我编写了如下的函数搜索目录下所有的语言配置文件的文件名,然后将文件名去掉ini扩展名保存返回:functionTForm1.SearchLanguagePack:TStrings;varResultStrings:TStrings;DosError:integer;SearchRec:TsearchRec;beginResultStrings:=TStringList.Create;DosError:=FindFirst(ExtractFilePath(ParamStr(0))+'*.ini',f

6、aAnyFile,SearchRec);whileDosError=0dobegin{返回的文件名并去掉末尾的.ini字符}ResultStrings.Add(ChangeFileExt(SearchRec.Name,''));DosError:=FindNext(SearchRec);end;FindClose(SearchRec);Result:=ResultStrings;end;在Form建立的事件中添加代码,将目录下所有的语言文件名加入选择列表框中。procedureTForm1.FormCreate(Sender:TObject);beginComboBox1.

7、Items.AddStrings(SearchLanguagePack);end;程序的重点在如何切换语言,在ComboBox1的OnChange事件中进行切换操作。这里我写了SetActiveLanguage过程用于实现这一操作。procedureTForm1.ComboBox1Change(Sender:TObject);beginSetActiveLanguage(ComboBox1.Text);end;其中SetActiveLanguage代码如下:procedureTForm1.SetActiveLang

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。