想问一下,双语版的软件如何实现?? 现在做了一个软件。是中文的,但老大说要英文的版本。。我想在软件中实现切换语言版本的功能,大家做过的给个方案,谢谢。。最好能有个Demo看看。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 写一个Ini文件,里面是中英文对照比如:[Memu]File=文件Edit=编辑读的时候直接取ini相应值就可以了。。 或者建资源文件建一个名为chinese.rc的文本格式文件,内容如下: STRINGTABLE BEGIN 1,"确定" 2,"取消" END 然后使用x:\delphi\bin\brcc32.exe chinese.rc生成chinese.res文件 新建一个dll工程,工程中什么都不要加,dll的全部代码如下 library mutiLang; uses SysUtils, Classes; {$R *.RES} {$R chinese.res} begin end. 编译后生成chinese.dll 再随便建一个工程用于调用该dll内的资源,如下 procedure TForm1.FormCreate(Sender: TObject); var lanDll:string; lanDllInstance:THandle; lanBuff:array[0..8] of char; begin localLan:='chinese'; lanDll:=localLan+'.dll'; lanDllInstance:=LoadLibrary(PChar(lanDll)); loadString(lanDllInstance,1,lanbuff,SizeOf(lanbuff)); btnOK.caption:=lanbuff; //确定 loadString(lanDllInstance,2,lanbuff,SizeOf(lanbuff)); btnCancel.Caption:=lanbuff; //取消 //........................ FreeLibrary(lanDllInstance); end; (转载) Delphi有相应的Demo,不过最好用控件Tag+XML方式比较方便 可以再数据库中定义以个字段或菜单描述表这样就可以做到了如果是英文版本的,就调用Engshine如果是中文的,就调用中文的菜单或字段至于怎么判断,这个可以再软件启动界面,标识下,用户可以根据自己的需要选择语言包!!!!这个方案也可以不过,好像有点繁琐 多线程:为何线程结束不了 为什么WideString在OCX作为参数传递出来是空的? 获奖了,获奖了,兄弟们去领啊!我先放分200! 散分~100!请问有没懂TTCN3的高手~或者给点信息也好~ *.bmp另存为*.JPG(有奖金) 请问什么地方有Delphi网络高级编程书籍下载? MIDAS应用程序发布问题! 请问那里有关于delphi(pascal)函数的电子书可以下载? 关于Series 请问怎样实现两个不同局域网之间机器用udp协议传送信息? adoquery可否操作内存表格? 批量修改指定文件夹的所有文件名。。。。。
比如:
[Memu]
File=文件
Edit=编辑读的时候直接取ini相应值就可以了。。
STRINGTABLE
BEGIN
1,"确定"
2,"取消"
END
然后使用x:\delphi\bin\brcc32.exe chinese.rc生成chinese.res文件
新建一个dll工程,工程中什么都不要加,dll的全部代码如下
library mutiLang;
uses
SysUtils,
Classes;
{$R *.RES}
{$R chinese.res}
begin
end.
编译后生成chinese.dll
再随便建一个工程用于调用该dll内的资源,如下
procedure TForm1.FormCreate(Sender: TObject);
var lanDll:string;
lanDllInstance:THandle;
lanBuff:array[0..8] of char;
begin
localLan:='chinese';
lanDll:=localLan+'.dll';
lanDllInstance:=LoadLibrary(PChar(lanDll));
loadString(lanDllInstance,1,lanbuff,SizeOf(lanbuff));
btnOK.caption:=lanbuff; //确定
loadString(lanDllInstance,2,lanbuff,SizeOf(lanbuff));
btnCancel.Caption:=lanbuff; //取消
//........................
FreeLibrary(lanDllInstance);
end; (转载)
这样就可以做到了
如果是英文版本的,就调用Engshine
如果是中文的,就调用中文的菜单或字段
至于怎么判断,这个可以再软件启动界面,标识下,用户可以根据自己的需要选择语言包!!!!
这个方案也可以
不过,好像有点繁琐