Ново

Како Делпхи користи датотеке ресурса

Како Делпхи користи датотеке ресурса


We are searching data for your request:

Forums and discussions:
Manuals and reference books:
Data from registers:
Wait the end of the search in all databases.
Upon completion, a link will appear to access the found materials.

Од битмапа до икона до курсора до низова таблица, сваки Виндовс програм користи ресурсе.Ресурси јесу они елементи програма који подржавају програм, али нису извршни код. У овом ћемо чланку проћи кроз неке примере употребе битних слика, икона и курсора из ресурса.

Локација ресурса

Постављање ресурса у .еке датотеку има два главнапредности:

  • Ресурсима се може приступити брже, јер је потребно мање времена да би се пронашао ресурс у извршној датотеци, него што је потребно за његово учитавање из датотеке диска.
  • Програмска датотека и ресурси могу се налазити у једној јединици (.еке датотека) без потребе за пуно подржаних датотека.

Имаге Едитор

Пре свега, морамо да створимо датотеку ресурса. Подразумевано проширење за датотеке са ресурсима је.РЕС. Датолошке датотеке могу се креирати помоћу Делпхијевог уређивача слика.

Можете именовати датотеку ресурса све што желите, све док има екстензију ".РЕС", а име датотеке без проширења није исто као и било која јединица датотеке или пројекта. Ово је важно јер, по дефаулту, сваки Делпхи пројекат који се компилира у апликацију има датотеку ресурса са истим именом као и пројектну датотеку, али са екстензијом „.РЕС“. Најбоље је да датотеку сачувате у истом директоријуму као и датотеку вашег пројекта.

Укључивање ресурса у апликације

Да бисмо приступили својој датотеци ресурса, морамо рећи Делпхи-у да повеже нашу датотеку ресурса са нашом апликацијом. Ово се постиже додавањем директиве о компајлеру изворном коду. Ова директива мора одмах да следи директиву обрасца, као што је следећа:

{$ Р * .ДФМ}
{$ Р ДПАБОУТ.РЕС}

Немојте случајно избрисати део {$ Р * .ДФМ}, јер ово је линија кода која каже Делпхију да се повеже у визуелном делу форме. Када одаберете битмапе за дугмад за брзину, компоненте слике или компоненте дугмета, Делпхи укључује датотеку битмапе коју сте одабрали као део ресурса обрасца. Делпхи изолира елементе вашег корисничког интерфејса у .ДФМ датотеку.

Да бисте заиста користили ресурс, морате упутити неколико Виндовс АПИ позива. Битмапе, курсори и иконе сачуване у РЕС датотекама могу се пронаћи помоћу АПИ функција ЛоадБитмап, ЛоадЦурсор, и ЛоадИцон редом.

Слике у ресурсима

Први пример показује како учитати битмапу спремљену као ресурс и приказати је у ТИмаге саставни део.

поступак ТфрМаин.бтнЦанвасПиц (Пошиљалац: ТОбјецт);
вар бБитмап: ТБитмап;
започети
бБитмап: = ТБитмап.Цреате;
покушати
бБитмап.Хандле: = ЛоадБитмап (хИнстанце, 'АТХЕНА');
Имаге1.Видтх: = бБитмап.Видтх;
Имаге1.Хеигхт: = бБитмап.Хеигхт;
Имаге1.Цанвас.Драв (0,0, бБитмап);
напокон
бБитмап.Фрее;
крај;
крај;

Напомена: Ако се битмап који ће се учитати не налази у датотеци ресурса, програм ће се и даље покренути, једноставно неће приказати битмап. Ову ситуацију се може избећи тестирањем да ли се види да либБитмап.Хандле је нула након позиваЛоадБитмап () и предузимање одговарајућих корака. Покушај / коначно део у претходном коду не решава овај проблем, овде је само да се осигура да је бБитмап уништен и да се ослободи повезана меморија.

Други начин на који можемо да прикажемо битмап из ресурса је следећи:

