Hry a iné typy aplikácií, ktoré používajú multimediálne súbory, ako sú zvuky a animácie, musia tiež existovať distribuovať ďalšie multimediálne súbory spolu s aplikáciou alebo vkladať súbory do spustiteľný.
Namiesto distribúcie samostatných súborov na použitie vašej aplikácie môžete do svojej aplikácie pridať surové údaje ako prostriedok. Ak je to potrebné, môžete následne načítať údaje z vašej aplikácie. Táto technika je všeobecne žiaduca, pretože môže zabrániť ostatným v manipulácii s týmito doplnkovými súbormi.
Tento článok vám ukáže ako vložiť (a používať) zvukové súbory, videoklipy, animácie a všeobecnejšie akýkoľvek druh binárnych súborov do spustiteľného súboru Delphi. Pre najbežnejší účel uvidíte, ako dať Súbor MP3 vnútri a Delphi exe.
Súbory zdrojov (.RES)
V poli „Ľahko dostupné súbory zdrojov"článok, ktorý vám bol predstavený s niekoľkými príkladmi použitia bitmáp, ikon a kurzory zo zdrojov. Ako je uvedené v tomto článku, pomocou editora obrázkov môžeme vytvárať a upravovať zdroje, ktoré pozostávajú z takýchto typov súborov. Teraz, keď máme záujem ukladať rôzne typy (binárnych) súborov do spustiteľného súboru Delphi, musíme sa zaoberať zdrojovými skriptovými súbormi (.rc),
Kompilátor zdrojov Borland náradie a ďalšie.Zahrnutie niekoľkých binárnych súborov do spustiteľného súboru pozostáva z 5 krokov:
- Vytvárajte a / alebo zhromažďujte všetky súbory, ktoré chcete vložiť do exe.
- Vytvorte súbor skriptu prostriedkov (.rc), ktorý popisuje zdroje používané vašou aplikáciou,
- Zostavte súbor skriptu prostriedku (.rc) a vytvorte súbor prostriedku (.res),
- Prepojte kompilovaný súbor prostriedkov do spustiteľného súboru aplikácie,
- Použite jednotlivý prvok prostriedku.
Prvý krok by mal byť jednoduchý, jednoducho rozhodnúť, aké typy súborov chcete uložiť do spustiteľného súboru. Napríklad budeme ukladať dve .wav piesne, jednu .ani animáciu a jednu .mp3 skladbu.
Predtým, ako sa pohneme ďalej, uvádzame niekoľko dôležitých vyhlásení týkajúcich sa obmedzení pri práci so zdrojmi:
- Nakladanie a vykladanie prostriedkov nie je časovo náročné. Zdroje sú súčasťou spustiteľného súboru aplikácií a načítavajú sa súčasne s spustením aplikácie.
- Celkovú (voľnú) pamäť môžete použiť pri načítaní / vykladaní zdrojov. Inými slovami, počet zdrojov načítaných súčasne nie je obmedzený.
- Súbory zdrojov samozrejme zdvojnásobia veľkosť spustiteľného súboru. Ak chcete menšie spustiteľné súbory, zvážte umiestnenie zdrojov a častí vášho projektu do knižnica dynamických odkazov (DLL) alebo viac špecializovaná variácia.
Pozrime sa, ako vytvoriť súbor, ktorý popisuje zdroje.
Vytvorenie súboru skriptu zdrojov (.RC)
Súbor skriptov prostriedkov je iba jednoduchý textový súbor s príponou .rc, ktorý obsahuje zoznam zdrojov. Súbor skriptu je v tomto formáte:
ResName1 ResTYPE1 ResFileName1
ResName2 ResTYPE2 ResFileName2
...
ResNameX ResTYPEX ResFileNameX
...
RexName určuje jedinečný názov alebo celé číslo (ID), ktoré identifikuje prostriedok. ResType popisuje typ zdroja a ResFileName je úplná cesta a názov súboru k jednotlivému zdrojovému súboru.
Ak chcete vytvoriť nový súbor skriptov prostriedkov, jednoducho postupujte takto:
- Vytvorte nový textový súbor v adresári projektov.
- Premenujte ho na AboutDelphi.rc.
V súbore AboutDelphi.rc majú nasledujúce riadky:
Hodiny WAVE "c: \ mysounds \ projects \ clock.wav"
MailBeep WAVE "c: \ windows \ media \ newmail.wav"
Cool AVI cool.avi
Úvod RCDATA introsong.mp3
Súbor skriptu jednoducho definuje prostriedky. Podľa daného formátu obsahuje skript AboutDelphi.rc dva súbory .wav, jednu animáciu .avi a jednu skladbu .mp3. Všetky príkazy v súbore .rc majú priradený identifikačný názov, typ a názov súboru pre daný prostriedok. Existuje asi tucet preddefinovaných typov zdrojov. Patria sem ikony, bitmapy, kurzory, animácie, piesne atď. RCDATA definuje všeobecné dátové zdroje. RCDATA umožňuje zahrnúť surový dátový zdroj pre aplikáciu. Zdroje prvotných údajov umožňujú zahrnutie binárnych údajov priamo do spustiteľného súboru. Napríklad príkaz RCDATA vyššie pomenuje binárny zdroj Intro aplikácie a určuje súbor introsong.mp3, ktorý obsahuje pieseň pre daný súbor MP3.
Poznámka: Uistite sa, že máte k dispozícii všetky zdroje, ktoré sú uvedené v súbore .rc. Ak sú súbory vo vašom adresári projektov, nemusíte uviesť celý názov súboru. V mojom súbore .rc sú skladby WAV umiestnené niekde * na disku a animácie aj skladby MP3 sa nachádzajú v adresári projektu.
Vytvorenie súboru zdrojov (.RES)
Ak chcete použiť prostriedky definované v súbore skriptov prostriedkov, musíme ho skompilovať do súboru .res s kompilátorom zdrojov spoločnosti Borland. Kompilátor prostriedkov vytvorí nový súbor na základe obsahu súboru skriptov prostriedkov. Tento súbor má zvyčajne príponu .res. Linker Delphi neskôr preformátuje súbor .res na súbor objektov prostriedku a potom ho spojí s spustiteľným súborom aplikácie.
Nástroj príkazového riadku Borland Resource Compiler je umiestnený v adresári Delphi Bin. Názov je BRCC32.exe. Jednoducho prejdite na príkazový riadok a zadajte príkaz brcc32 a stlačte kláves Enter. Pretože adresár Delphi \ Bin je vo vašej ceste, je vyvolaný kompilátor Brcc32 a zobrazuje pomocníka pri používaní (pretože bol volaný bez parametrov).
Ak chcete kompilovať súbor AboutDelphi.rc do súboru .res, vykonajte tento príkaz na príkazovom riadku (v adresári projekty):
BRCC32 AboutDelphi. RC
Pri kompilácii prostriedkov predvolene BRCC32 pomenúva súbor kompilovaného prostriedku (.RES) so základným názvom súboru .RC a umiestni ho do rovnakého adresára ako súbor .RC.
Súbor zdrojov môžete pomenovať podľa vlastného výberu, pokiaľ má príponu „.RES“ a názov súboru bez prípony nie je rovnaký ako názov súboru akejkoľvek jednotky alebo projektu. Je to dôležité, pretože v predvolenom nastavení má každý projekt Delphi, ktorý sa kompiluje do aplikácie, zdrojový súbor s rovnakým názvom ako súbor projektu, ale s príponou .RES. Najlepšie je uložiť súbor do rovnakého adresára ako súbor projektu.
Vrátane (prepájanie / vkladanie) zdrojov do spustiteľných súborov
Po prepojení súboru .RES s spustiteľným súborom môže aplikácia podľa potreby načítať svoje zdroje v čase vykonávania. Ak chcete zdroj skutočne použiť, musíte uskutočniť niekoľko hovorov rozhrania Windows API.
Aby ste mohli sledovať tento článok, budete potrebovať nový projekt Delphi s prázdny formulár (predvolený nový projekt). Samozrejme pridajte {$ R AboutDelphi. RES} na jednotku hlavného formulára. Konečne je čas zistiť, ako používať prostriedky v aplikácii Delphi. Ako bolo uvedené vyššie, s cieľom používať prostriedky uložené v exe súbore musíme pracovať s API. V súboroch pomocníka Delphi je však možné nájsť niekoľko metód, ktoré majú povolený „prostriedok“.
Napríklad, pozrite sa na LoadFromResourceName metóda objektu TBitmap. Táto metóda extrahuje určený bitmapový prostriedok a priradí mu objekt TBitmap. Toto je presne to, čo volanie API LoadBitmap API robí. Ako vždy, spoločnosť Delphi vylepšila volanie funkcií API, aby lepšie vyhovovalo vašim potrebám.
Teraz do formulára pridajte komponent TMediaPlayer (názov: MediaPlayer1) a pridajte TButton (Button2). Nech udalosť OnClick vyzerá takto:
Jeden menší * problém * je v tom, že aplikácia vytvára na užívateľskom zariadení skladbu MP3. Môžete pridať kód, ktorý odstráni tento súbor pred ukončením aplikácie.
Extrakcia *???
Samozrejme, každý iný typ binárneho súboru môže byť uložený ako typ RCDATA. TRsourceStream je špeciálne navrhnutý tak, aby nám pomohol extrahovať takýto súbor z spustiteľného súboru. Možnosti sú nekonečné: HTML v exe, EXE v exe, prázdna databáza v exe a tak ďalej.