Kaip pridėti išteklių failus "Delphi" vykdomosiose programose

click fraud protection

Taip pat turi būti žaidimų ir kitų programų, naudojančių daugialypės terpės failus, pavyzdžiui, garsus ir animaciją, tipai paskirstyti papildomus daugialypės terpės failus kartu su programa arba įterpti failus į vykdomasis.

Užuot platinę atskirus failus, skirtus naudoti programą, galite pridėti pirminius duomenis prie programos kaip šaltinį. Tada galite nuskaityti duomenis iš savo programos, kai to reikia. Paprastai ši technika yra labiau pageidautina, nes ji gali neleisti kitiems manipuliuoti šiais papildymo failais.

Šis straipsnis jums parodys kaip įterpti (ir naudoti) garso failus, vaizdo įrašus, animaciją ir apskritai bet kokius dvejetainius failus į „Delphi“ vykdomąją programą. Paprasčiausiu tikslu pamatysite, kaip įdėti MP3 failas viduje a Delfi egzekucija.

Išteklių failai (.RES)

Viduje "Išteklių failai padaryti lengvai"Straipsnis jums buvo pateiktas su keliais bitkoinų, piktogramų ir žymekliai iš išteklių. Kaip teigiama tame straipsnyje, galime naudoti vaizdų rengyklę, norėdami sukurti ir redaguoti išteklius, kuriuos sudaro tokio tipo failai. Dabar, kai esame suinteresuoti saugoti įvairių tipų (dvejetainius) failus „Delphi“ vykdomajame faile, turėsime susidurti su išteklių scenarijaus failais (.rc),

instagram viewer
„Borland Resource Compiler“ įrankis ir kita.

Kelių dvejetainių failų įtraukimas į vykdomąjį failą susideda iš 5 žingsnių:

  1. Sukurkite ir (arba) surinkite visus failus, kuriuos norite įdėti į exe.
  2. Sukurkite išteklių scenarijaus failą (.rc), kuriame aprašomi tie ištekliai, kuriuos naudoja jūsų programa,
  3. Sudarykite išteklių scenarijaus failą (.rc) ir sukurkite išteklių failą (.res),
  4. Susiekite sudarytą išteklių failą su programos vykdomuoju failu,
  5. Naudokite atskirą išteklių elementą.

Pirmasis žingsnis turėtų būti paprastas, tiesiog nuspręskite, kokio tipo failus norėtumėte išsaugoti vykdomajame faile. Pvz., Mes saugome dvi .wav dainas, vieną .ani animaciją ir vieną .mp3 dainą.

Prieš pradėdami toliau, pateikiame keletą svarbių teiginių apie darbo su ištekliais apribojimus:

  • Išteklių pakrovimas ir iškrovimas nėra daug laiko reikalaujanti operacija. Ištekliai yra programos vykdomojo failo dalis ir įkeliami tuo pačiu metu, kai programa veikia.
  • Įkraunant / iškraunant išteklius gali būti naudojama visa (laisva) atmintis. Kitaip tariant, tuo pačiu metu įkeltų išteklių skaičius neribojamas.
  • Žinoma, išteklių failai dvigubai viršija vykdomojo failo dydį. Jei norite mažesnių vykdomųjų failų, apsvarstykite išteklių ir projekto dalių įdėjimą į dinaminių nuorodų biblioteka (DLL) ar jo daugiau specializuotas variantas.

Dabar pažiūrėkime, kaip sukurti failą, kuriame aprašomi ištekliai.

Išteklių scenarijaus failo (.RC) sukūrimas

Šaltinio scenarijaus failas yra paprastas tekstinis failas su plėtiniu .rc, kuriame pateikiami ištekliai. Scenarijaus failas yra tokio formato:

ResName1 ResTYPE1 ResFileName1
ResName2 ResTYPE2 ResFileName2
...
ResNameX ResTYPEX ResFileNameX
...

„RexName“ nurodo arba unikalų pavadinimą, arba sveikąją vertę (ID), identifikuojančią išteklius. „ResType“ apibūdina išteklių tipą ir „ResFileName“ yra visas atskiro išteklių failo kelias ir failo vardas.

Norėdami sukurti naują išteklių scenarijaus failą, tiesiog atlikite šiuos veiksmus:

  1. Projektų kataloge sukurkite naują tekstinį failą.
  2. Pervardykite jį į AboutDelphi.rc.

Faile AboutDelphi.rc pateikite šias eilutes:

Laikrodis WAVE "c: \ paslaptys \ projektai \ laikrodis. Wav"
„MailBeep WAVE“ c: \ windows \ media \ newmail.wav “
Kietas AVI kietas.avi
Įvadas RCDATA introsong.mp3

