Для создания таблицы строковых ресурсов, содержащих подлежащие локализации строковые данные можно воспользоваться зарезервированным словом resourcestring. При этом смена различных таблиц во время компиляции может производится либо сменой файлов либо с помощью директивы условной компиляции DEFINE.
Для создания таблицы строковых ресурсов, попеременно загружаемых во время выполнения программы в зависимости от какого-либо параметра, следует в любом текстовом редакторе создать текстовый файл ресурса с расширением *.rc, а затем откомпилировать его в двоичный файл ресурсов с расширением *.res с помощью компилятора ресурсов brcc32. При этом строковым ресурсам следует присваивать значения, которые каким-либо образом соотносились с изменяемым параметром, чтобы затем загружать их с помощью функции LoadStr.
Пример 4.1. Пример простейшего синтаксиса объявления таблицы строковых ресурсов
STRINGTABLE { 1001, "Скорость" 1002, "Обороты" 1003, "Температура" }
В файле проекта добавить директиву компилятора, предписывающую включить в проект файл ресурса, например str.res:
Теперь в компоненте необходимую строку можно получить следующим образом:
В данном примере подразумевается, что FParamType – переменная перечислимого типа, принимающая одно из 3 значений – от 0 до 2.
Для использования пользовательских курсоров необходимо создать (или взять готовые) файлы с изображениями курсоров, в текстовый ресурсный файл добавить строки аналогичные нижеприведенной:
Затем необходимо откомпилировать файл ресурсов и добавить в проект ссылку на него с помощью директивы $R.
Загружать курсор в программе следует с помощью функции LoadCursor:
Затем значение курсора может быть присвоено свойству Cursor какого-либо компонента:
Для загрузки разных курсоров следует изменять индекс свойства Screen.Cursors и формировать название ресурса, содержащего курсор.
Создание ресурса, содержащего битовое изображение, аналогично созданию ресурса курсора стой разницей, что в текстовом файле ресурсов используется ключевое слово BITMAP.
Загрузка ресурса типа RT_ BITMAP может осуществляться с помощью метода LoadFromResourceName класса TBitmap, например:
При необходимости попеременной загрузки различных ресурсов следует программно формировать имя ресурса на основе какого-либо параметра:
В приведенном примере считается, что I – целочисленная переменная, определяющая имя ресурса.