วิธีใช้ตารางสตริงในไฟล์ RC ใน Delphi
ผู้เขียนต้นฉบับ: wangzhidong (Steven Bob) เวลา: วันจันทร์ที่ 25 มีนาคม 2545 ขั้นแรกให้ใช้ Notepad หรือ Resource Workshop 4.5 เพื่อสร้างไฟล์ RC โครงสร้างมีดังนี้
| /************************************************* ***** ***************************rcdemo.rcProduced โดย Borland Resource Workshop************ ******* ********************************************* ******** ***********/#include "urcdemo.pas"STRINGTABLE {IDS_HELLO, "ฉันดีใจที่ได้พบคุณ"IDS_RC, "โปรแกรมนี้สร้างโดย %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************ ***** ********************************************* ****** ***********)หน่วย urcdemo;interfaceconst IDS_HELLO = 2; IDS_RC = 1;การนำไปใช้งานสิ้นสุด |
เทคโนโลยีนี้สามารถใช้เพื่อแก้ปัญหาการจัดเก็บสตริงและปัญหาการแปลโปรแกรมในการจัดการข้อผิดพลาด ตัวอย่าง:
| หน่วย ufmRCDemo; อินเทอร์เฟซ Windows, ข้อความ, SysUtils, ตัวแปร, คลาส, กราฟิก, การควบคุม, แบบฟอร์ม, กล่องโต้ตอบ, StdCtrls; พิมพ์ TForm1 = class (TForm) GroupBox1: TGroupBox; Button2: TButton; GroupBox2: TGroupBox; ; Button4: ขั้นตอน TButton; Button1Click (ผู้ส่ง: TObject); ขั้นตอน Button2Click (ผู้ส่ง: TObject); ขั้นตอน Button4Click (ผู้ส่ง: TObject); ส่วนตัว { ประกาศสาธารณะ } สิ้นสุด; var Form1: TForm1; การดำเนินการใช้ urcdemo ;{$R rcdemo.rc}{$R *.dfm}{ใช้ windows API} ขั้นตอน TForm1.Button1Click (ผู้ส่ง: TObject); var arystr: อาร์เรย์ [0..255] ของ char; เริ่ม windows.LoadString (hInstance, IDS_RC, arystr, sizeof (arystr)); end; ขั้นตอน TForm1.Button2Click (ผู้ส่ง: TObject); var arystr: อาร์เรย์ [0..255] จาก ถ่าน; เริ่มต้น windows.LoadString (hInstance, IDS_Hello, arystr, sizeof (arystr)); end; {ใช้ฟังก์ชันดั้งเดิมของ Delphi} ขั้นตอน TForm1.Button3Click (ผู้ส่ง: TObject); เริ่ม ShowMessage (LoadStr (IDS_Hello)) ;สิ้นสุด;ขั้นตอน TForm1.Button4Click(Sender: TObject);begin ShowMessage(LoadStr(IDS_RC));สิ้นสุด;สิ้นสุด |
หมายเหตุ: ความแตกต่างระหว่างรูปแบบ 16 บิตและรูปแบบ 32 บิต ดาวน์โหลดอินสแตนซ์: http://www.megspace.com/computers/coreware/