首页 | 社区 | 博客 | 招聘 | 文章 | 新闻 | 下载 | 读书 | 代码
亲,您未登录哦! 登录 | 注册

DELPHI的中文版安装程序制作大揭密

打印文章

分享到:
李春平 郝桓成

  DELPHI是目前WINDOWS95/NT环境下优秀的软件开发系统。虽然它目前还不是中文版的,但仍可以开发出完全中文版的应用程序。DELPHI附带的应用程序安装工具ISEXPRESS也是让程序员们如虎填翼,快速生成最终的应用软件的安装程序。但许多从事DELPHI软件开发的程序员可能都觉得它有一个不足,就是用ISEXPRESS工具制作的安装程序的界面是英文的,这对最终用户来说是很难接受的。勉强应付的办法是在制作安装程序时尽量减少对话框,这也难免不出英文提示。

  能不能将ISEXPRESS制作的安装程序的显示全部变为中文的呢?

  回答是肯定的。目前大多数软件的操作界面和信息都是写在RESOURCE(资源)中,所以我们只要把EXE文件和DLL文件中的RESOURCE摘取出来,就可以轻易的把信息翻译修改成中文。而目前不少编程系统中的资源编辑器(RESOURCE EDIT)都可以将一个已经编辑完成的EXE文件和DLL文件中的RESOURCE摘取出来让我们编辑。

  修改的目标

  首先让我们来分析一下ISEXPRESS制作安装程序时需要的一些必要的安装文件都是哪些。知道了哪个文件内部包含着安装时需要显示的信息,修改起来就有针对性了。对于安装时显示信息有影响的文件有以下几个:

  1._SETUP.DLL

  安装程序SETUP.EXE刚刚运行时使用的资源文件,包含一个对话框窗体、三组字符串和两个图标。(汉化的对话框如右所示,这是在准备建立安装程序的临时文件时显示的提示窗体)

  2._ISUSR32.DLL

  进行安装过程中需要显示的一些字信息符串资源。如下面的两个提示信息对话框中显示的中文信息就是从这个修改后的资源文件中取得的。

  3._ISRES32.DLL

  包含安装程序运行过程中使用的大部分位图、对话框、字符串、图标等资源。是进行中文化的主要部分。如下面的一个安装时的显示用户名、单位名和序列号的对话框就是修改了这个文件后显示成中文的:

  4.RESDLL.DLL

  这个资源文件是ISEXPRESS系统自己使用的,如果修改这个资源文件,将其中的英文替换为中文,则ISEXPRESS自己运行时,显示的就已经全是中文了。以下是修改后的RESDLL.DLL在ISX.EXE运行时出现的中文效果。

  但是要注意,对于DELPHI3和DELPHI4两个不同版本的ISEXPRESS工具中,RESDLL.DLL文件的版本是有比较大的区别,不能将一个版本的文件汉化后放到另一个系统中运行,否则有些对话框不一样(如右面一个对话框只是DELPHI4中的ISEXPRESS才有的,而DELPHI3中的没有这么复杂),可能会导致系统死机。当然了,由于这个文件只是为ISEXPRESS自己使用,对于制作好的安装盘来说,它是一点作用也不起的,所以不修改它可没有关系。再者由于版本之间的差异,弄不好还会出乱子,不改它也罢。

  5.UNINST.EXE

  这个文件用在系统进行卸载时使用。所有的资源信息都保存在文件本身内部,如果要进行汉化,则会显示出如下的两个对话框:

  修改的方法

  (使用Borland C++5.02将软件中文化)

  软件要求

  1. Borland C++5.02 ,只要基本安装就可以了。

  2. Windows95或Windows NT。

  3. 您要中文化软件,此软件必须为Uni-code格式。

  中文化过程

  1. 摘录Resource

  首先,运行Borland C++ 5.02,然后开启要编辑的文件。要注意,Viewer必须选择为Edit Resource,文件类型选择.DLL(如有必要也可选择*.EXE类型)。如右图。打开文件后,将显示此资源文件中的所有资源类型,下面是一个动态链接库形式的资源文件_ISRES32.DLL的剖析,我们可以看到这个文件中包含了BITMAP位图信息,DIALOG对话框信息,STRINGTABLE字符串列表及ICON图标和VERSIONINFO版本信息。将它们左边的加号用鼠标点一下或按"+"号键,就可以展开其中的详细条目。

  2. 编辑Resouce

  编辑DIALOG对话框

  有两种方法编辑DIALOG对话框,可视化编辑方法和按文本方式编辑。选择DIALOG项中的某一个对话窗体,按鼠标右键,就可看到弹出菜单中的前两个编辑方法:EDIT和EDIT as Text。前一种方式是逐个修改控件,特别是它们的相对位置,就象在VB和DELPHI的可视化的环境中调整控件一样方便,这对控件的大小位置调整很管用,如果控件的英文文本改为中文后大小不合适了,使用这种方法进行大小调整是比较方便的;后者是纯文本方式,对于大量的英文内容的控件信息的修改,使用这种编辑方法是速度比较合适的。两种编辑显示如右图所示。

  编辑STRINGTABLE等其它资源

  STRINGTABLE字符串资源中有一种编辑方式,其它的资源的编辑方式也大体上与上在提的方法差不多,相信只要是有经验的程序员,稍加指点就会轻松完成所有中文化工作的。

  使用VC++也可将软件中文化,但在使用前要注意的是,只有在WINDOWS NT下才可以将编辑过的RESOURCE存回到原本的exe 文件 (或 dll 文件),且读取时要以Resource资源文件的形式打开,在此不做多述。

本栏文章均来自于互联网,版权归原作者和各发布网站所有,本站收集这些文章仅供学习参考之用。任何人都不能将这些文章用于商业或者其他目的。( Pfan.cn )

编程爱好者论坛

本栏最新文章