Como usar tabela de strings em arquivo RC em Delphi
Autor original: wangzhidong (Steven Bob) Hora: segunda-feira, 25 de março de 2002. Primeiro use o Bloco de notas ou o Resource workshop 4.5 para criar o arquivo RC. A estrutura é a seguinte
| /********************************************** ***** *************************rcdemo.rcProduzido por Borland Resource Workshop************* ************************************************** ****** ***********/#include "urcdemo.pas"STRINGTABLE {IDS_HELLO, "Estou feliz em ver você."IDS_RC, "Esta programação foi criada por %s." } |
Em seguida, use BRCC.EXE ou BRCC32.exe para compilar rcdemo.rc no arquivo rcdemo.res e renomeie rcdemo.res para o arquivo rcdemo.rc. Se você usar o Resource workshop 4.5, um arquivo de unidade PAS será gerado. Nesse caso, o conteúdo de urcdemo.pas é o seguinte:
| (************************************************* ***** *************************urcdemo.pasproduzido por Borland Resource Workshop************* ******* ******************************************* ******** ***********)unit urcdemo;interfaceconst IDS_HELLO = 2;IDS_RC = 1;implementationend. |
Esta tecnologia pode ser usada para resolver problemas de armazenamento de strings e problemas de localização de programas no tratamento de erros. exemplo:
| unit ufmRCDemo;interfacea Windows, Mensagens, SysUtils, Variantes, Classes, Gráficos, Controles, Formulários, Diálogos, StdCtrls;tipo TForm1 = class(TForm) GroupBox1: TGroupBox: TButton; ;Botão4: procedimento do botão T; Button1Click(Sender: TObject); procedimento Button2Click(Sender: TObject); procedimento Button3Click(Sender: TObject); procedimento Button4Click(Sender: TObject); ;{$R rcdemo.rc}{$R *.dfm}{Usar janelas API}procedimento TForm1.Button1Click(Sender: TObject);var arystr: array [0..255] de char;begin windows.LoadString(hInstance, IDS_RC, arystr, sizeof(arystr)); TForm1.Button2Click(Sender: TObject);var arystr: array [0..255] de char;begin windows.LoadString(hInstance, IDS_Hello, arystr, sizeof(arystr));end ShowMessage(arystr);{Usar função nativa Delphi}procedure TForm1.Button3Click(Sender: TObject);begin ShowMessage(LoadStr(IDS_Hello)) ;fim;procedimento TForm1.Button4Click(Sender: TObject);begin ShowMessage(LoadStr(IDS_RC));fim;fim. |
Nota: A diferença entre o formato de 16 bits e o formato de 32 bits. Download da instância: http://www.megspace.com/computers/coreware/