delphi 实现多语言界面的最简单方法.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
delphi 实现多语言界面的最简单方法

简介:这是delphi 实现多语言界面的最简单方法的详细页面,介绍了和Delphi,有关的知识,加入收藏请按键盘ctrl+D,谢谢大家的观看!要查看更多有关信息,请点击此处 基本原理:delphi 的vcl是通过treader 类来对控件进行读写的,再加上vcl的源码开放性,通过修改可以 它,使界面的资源从ini文件中读取: ?1、在classes.pas中添加: {!$ifdef _multilang} function cl(const s: widestring): string; begin {$ifdef _multilang} ? result := convertlanguage(s); {$else} ? result := s; {$endif} end; {!$endif} 2、treader.readstring: function treader.readstring: string; var ? l: integer; begin ? if nextvalue in [vawstring, vautf8string] then 和?delphi 实现多语言界面的最简单方法?有关的编程小帖士: strongsoundex 计算字符串的读音值 语法: string soundex(string str); 返回值: 字符串 内容说明 Soundex 值是利用英文字的读音近似值所求得的值,值由四个字符构成,第一个字符为英文字母,后三个为数字。在拼音文字中有时会有会念但不能拼出正确字的情形,特别是在做搜寻引擎时面对用户传入的英文字符串,可用本函数做类似模糊比对的效果。例如 Knuth 和 Kant 二个字符串,它们的 soundex 值都是 H416。 ? 使用范例 ? $str1=soundex(Wilson); $str2=soundex(Waillsume); echo soundex(\Wilson\)=$str1 等于\n; echo soundex(\Waillsume\)=$str2\n; echo 值均为 $str1; ? 上例返回的字符串为 soundex(Wilson)=W425 等于 soundex(Waillsume)=W425 值均为 W425 ??? result := readwidestring ? else ? begin ??? l := 0; ??? case readvalue of ????? vastring: ? read(l, sizeof(byte)); ????? valstring: ? read(l, sizeof(integer)); ??? else ????? propvalueerror; ??? end; ??? setlength(result, l); ??? read(pointer(result)^, l); ??? {$ifdef _multilang} ????? result := convertlanguage(result); ??? {$endif}? ? end; end; 3、treader.readstring: function treader.readwidestring: widestring; var ? l: integer; ? temp: utf8string; begin ? if nextvalue in [vastring, valstring] then ??? result := readstring ? else ? begin ??? l := 0; ??? case readvalue of ????? vawstring: ? begin ??? read(l, sizeof(integer)); ??? setlength(result, l); ??? read(pointer(result)^, l * 2); ? end; ????? vautf8string: ? begin ??? read(l, sizeof(integer)); ??? setlength(temp, l); ??? read(pointer(temp)^, l); ??? result := utf8decode(temp); ? end; ??? else??? ????? propvalueerror; ??? end; ?? ??? {$ifdef _multilang} ????? result := convertlanguage(result); ??? {$endif} ? end; end; 4.multilanguage.pas代码: {$define _write_

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档