delphi中国(Delphi怎样支持多国语言)

本文目录
- Delphi怎样支持多国语言
- 汽车上delphi是什么意思
- delphi目前是那个公司的关于delphi的前景
- 现在用delphi作中国式报表,什么控件最好用
- Delphi的用途是什么有什么特点
- delphi为什么没落了
- delphi7中国官网
- delphi 价格谁知道
Delphi怎样支持多国语言
Delphi的多语言是这么用的,但是添加多语言后编译连接速度很慢,有时候10来分钟。
可以把你的Delphi的窗体文件分给翻译来翻译,如果是Delphi7,需要先用Conver.exe来转换为文本格式。
1、Project-New Application 创建你的中文版软件。
2、Project-Language-Add 添加你的语言,比如美国英语(ENU)。或者File-New-Others-Dll Wizard
3、保存后生成多个文件夹。
4、Project-Build All
5、程序目录下生成和工程文件同名的语言文件:MyExe.ENU;MyExe.CHN,软件发布需要带这些文件。
6、把软件里面所有字符串定义为资源字符串。
resourcestring
C_AppTitle = ’xx管理系统’;
C_Error = ’错误’;
C_Warning = ’警告’;
7、在软件中用如下代码切换语言:
const
//定义你的多语言:
ENGLISH = (SUBLANG_ENGLISH_US shl 10) or LANG_ENGLISH;
CHINESE = (SUBLANG_CHINESE_SIMPLIFIED shl 10) or LANG_CHINESE;
uses
ReInit;
...
if LoadNewResourceModule(ENGLISH) 《》 0 then
begin
ReInitializeForms();
end;
更多请参考Delphi帮助,里面写得更清楚。
其实感觉最好还是用INI文件
把所有语言条目提取出来记录,并且将INI翻译成多份(多种语言),程序启动时从INI文件中加载语言。
CSDN上有介绍用TLMPack的,你也可以尝试一下:
1。在Delphi(或BCB)中安装TLMPack标准版,关于如何安装帮助文件中有比较详细的说明了,这里不在累述了。(当然安装标准版的前提是你使用标准的AnsiVCL控件来开发的程序,如果你使用TntUnicode控件来开发程序,那么相对应,必须使用Unicode版的TLMPack)。
2。打开你需要升级成多国语言的工程,在每一个Form(以及QReport,Module等)上放置一个TtlmController控件,这个控件的作用是自动改变其所在Form上所有控件的显示文字,一般情况下只需要将该控件放置在Form上就可以了,不需要作任何设置。
3。Form上的控件现在已经可以自己根据语言设置的变换而自动更新了,那么像MessageBox()这样的函数中显示的文字怎么办呢,答案是使用TtlmController的Translate()函数,这个函数可以自动到当前使用的语言文件中取得文字资源然后作为返回值返回出来,假设已有一段函数是这样的:
代码:
procedure TForm1.Button1Click(Sender:TObject);
begin
MessageBox(Handle, PChar(’Say hello to the user!’), ’Message’, MB_ICONINFORMATION);
end;
那么你需要将文字的部分使用Translate函数包装起来,包装后就像这样:
代码:
procedure TForm1.Button1Click(Sender:TObject);
begin
MessageBox(Handle, PChar(tlmController1.Translate(’SayHello’, ’Say hello to the user!’)), ’Message’, MB_ICONINFORMATION);
end;
前面的‘SayHello’是对文字的标识,通过这个标识程序才能从语言文件中找到正确的资源,后面的文字作用是当语言文件中不存在需要寻找的资源(或者语言文件不存在时),该函数默认所返回的内容。
另外,Translate函数还支持同Format()函数一样的参数显示,如这样:
代码:
procedure TForm1.Button1Click(Sender:TObject);
begin
MessageBox(Handle, PChar(tlmController1.Translate(’ComponentCount’, ’ComponentCount = %d’, )), ’Message’, MB_ICONINFORMATION);
end;
4。以上的MessageBox()函数是出现在Form中的,并且该Form中已经有TtlmController控件了,所以才可以使用TtlmController的Translate()函数进行文字的转换,那么如果你的工程中有一个直接从TObject继承而来的功能类,它也需要显示Message,或者需要记载Log文字等,这时候该怎么办呢,最简单的方法是让这个功能类去调用某个Form中的TtlmController的Translate()函数,但是这样的缺点是程序可能需要为此做较大的改动,另外语言文件中的文字也将变得混乱不堪。那么这个时候最好的解决方案就是使用TtlmObject类,该类同TtlmController类一样,也有Translate函数可以使用,但是区别是它不会侦测所在Form的所有控件,不会对它们进行自动转换。
以下这个类是个小型的功能类。
代码:
interface
uses
....;
type
TFunctionClass = class(TObject)
public
procedure ShowMessage();
end;
impenmentation
procedure TFunctionClass.ShowMessage();
begin
ShowMessage(nil, ’Say hello to the user!’, ’Message‘, MB_ICONINFORMATION);
end;
end.
使用TtlmObject类后,该类被改造为:
代码:
interface
uses
...., TLMObject;
type
TFunctionClass = class(TObject)
private
FtlmObject:TtlmObject;
public
constructor Create();
destructor Destroy();override;
procedure ShowMessage();
end;
impenmentation
constructor TFunctionClass.Create();
begin
inherited Create();
FtlmObject:=TtlmObject.Create(self);
end;
destructor TFunctionClass.Destroy();
begin
FtlmObject.Free;
inherited Destroy();
end;
procedure TFunctionClass.ShowMessage();
begin
MessageBox(Handle, PChar(tlmController1.Translate(’ComponentCount’, ’ComponentCount = %d’, )), ’Message’, MB_ICONINFORMATION);
end;
end.
这样每当使用该功能类中需要文字显示的函数时,真正使用的文字就是语言文件中记载的内容了。
5。TLMPack是从外部语言文件来加载语言文字的,由于完全手工写一个语言文件是一件比较枯燥的事,所以你可以使用向导控件来由程序,如果你打算自己手工来撰写一个语言文件,那么可以忽略该小节。
所谓的向导控件是指:TtlmIniGenerator和TtlmXmlGenerator这两个控件,它们会在程序运行时,将所有原本需要TtlmController和TtlmObject读取的文字,反向输出到语言文件中,你所要做的就是在程序的主窗体上放置一个TtlmIniGenerator(这里假设你要输出的是Ini格式的语言文件):
汽车上delphi是什么意思
汽车上delphi是美国德尔福公司。以下是相关介绍:1、由来:德尔福派克电气公司成立于1890年总部设在美国俄亥俄州沃伦是全球最大的汽车线束系统制造厂商世界500强企业。目前该公司几乎为国内所有主要整车制造商供货包括一汽大众、通用汽车、上海大众、东风日产、奇瑞等。2、发展:1994以后德尔福在中国以年均24%的增长率快速前进去年德尔福在中国合并报表收入超过6亿美元中国市场始终是德尔福非常重要的增长点。德尔福还与清华大学合作于1996年在北京建立了德尔福-清华研究所。
delphi目前是那个公司的关于delphi的前景
2008年的时候,Borland公司把Delphi出售给Embarcadero(易博龙技术公司)。
微软有VB,尤其当微软拥有Delphi3的主设计师之后VB得到巨大的提升,不见得对Delphi感兴趣。
Delphi曾因为刚昂的价格造成市场占有率急剧下跌,之后又有一系列的波折。目前中国市场上的Delphi开发者主要是其鼎盛时期培养的爱好者,之后由于缺乏使用者—缺乏相关研究—缺乏相关市场—缺乏相关资料—缺乏相关教育—缺乏使用者的怪圈导致新的Delphi开发者日益减少。
感觉Delphi曾经迷失过,它的精髓不是一个什么IDE,而是RAD。如果Delphi依然可以保持其RAD的领先发展,那么应该不会,起码短期不会发生被淘汰的悲剧。如果沉迷于IDE的拓展,也许他可以支持.NET可以支持JAVA可以支持C#,但却难以避免精彩的Delphi Pascal的凋零。举个例子:Delphi的打印支持依旧是若干版本之前的老样子,对相关API的封装一点没有进步……
从国际市场来看Delphi依然是最赚钱的工具之一,其他工具两周可以完成的工程,大概Delphi只要三天;而Delphi组件也存在相当大的市场。但在国内,无论Delphi是否淘汰,重要的是你先要找到一家使用Delphi做开发的公司,或者你有资格向你的老板证明Delphi能给他带来更大的收益。
现在用delphi作中国式报表,什么控件最好用
如果只用在Windows平台下做报表开发,其实 ActiveReports就足够了,这款报表产品主打的就是中国式复杂多表头开发,其中在线报表设计器和矩表矩阵专为中国复杂的数据钻取和分析而设计。
此外,通过ActiveReports支持的免费报表模板库,也可以参考,里面都是来自真实从业人员设计的交互式报表模板。
以下是ActiveReports介绍:
ActiveReports 是一款专注于 .NET 平台的报表控件,全面满足 HTML5 / WinForm / ASP.NET / ASP.NET MVC / WPF 等平台下报表设计和报表开发工作需求,作为专业的报表开发工具为全球超过 300,000 开发人员提供了全面的报表开发服务。
使用 ActiveReports 报表设计器,用户可轻松设计如 Excel 表格、Word 文档、Chart 图表、Dashboard 大屏等常见类型报表,并将数据以丰富灵活的可视化图表方式呈现给最终用户。同时,ActiveReports 报表控件在运行时还为最终用户提供数据筛选、排序、钻取、表达式跳转等强大的报表交互分析能力,无需修改代码即可满足用户在不同场景下的报表需求,从而提高开发效率,加速项目交付。
Delphi的用途是什么有什么特点
delphi是一个很好的开发工具,无论界面设计以及对多层数据库系统的支持都没的说,不过缺点是对web的支持不太好(我是指网页网站设计,不是说socket)。不过做过几年开发的软件工程师都知道,在整个语软件开发过程中语言只是个实现方式,更重要的是对整个软件架构的设计(我说的这个架构包含范围较广,比如说数据库设计等等)。
具体谈到该学那种语言,这就要看实际情况了,如果你想向B/S方向发展,建议学java或.net或者PHP,如果想向和底层联系较多的方向发展,建议学习C++。如果是做mis,erp,oa等(包括一些分布式系统)delphi绝对是首选。而且delphi对系统编程的支持也不错。
常常听一些老一点的软件工程师这样说(软件工龄在10年以上,或十年前做软件现在不做,呵呵,有点啰嗦),delphi是吉普车,什么地方都能跑,什么地方都跑不好,其实这是历史原因,96,97年的D2和D3被全世界程序员疯狂的推崇,但是D4却出现了很多Bug,导致了delphi市场的下降(包括中国市场),也就是这个原因使得当时的一些程序员觉得delphi已经不好用 了。但是到了d6,D7的出现delphi技术已趋成熟,现在的delphi根本不存在他们口中所说的那些bug。
delphi为什么没落了
原因可以写很多条,我认为主要的有:
1、经营理念迷失
Delphi7成为巅峰之后,经营理念出现了问题,企业迷失,不仅如此,技术受漠视,Delphi之父Anders Hejlsberg受到排挤,而微软大力挖角,Anders Hejlsberg成为了C#之父。
2、技术路线迷失
这也与第1条有关,C/S时代成功,但Web时代Delphi迟迟未见行动。曾经花了很多气力试图进入Linux,可是直到kylix发展到第三版,borland才明白:内置C编译器环境并与之关系紧密的免费OS,没有人愿意花钱去购买一款开发工具为它开发应用。
即使到今天,Delphi的Web的直接开发是IntraWeb,这个东西是收购AtoZ公司的,设计风格就与Borland不同,也并不好用,没见哪个稍正规网站用这个东西开发。
数据库的Web环境,目前是DataSnap技术,这也是到Delphi2010才将Datasnap重构,变得适合Web,动作太慢了。
技术路线迷失还表现在对.net平台上,Borland甚至专门开发了for .net的Delphi产品,而win32上,Delphi已运行得极好,真不知Borland当时是怎么想的。
一直到2010年左右,Delphi才算走到正路上:重构Datasnap技术,全面支持Web,新的Datasnap更易用,并且不再依赖Windows,只要有tcp/ip就可以使用,连Http都不是必需。
另一方面用Delphi XE将移动平台纳入,到XE7之后,移动开发基本成熟好用了。
不过,这已经太晚了,晚了10年。
3、仍然是经营理念的问题
Interbase你听说过吗?其历史与DB2一样悠久,比My SQL和MS SQL Server都早得多,优秀的数据库,但是其市场占有率几乎为零。Interbase为什么没人用?思考这个问题的同时,再回味Delphi的没落,能发现很多相同点。
直到今天,你如果想用Interbase仍然十分困难,需要破解,而Interbase使用得人是如此之少,少得让人没兴趣破解。连彻底免费的Fire Bird都没什么人用。这与当年的Borland公司没有关系?
微软为了推行Win10,提升占有率,全力免费,即使如此,仍然效果不佳,微软的SQL Server收费,但仍然有免费的express,而Borland的行动正好相反。
4、无视对潜在开发大众的培养
Borland当年打击盗版积极,结果有些企业买一套Delphi7,一直到今天仍然只用D7,或者用其它软件开发,对Delphi平台尽量回避。
现在至少在中国,使用Delphi的已极少,组建使用Delphi开发团队的难度就太大了,相比之下,组建Java和C#团队就容易得多。
delphi7中国官网
中国没有官网,这个东西在中国没有公司,也没有中文版,更没有中文帮助文档。
Delphi原来的东家是Borland,后来,几经转手,已经卖给embarcadero(易博龙)了。也不存在中国官网,只有纯英文的网站,你搜索embarcadero就能找到的。
delphi 价格谁知道
是的,Borland已经被Embarcadero收购了。
目前中国大陆只针对企业出售企业版,并且随产品会有注册卡,要把注册卡填好寄回给中国代表处才能得到正版授权书。
价格大概在38800左右,Delphi和C++Builder的价格一样!
至于正版软件的经销商,楼主可以去官网上查一下!
但应该是分区域分行业的,国外软件在中国只要是发展代理商的,都会有一定的规定。
还有,现在厂商多以打盗版的方式促进销售,一般被列入厂商盗版名单的用户,可能买软件的时候价格稍微高一些,哪个厂商都如此啦……
所以,希望你们不是被打盗版的,哈哈……
不知道解答的够不够详细。
如果楼主需要详细的报价,我可以给你介绍个朋友,你可以单独信息我!
或者你直接找“中科伟博(北京)科技有限公司”的负责这条产品线的人。

更多文章:
重庆电力公司官网(国网重庆市电力公司超高压分公司电话是多少)
2026年1月16日 11:00
华晨宝马最便宜的一款(宝马系列最便宜的车是哪款这款车耐开吗)
2026年3月19日 13:45
吉林省人才市场招聘时间安排(长春市都周几有人才市场具体位置在那)
2026年2月5日 07:00
赶集网二手房出售信息(赶集网二手房买卖中介陷阱二手房买卖有哪些细节问题)
2025年6月17日 18:50
荆州家居建材大市场(2020荆州公交车什么时候恢复和恢复线路)
2026年9月5日 01:00
注册暖通工程师报名(2022年河南暖通工程师考试时间:11月5日、6日)
2026年3月20日 10:00
余杭人才网官方网站(2007春季杭州余杭人才招聘会的具体时间)
2025年5月8日 21:30
金华市婺城区最新招聘信息(金华护士编外面试通过了体检到哪里去体检)
2025年6月22日 08:00











