Oprócz zasobów zawsze możesz stworzyć swój "mini" format pliku z danymi.
Może to wyglądać np tak:
| Nagłówek pliku, stała ilość bajtów || Indeks plików, stała ilość bajtów || |
|<- Odczytujesz to do rekordu poprzez ->||<- Odczyt pętlą do 2 tabel string ->||<- Tutaj grafika ->|
| jakiś BlockRead czy coś takiego || i integer || |
[Nazwa pliku zasobu][Wersja][Ilość grafik][Nazwa grafiki #n][Rozmiar grafiki #n][Binarne dane grafiki]
[ 50b ][ 4b ][ 4b ][ 16b ][ 4b ][ Tyle ile trzeba ]
[Mój zasób jakiś ][ 1][ 3][Grafika nr 1 ][ 85473][....................]
Rozmiary poszczególnych bloków są podane tylko dla przykładu. Na przykładzie takiego formatu, aby odczytać grafikę nr 5 należy zsumować rozmiary grafik numer 1, 2, 3 i 4 (licząc od 1) do otrzymanej liczby dodać wielkość nagłówka (w tym wypadku 58b) oraz wielkość indeksu (w tym wypadku ilość grafik razy 20b) ustawia się wskaźnik pliku na otrzymaną wartość. Ilość bajtów do odczytania jest w tablicy indeksu - pole rozmiar grafiki. Można by się pokusić i do indeksu zawartości podać oprócz nazwy i rozmiaru jeszcze offset od początku pliku (coś co wyżej było liczone) - zaoszczędzi to czasu przy wielokrotnych odczytach, a policzyć trzeba tylko raz zapisując.