开始我没有用在Options中设置Build With Runtime Package就可以了可以汉化,但是选中之后部可以使用???

解决方案 »

  1.   

    那个不能汉化的,以下是我以前发过的贴子:
    如果你想改一改的话可以这样做。在delphi中的消息框都是在一个叫consts.pas单元里面定义的。首先新建一个项目,新建一个单元。然后打开上面的consts.pas在c:\borland\delphi7\source\vcl\consts.pas找出如下几个定义的。
      SMsgDlgWarning = 'Warning';
      SMsgDlgError = 'Error';
      SMsgDlgInformation = 'Information';
      SMsgDlgConfirm = 'Confirm';
      SMsgDlgYes = '&Yes';
      SMsgDlgNo = '&No';
      SMsgDlgOK = 'OK';
      SMsgDlgCancel = 'Cancel';
      SMsgDlgHelp = '&Help';
      SMsgDlgHelpNone = 'No help available';
      SMsgDlgHelpHelp = 'Help';
      SMsgDlgAbort = '&Abort';
      SMsgDlgRetry = '&Retry';
      SMsgDlgIgnore = '&Ignore';
      SMsgDlgAll = '&All';
      SMsgDlgNoToAll = 'N&o to All';
      SMsgDlgYesToAll = 'Yes to &All';
    然后改成  SMsgDlgWarning = '警告';之后的都一样改成你喜欢的文字就行了只要你喜欢的。如:SMsgDlgYes = '&中‘;
           SMsgDlgNo = '&不中';呵呵你自己决定吧。
    改完之后,你要把这个单元的内容全部考到你刚才新建的那个单元里,并且命名为consts.pas
    然后关掉这个单元。并且编译刚才那个已经考好的单元,记住一定是单元名为consts呀。这时在你保存的那个目录下有一个consts.dcu.你把这个文件考到lib目录下替换掉就可以了。然后你在使用messagedlg时还用英文的提示,但是程序显示的就是你刚才自己改的文字。
    爽吧!试一试吧。
      

  2.   

    用messagebox可以全部是中文的呀(包括标题及按钮等),而且形式多样,比messagedlg丰富多了,何必改其本身的东西?真是自讨苦吃
      

  3.   

    haerbin982:我开始也是这样做的可以,为了便于升级我把在Options中设置Build With Runtime Package编译,程序变的很小但是提示信息却又变成英文,该怎么解决??
      

  4.   

    http://dboy520.51.net/cgi-bin/doc/datacontent.php?no=215
      

  5.   

    delphi7下messagebox不好使用,且没有图标
      

  6.   

    开始我没有用在Options中设置Build With Runtime Package就可以了可以汉化,但是选中之后部可以使用???
    1、设置Build With Runtime Package,你可以发现你的可执行文件很小,为什么呢?动态调用!!
      用为程序调用了你指定的Runtime Package,但是你的Runtime Package如VCL.bpl(system目录下)没有汉化
    所以就。。
    1、不设置Build With Runtime Package,你可以发现你的可执行文件很大,其实是静态联编了!!