现在要做一个多语言支持的程序,delphi自带的好像不是很好用--在日文系统下出现乱码!而且这个程序的设计过程中又不可以使用第三方控件,所以想用不同的图片显示。问题如下:
在delphi中怎样判断当前操作系统是语言是什么?
判断出是什么语言语言后怎样显示不同图片?
不知各位大侠还有什么其它更好的方法,在下愿闻其详。(分不够可以再加!)
在delphi中怎样判断当前操作系统是语言是什么?
判断出是什么语言语言后怎样显示不同图片?
不知各位大侠还有什么其它更好的方法,在下愿闻其详。(分不够可以再加!)
http://www.tonixsoft.com/index.php?mmenu_id=4&smenu_id=0000根据不同语言加载不同图片可以用这样:
try
Image1.Picture.Bitmap.LoadFromResourceName(hInstance,Translate('image','image_eng'));
except
Image1.Picture.Bitmap.LoadFromResourceName(hInstance,'image_eng');
end;translate是多国语言包提供的函数,通过它,到当前使用的语言配置文件下去找"image"的具体内容,如果没有找到就使用默认的"image_eng",找到的话,如"image_jpn",就到文件的资源中去尝试打开这个资源。
谢谢to tonylk(tony):
谢谢
这个控件我下载了,但是我们这不让用第三方控件:(
有没有可以编写一个函数判断当前操作系统是是什么语言的方法?
function WhichLanguage:string;
var
ID:LangID;
Language: array [0..100] of char;
begin
ID:=GetSystemDefaultLangID;
VerLanguageName(ID,Language,100);
Result:=String(Language);
end;第二个问题,你自己去处理。
判断语言使用 getacp ,
切换语言时注意 Form 的 Font.name and Form.Charset ,要作更改的
var
I: Integer;
begin
Memo1.Clear;
for I := 0 to Languages.Count - 1 do
Memo1.Lines.Add(Languages.Name[I]);
end;
可以把问题说得再细致一点吗?谢谢!
http://expert.csdn.net/Expert/topic/2280/2280918.xml?temp=.6710016
-----------------------------------------------------------------
回复:
使用GetACP得到CodePage之后可以得知操作系统使用的语言,具体请看MSDN :
http://msdn.microsoft.com/library/default.asp?url=/workshop/Author/dhtml/reference/charsets/charset4.asp
可以把问题说得再细致一点吗?谢谢!
http://expert.csdn.net/Expert/topic/2280/2280918.xml?temp=.6710016
------------------------------------------------------------------
回复:
我给你的那个msdn的网址中那个页面有个很大的表。
在该表中codepage不一样,但是FamilyCodepage一样的都是同一种语言。 我给你一小段代码你就明白了case GetACP of
936,51936,52936,10008,50935:
//是简体中文
font.name='simsun';
950,20000,20002,10002,50937:
//是繁体中文
font.name='mingliu';
end;
非常感谢,明白了。
其它的我在试试看。
下载 http://www.1bitsoft.com/downloads/mlxdemo1_1.zip
可以与作者[email protected]联系 QQ 12821922
正在征集测试用户,你可以得到一份正版的许可