Архитектура Microsoft Windows для разработчиков

Хранение строк в файлах ресурсов


При разработке приложений на Visual Basic вместо ссылок на строки, рисунки и данные применяются функции LoadResString, LoadResPicture и LoadResData. Хранение этих элементов в файле ресурсов имеет два преимущества:

  • повышается производительность и снижаются затраты благодаря загрузке строк, изображений, значков и данных по мере надобности из файла ресурсов вместо одновременной загрузки вместе с формой или модулем;
  • ресурсы, подлежащие локализации, изолированы в отдельном файле ресурсов, поэтому локализация не требует доступа к исходному коду или перекомпиляция приложения.
  • Пример Вот пример использования функции Visual Basic LoadResString. Аргумент Index задает идентификатор данных в файле ресурсов.

    strValue = LoadResString(Index)

    > Использование файла ресурсов

    1. Запустите Microsoft Visual Basic 5 и создайте новый проект типа Standard EXE.
    2. Добавьте элементы управления в форму так, как показано на рисунке ниже. Не меняйте заданные по умолчанию имена элементов.

    3. Элемент управления в левом верхнем углу — это изображение. Свяжите его свойство Picture с любым понравившимся Вам значком, который Вы найдете в каталоге Graphics\Icons.
    4. Добавьте в событие обработки щелчка на кнопке Exit код закрытия приложения.
    5. Сохраните свою работу в файле Forml.frm и Lab04.vbp в папке WA\Practice\ Ch04.
    6. > Использования файла ресурсов в Visual Basic

      1. Из каталога WA\Practice\Ch04 добавьте в проект файл ресурсов под названием Lab.res.

        Для этого щелкните правой кнопкой в окне Project Explorer и выберите в меню команду Add. Щелкните кнопку Add File и найдите нужный файл ресурсов на диске.

      2. В окне Project Explorer дважды щелкните Related Documents, чтобы удостовериться, что файл ресурсов добавлен в проект.


      3. Откройте окно кода для события Form_Load.
      4. Добавьте приведенный ниже код для загрузки ресурса «изображение» с идентификатором 100 и его связывания со свойством Picture элемента управления «изображение»:

        Image1.Picture = LoadResPicture(100, vbResIcon)

      5. Добавьте приведенный ниже код для загрузки ресурса «строка» с идентификатором 100 и его связывания со свойством Caption элемента управления «метка»:


        Label-1. Caption = LoadResString(IOO)

      6. Запустите приложение.

        Если ресурсы загружены правильно, форма будет выглядеть вот так.



      7. Измените код в проекте Form_Load так, чтобы использовались рисунок и строка под номером 200.


      8. Запустите приложение.


      9. Коды символов

        Символы в системе представлены своими кодами. Они генерируются и сохраняются, когда пользователь создает документ. Однобайтные наборы символов содержат 256 кодов: этого достаточно для кодирования большинства символов основных языков. Например, набор символов Windows Extended ANSI содержит 256 символов, включая латинские буквы, арабские цифры, знаки препинания и изобразительные элементы.

        Однако 256 кодов недостаточно для хранения всех символов одного шрифта на разных языках или для языков, использующих алфавит большого размера (например, в китайском языке более 12 000 символов-иероглифов). В подобных случаях применяются многобайтные наборы символов (обычно их называют двухбайтными).


        Содержание раздела