我想我的程序能支持簡體和繁體,請問各位應該如何實現?? 急,在線待候!!!

解决方案 »

  1.   

    如果是小程序的話用ini文件.........
      

  2.   

    那我是不是還要把簡體和繁體兩種字都要輸進去,有沒有更簡單的方法呢,我的是大程序!ERP啊
      

  3.   

    所有資料信息放在一個地方就行了
    有用db的,有用ini的
    最好用db
    這麼大家伙
    ~~暈~~
    到處都是erp
    erp有幾個模塊啊?
      

  4.   

    这是一套使你的程序支持多国语言的vcl类,你只要从该组件中的TLangForm继承出你的Form类就可以轻易的使程序在启动时自动加载外部语言文件,并可以在运行时提供给用户改变语言设置的功能。
    使用方法
        将TLangMgr,TLangFrm两个文件复制到你的程序目录下,并将TLangFrm添加到你的工程下,在窗口类的interface下的uses中加入LangFrm,然后将TForm1=class(TForm)(或类似语句)改为TForm1=class(TLangForm),然后就可以重新编译程序了。    外部语言文件请使用工程默认名字,文件扩展名为语言的名称缩写,如Project.eng,Project.chs等。文件为标准的ini文件,每个窗口的语言每个语言文件必须有一个名为[General]的标准Section,Language表示该语言的英文名称,Charset表示语言的字符集数字代码,中文134,日文128,其它语言可以查看MSDN得到它的代码,Font为使用字体(为了使Font应用到每一个控件,必须将所有控件的ParentFont属性设为True,否则字体不会应用到该控件上),FontSize表示字体大小。后面的若干Section以窗口类名为依据分组,窗口内的控件就用控件名表示,然后用‘.’加属性名称的方法来表示具体属性内容,(如Label1.Caption=Label),现在支持的属性为Caption和Hint。    另外,对于显示Message等功能,可以直接在窗口中使用函数Translate('symbol','default string')来实现,对要使用的文字定一个略称,并写一段默认文字,以备读取语言配置文件出错时使用。    对于部分控件标题,如TListView.Column和TGrid.Column,程序无法自动识别,(本来可以直接加到基类的,但是这样程序编译时不管用不用到,都会加载这些模块,所以还是放到外部来实现吧),自己实现的方法就是覆盖(override)TLangForm中的DoChangeLanguage()函数,并在其中使用Translate()函数来手工设置它们的这些属性。    注意,由于Delphi的VCL本身不是Unicode的,所以该组件也没有实现unicode,比如,你无法在日文操作系统下正确的输入中文文字到程序中,中文界面的配置文件加载后,也只会显示乱码而已,如果你需要程序有Unicode的支持,请使用其它第三方Unicode VCL,你可以参照TLangForm的方法来写一个自己的Form类出来。你可以到“UnicodeVersion”目录下找到一个我使用TntUnicode组件改制的多国语言窗口类,使用前请先安装TntUnicode VCL,另外,在使用它的时候需要注意一些地方,比如语言(ini)文件中存放的不再是语言文字的本地码,而是经过转换后的unicode码的码值,你可以使用“UnicodeConveter”目录下的工具来将文字转换为该码值。另外,目前我写的这个类比较简单,没有判断窗口内的组件是否是Tnt组件库中的组件,如果你使用了不属于这个组件库的组件,程序可能会出错,还有TTntMuneItem中的属性设置被我跳过了,它老是出错,你可以在自己的Form中用继承DoChangeLanguage()函数的方法实现菜单文字的更新,当然,需要手工写更新代码了。。    所有程序代码,在Delphi6,7下测试通过。
      

  5.   

    jackie168(玉面書生):你好! 關於你說的那種方法,我一時還不知怎麼解決,你能否給我詳細介紹一下呢,我的Email:[email protected] 謝謝了!