Conectarea resurselor în executabilelor delphi
In acest articol voi încerca să explice modul în care să includă fișiere în aplicația Delphi ca diferite tipuri de resurse, și cum să le gestioneze.
Puteți transforma orice fișier într-un fișier executabil pentru a fi utilizat ca resursă. Unele tipuri de resurse sunt recunoscute și pot fi utilizate API-ul de abuz. Alții sunt pur și simplu luate ca date binare. În acest articol ne vom uita la ambele tipuri de exemple.
Pentru a crea fișierul de resurse vom începe cu fișierul sursă * .RC. de exemplu, sub numele de Resources.rc. care conține tipurile de resurse (nume, de clasă și de fișiere).
Nume de resurse (sample_bmp, sample_ico etc.) sunt arbitrare. vedere al resurselor poate fi susținută de API-ul (Bitmap, ICON, CURSOR) sau arbitrar (JPEG, WAVE, TEXT). Numele de fișiere determină fișierele care vor fi incluse în .RES. și mai târziu .EXE.
Acum, avem nevoie pentru a compila fișierul .RC pentru a obține fișierul .RES. Pentru a face acest lucru, putem folosi Resource compilatoare Borland (brcc32.exe).
Tastarea pe linia de comandă, obținem:
Pentru a atașa fișierul de resurse pentru proiectul nostru, vom folosi o directivă sau.
Încărcarea resurselor de sprijin (Bitmap, CURSOR, ICON) este simplu ca API Windows ne oferă LoadBitmap funcția, LoadCursor, LoadIcon respectiv, pentru descriptorii acestor elemente.
Alte resurse folosesc un pic mai complicat. Să începem cu o imagine JPEG. Vom folosi funcția TResouceStream. pentru a încărca resursa ca un flux, care va fi încărcat în obiect TJpegImage.
Pentru fișiere WAV avem nevoie de un pointer la resursa încărcate în memorie, precum și pentru fișierul text, avem nevoie pentru a încărca resursa într-un rând. Putem face acest lucru prin utilizarea TResourceStream. dar să ne uităm la un exemplu care utilizează API-ul:
De îndată ce vom încărca resurse WAV în memorie, putem juca ori de câte ori aveți nevoie la utilizarea sndPlaySound. a anunțat în modulul MMSystem.
Există unele resurse (cum ar fi fonturi, cursoare animate), care nu pot fi folosite din memorie. Trebuie să salvați aceste resurse într-un fișier temporar pe disc și să le încărcați de acolo. Funcția următoare salvează un fișier de resurse:
Funcția următoare utilizează cea precedentă, pentru a păstra resursa într-un fișier temporar:
Următoarea caracteristică utilizează SaveResourceAsTempFile. pentru a salva o resursă cursor animat într-un fișier temporar, apoi zagrizit această resursă dintr-un fișier folosind LoadImage și apoi ștergeți fișierul temporar. Funcția returnează un mâner returnat de LoadImage.