Лесен начин за свързване на * .res ресурси в Делфи.

Програмиране. Теория и практика.

Скъпи колеги!

Мрежата съдържа голямо количество информация за това как да свържете ресурси към вашия проект в Делфи. И като правило това е старият "старомоден" метод чрез създаване на * .rc файл и след това компилирането му чрез командния ред. Но като се започне от версия 2009 (нататък) през Делфи стана възможно да се направи много по-лесно.

В околната среда Делфи отидете в менюто "Проект" параграф Ресурси и изображения:
Ще се отвори мениджърът на ресурси, в който можем да добавяме снимки, икони, звуци и други файлове:

начин

При добавяне можем да посочим идентификатор на низов ресурс и неговия тип.

начин

Сега нека видим как можете да използвате свързани ресурси във вашата програма.

Първо, нека вземем списък с програмни ресурси.

Имаме нужда от 2 API функции: EnumResourceTypes и EnumResourceNames.

EnumResourceTypes
Получава списък с типове ресурси.

hModule - Показалец към модула.
lpEnumFunc - указател към функцията, която ще бъде извикана за всеки от типовете ресурси.

lParam - Персонализиран параметър.

Функцията, която трябва да бъде предадена като параметър lpEnumFunc трябва да изглежда така:

Модул - Показалец към модула.
lpszType - Тип ресурс.
lParam - Персонализиран параметър.

EnumResourceNames
Получава списък с имена на ресурси.

hModule - Показалец към модула.
lpType - Тип ресурс.
lpEnumFunc - Посока към функцията, която ще бъде извикана за всяко име на ресурс.
lParam - Персонализиран параметър.

Функция lpEnumFunc:

Модул - Показалец към модула.
lpszType - Тип ресурс.
lpszName - Име на ресурса.
lParam - Персонализиран параметър.

Код за генериране на списък с ресурси:

GetLastError - API функция, която показва кода на последната системна грешка.
SysErrorMessage - Функция, която получава текст на системната грешка по код.
Като параметър lParam функции EnumResourceNames предаване на указател към елементите от списъка ListBox1.

След стартиране на програмата ще имаме списък с ресурси:

ресурси

Сега нека извадим изображенията, които сме поставили в ресурсите. Добавете бутон и 4 компонента TImage.
При щракване на бутона добавете кода:

Когато щракнете, снимките ще се появят във формуляра:

начин