13.6. Использование препроцессора Pascal

На верх  Назад  Вперёд

Иногда вы хотите использовать символьные имена в вашем ресурсном файле и использовать те же имена в вашей программе для доступа к ресурсам. Чтобы достичь этого, существует препроцессор для windres, который понимает синтаксис Pascal: fprcp. Этот препроцессор поставляется с дистрибутивом Free Pascal.

Идея заключается в том, что препроцессор читает модуль на Pascal, который имеет некоторые символьные константы, определённые в этом модуле, и заменяет символьные имена в файле ресурсов значениями констант в модуле.В качестве примера рассмотрим следующий модуль:

unit myunit;
 
interface
 
Const
First = 1;
Second = 2:
Third = 3;
Implementation
end.

И следующий файл ресурсов:

#include "myunit.pp"
STRINGTABLE { 1, "hello World !"
             2, "hello world again !"
             3, "last hello world !" }

Если вы вызовите windres с опцией препроцессора:

windres --preprocessor fprcp -i myunit.rc -o myunit.res

то препроцессор заменит символьные имена first, second и third на их фактические значения.

В вашей программе вы можете ссылаться на строки с помощью их символьных имён (констант) вместо использования числовых индексов.