在Delphi中如何使用RC檔案中的字串表
原文作者:wangzhidong(Steven Bob)時間:2002年3月25日星期一先用Notepad或Resource workshop 4.5建立RC檔。結構如下
| /************************************************* **************************rcdemo.rcPRoduced by Borland Resource Workshop******************* ************************************************** ***********/#include "urcdemo.pas"STRINGTABLE {IDS_HELLO, "I am glad to see you."IDS_RC, "This programming is created by %s."} |
然後用BRCC.EXE 或BRCC32.exe把rcdemo.rc編譯成rcdemo.res文件,接著把rcdemo.res改名為rcdemo.rc檔。 如用Resource workshop 4.5會產生一個PAS單元文件,本例為urcdemo.pas內容如下:
| (************************************************* **************************urcdemo.pasproduced by Borland Resource Workshop********************** ************************************************** ***********)unit urcdemo;interfaceconst IDS_HELLO = 2; IDS_RC = 1;implementationend. |
利用此項技術可實現錯誤處理中字串問題儲存問題和程序的本地化問題。範例:
| unit ufmRCDemo;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) GroupBox1: TGroupBox; Button1: TButton; ButtonBox2:ButtonroupBox; ; Button4: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); private { Private declarations } publicarForm Formation; ;implementationuses urcdemo;{$R rcdemo.rc}{$R *.dfm}{利用windows API}procedure TForm1.Button1Click(Sender: TObject);var arystr: array [0..255] of char;begin windows.LoadString(hInstance , IDS_RC, arystr, sizeof(arystr)); ShowMessage(arystr);end;procedure TForm1.Button2Click(Sender: TObject);var arystr: array [0..255] of char;begin windows.LoadString(hInstance, IDS_Hello, arystr, sizeof(arystrage)); );end;{利用Delphi原生函數}procedure TForm1.Button3Click(Sender: TObject);begin ShowMessage(LoadStr(IDS_Hello));end;procedure TForm1.Button4Click(Sender: TObject);begin ShowMessage(LoadStr(IDS_RC));end;end. |
注意:16位元格式於32位元格式的差異。實例下載:http://www.megspace.com/computers/coreware/