Scenarijaus failas paprasčiausiai nusako išteklius. Pagal pateiktą formatą „AboutDelphi.rc“ scenarijuje pateikiami du .wav failai, vienas .avi animacija ir viena .mp3 daina. Visi .rc failo teiginiai susieja identifikuojantį resursą, tipą ir failo pavadinimą. Yra apie keliolika iš anksto nustatytų išteklių tipų. Tai apima piktogramas, bitkoinus, žymeklius, animaciją, dainas ir kt. RCDATA apibrėžia bendruosius duomenų išteklius. „RCDATA“ leidžia įtraukti neapdorotų duomenų šaltinį programai. Neapdorotų duomenų ištekliai leidžia dvejetainius duomenis įtraukti tiesiogiai į vykdomąjį failą. Pvz., Aukščiau esančiame RCDATA sakinyje nurodomas programos dvejetainis šaltinis Intro ir nurodomas failas introsong.mp3, kuriame yra to MP3 failo daina.

Pastaba: įsitikinkite, kad turite visus .rc faile išvardytus išteklius. Jei failai yra jūsų projektų kataloge, neprivalote nurodyti viso failo pavadinimo. Mano .rc faile .wav dainos yra * kažkur * diske, o animacija ir MP3 dainos yra projekto kataloge.

Šaltinio failo (.RES) sukūrimas

Norėdami naudoti išteklius, apibrėžtus išteklių scenarijaus faile, turime surinkti juos į .res failą naudodami Borlando išteklių kompiliatorių. Išteklių kompiliatorius sukuria naują failą, pagrįstą išteklių scenarijaus failo turiniu. Šis failas paprastai turi .res plėtinį. Vėliau „Delphi“ sąsaja suformatuos .res failą į išteklių objekto failą ir susies jį su vykdomuoju programos failu.

Komandų eilutės įrankis „Borland's Resource Compiler“ yra „Delphi Bin“ kataloge. Pavadinimas yra BRCC32.exe. Tiesiog eikite į komandų eilutę ir įveskite brcc32, tada paspauskite Enter. Kadangi „Delphi \ Bin“ katalogas yra jūsų kelyje, iškviečiamas „Brcc32“ kompiliatorius ir jame pateikiama naudojimo pagalba (nes jis buvo vadinamas be parametrų).

Norėdami kompiliuoti „AboutDelphi.rc“ failą į .res failą, komandų eilutėje (projektų kataloge) vykdykite šią komandą:

BRCC32 AboutDelphi. RC

Pagal numatytuosius nustatymus, kaupdamas išteklius, BRCC32 įvardija surinktų išteklių (.RES) failą baziniu .RC failo pavadinimu ir įdeda į tą patį katalogą kaip .RC failas.

Šaltinio failą galite pavadinti bet kuo, jei jo plėtinys yra „.RES“, o failo vardas be plėtinio nėra tas pats kaip bet kurio vieneto ar projekto failo vardas. Tai svarbu, nes pagal nutylėjimą kiekvienas „Delphi“ projektas, kuris kompiliuotas į programą, turi išteklių failą tuo pačiu pavadinimu kaip projekto failas, bet su plėtiniu .RES. Geriausia failą išsaugoti tame pačiame aplanke kaip ir projekto failą.

Išteklių įtraukimas (susiejimas / įdėjimas) į vykdomuosius failus

Kai .RES failas susietas su vykdomuoju failu, programa gali įkelti savo išteklius vykdymo metu, kiek reikia. Norėdami iš tikrųjų naudoti išteklius, turėsite atlikti keletą „Windows API“ skambučių.

Kad galėtumėte sekti straipsnį, jums reikės naujo „Delphi“ projekto su tuščia forma (numatytasis naujas projektas). Žinoma, pridėkite {$ R AboutDelphi. RES} direktyva pagrindinės formos vienetui. Pagaliau atėjo laikas pamatyti, kaip naudoti išteklius „Delphi“ programoje. Kaip minėta aukščiau, norėdami naudoti resursus, saugomus exe faile, turime elgtis su API. Tačiau „Delphi“ pagalbos rinkmenose, kurios įgalintos „ištekliuose“, galima rasti keletą metodų.

Pavyzdžiui, pažiūrėkite į „LoadFromResourceName“ objekto „TBitmap“ metodas. Šis metodas ekstrahuoja nurodytą bitkoino resursą ir priskiria jį „TBitmap“ objektui. Tai yra * tiksliai * tai, ką daro „LoadBitmap“ API skambutis. Kaip visada „Delphi“ patobulino API funkcijos iškvietimą, kad geriau atitiktų jūsų poreikius.

Dabar pridėkite „TMediaPlayer“ komponentą prie formos (vardas: MediaPlayer1) ir pridėkite „TButton“ („Button2“). Tegul „OnClick“ įvykis atrodo taip:

Viena nedidelių * problemų * yra ta, kad programa sukuria MP3 dainą vartotojo kompiuteryje. Galite pridėti kodą, kuris ištrina tą failą prieš nutraukiant programą.

Išgaunamas *???

Žinoma, kiekvienas kitas dvejetainio failo tipas gali būti saugomas kaip RCDATA tipas. „TRsourceStream“ yra sukurtas specialiai tam, kad padėtų mums išgauti tokį failą iš vykdomosios programos. Galimybių yra begalė: HTML failas „exe“, „EXE“ „exe“, tuščia duomenų bazė „exe“ ir pan.

instagram story viewer