поступак ТфрМаин.бтнЛоадПицЦлицк (Пошиљалац: ТОбјецт);
започети
Имаге1.Пицтуре.Битмап.
ЛоадФромРесоурцеНаме (хИнстанце, 'ЕАРТХ');
крај;

Курсори у ресурсима

Сцреен.Цурсорс је низ показивача које испоручује Делпхи. Употребом датотека са ресурсима можемо додати прилагођене показиваче у својство Цурсорс. Ако не желимо да заменимо ниједан подразумевани, најбоља стратегија је употреба бројева курсора почевши од 1.

поступак ТфрМаин.бтнУсеЦурсорЦлицк (Пошиљалац: ТОбјецт);
цонст НевЦурсор = 1;
започети
Сцреен.ЦурсорсНевЦурсор: =
ЛоадЦурсор (хИнстанце, 'ЦУРХАНД');
Имаге1.Цурсор: = НевЦурсор;
крај;

Иконе у изворима

Ако погледамо ДелфиОпције пројекта-апликација подешавања, можемо пронаћи да Делпхи испоручује задану икону за пројекат. Ова икона представља апликацију у програму Виндовс Екплорер и када је апликација сведена на минимум. То можемо лако променити кликом на дугме 'Учитај икону'.

Ако желимо, на пример, анимирати икону програма када је програм минимизиран, следећи код ће урадити посао.

За анимацију нам треба аТТимер компонента на обрасцу. Код учитава две иконе из датотеке ресурса у низ одТИцон предмети; овај низ треба навести у јавном делу главног обрасца. Требаће намНрИцо, то је променљива типа Интегер, декларисана ујавни део. ТхеНрИцо користи се за праћење следеће иконе за приказивање.

јавни
нрИцо: Интегер;
МинИцон: низ 0 ... 1 од ТИцон;

поступак ТфрМаин.ФормЦреате (пошиљалац: ТОбјецт);
започети
МинИцон0: = ТИцон.Цреате;
МинИцон1: = ТИцон.Цреате;
МинИцон0.Хандле: = ЛоадИцон (хИнстанце, 'ИЦООК');
МинИцон1.Хандле: = ЛоадИцон (хИнстанце, 'ИЦОФОЛД');
НрИцо: = 0;
Тимер1.Интервал: = 200;
крај;

поступак ТфрМаин.Тимер1Тимер (Пошиљалац: ТОбјецт);
бегиниф ИсИцониц (Апплицатион.Хандле) онда започети
НрИцо: = (НрИцо + 1) мод 2;
Апплицатион.Ицон: = МинИцонНрИцо;
крај;
крај;

поступак ТфрМаин.ФормДестрои (Пошиљалац: ТОбјецт);
започети
МинИцон0.Фрее;
МинИцон1.Фрее;
крај;

У Тимер1.ОнТимер менаџер догађаја, ИсМинимизед функција се користи да видимо да ли морамо анимирати нашу главну икону или не. Бољи начин да се то постигне било би снимање дугмића за максимизирање / минимизирање и тада активирање.

Завршне речи

У датотеке са ресурсима можемо ставити било шта (добро, не све). Овај чланак вам је показао како се користе ресурси за употребу / приказивање битмапе, курсора или иконе у вашој апликацији Делпхи.

Напомена: Када спремимо Делпхи пројекат на диск, Делпхи аутоматски креира једну .РЕС датотеку која има исто име као и пројекат (ако ништа друго, главна икона пројекта је унутра). Иако можемо изменити ову датотеку ресурса, ово није препоручљиво.


Погледајте видео: Sta raditi kada Windows ne prepoznaje USB memoriju (Може 2022).


Коментари:

  1. Lorence

    сви се плаше да је опасан ... ја одлазим !!!!!!!

  2. Anson

    И удари гром и тимпани зазвоне поноћ и Скрпит сиђе с небеса. Ио



Напиши поруку