资源串常量

2019-01-14

资源串常量


当定义字符串常量时,你可这样写:

const

 AuthorName = 'Marco Cantù';

从Delphi 3 开始,你可以用另一种方式写:

resourcestring

 AuthorName = 'Marco Cantù';

上面两个语句都定义了一个常量,也就是定义了一个在程序运行期间保持不变的值,但两者的实现过程却不同,用 resourcestring 指令定义的字符串变量将被保存到程序资源的字符串表中。从例子 ResStr 你可了解资源串的实际作用,例子中设置了一个按钮, 相应代码如下:



resourcestring AuthorName = 'Marco Cantù';  BookName = 'Essential Pascal'; procedure TForm1.Button1Click(Sender: TObject); begin  ShowMessage (BookName + #13 + AuthorName); end;

以上代码中的两个字符串将分两行输出显示,因为字符串被分行符 #13 隔开。

有趣的是,当你用资源编辑器打开执行文件时,你会在程序资源中看到你所定义的字符串。这意味着字符串并没有进入编译代码,而是保存在执行文件 (EXE文件) 的一个单独区域。

注意:简而言之,采用资源的好处一方面可让 Windows 来完成有效的内存处理,另一方面不用更改源代码就可实现程序的本地化 (把字符串翻译成不同的语言)。



阅读61