Læse / Skrive fra pakkede filer

Tags:    delphi

ER det ikke sådan at man kan lave et program der pakker filerne ind i en fil og ikke zip fil men skal vi sige fx. bin eller ens egen fil type og så kan man læse filerne fra den og skrive til den.. Er der ikke nogen der kan hjælpe lidt med det.. :D

SkypeR That\\'s ME :D

----------------------------------------------
%49%66%20%79%6F%75%27%76%65%20%74%72%61%6E%73%6C%61%74%65%64%20%74%68%69%73%2C%20%79%6F%75%20%6D%75%73%74%20%62%65%20%62%6F%72%65%64%2E%2E%2E



3 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
Du skal kigge på nettet efter VFS (Virtual File System), man bruger det meget i spiludvikling. I princippet foregår det ved at man har en fil hvor man "injecter" andre filer i. Typisk gøres det ved at lave en midlertidig fil hvor man skriver en række bytes der tilsammen indeholder informationer omkring de filer der findes i dit arkiv, det være sig navn, størrelse, start sted... osv. I en anden fil indsætter du så din fil fx. mitbillede.bmp byte for byte, i din tmp fil skriver du så start sted, længde, navn og så videre. Videre til næste fil, den "injecter" du der hvor den anden fil stoppede (start+længde) og skriver informationer om det ned i din tmp fil. Når alt dette er færdig og du har alle filer "injected" i din arkiv fil, så skriver du dine filinformationer i starten af filen. Herefter er det bare at lave en funktion der kan læse den anden vej...... simpelt ikk :-)

(¯`·._.·[Brian Hvarregaard]·._.·´¯)



Du skal kigge på nettet efter VFS (Virtual File System), man bruger det meget i spiludvikling. I princippet foregår det ved at man har en fil hvor man "injecter" andre filer i. Typisk gøres det ved at lave en midlertidig fil hvor man skriver en række bytes der tilsammen indeholder informationer omkring de filer der findes i dit arkiv, det være sig navn, størrelse, start sted... osv. I en anden fil indsætter du så din fil fx. mitbillede.bmp byte for byte, i din tmp fil skriver du så start sted, længde, navn og så videre. Videre til næste fil, den "injecter" du der hvor den anden fil stoppede (start+længde) og skriver informationer om det ned i din tmp fil. Når alt dette er færdig og du har alle filer "injected" i din arkiv fil, så skriver du dine filinformationer i starten af filen. Herefter er det bare at lave en funktion der kan læse den anden vej...... simpelt ikk :-)

(¯`·._.·[Brian Hvarregaard]·._.·´¯)


:S Det lyder simpelt men jeg må prøve mig frem... Har du evt. et lille Delphi ekspemel på fx. to filer skal vi sige en bmp fil og en jpg fil... Og så fikse lidt kode sammen på den måde du beskrev det på... Hvis du syntes det er forlidt UP kan vi lige aftale noget

SkypeR That\\'s ME :D

----------------------------------------------
%49%66%20%79%6F%75%27%76%65%20%74%72%61%6E%73%6C%61%74%65%64%20%74%68%69%73%2C%20%79%6F%75%20%6D%75%73%74%20%62%65%20%62%6F%72%65%64%2E%2E%2E



Det med at pakke filer ned til en fil er faktisk ret simpelt, hvis det da altså ikke skal komprimeres :D

Offset = sted/adresse i filen, målt i bytes.

Header:
2B : Offsets Længde
Offsets længde * 4B : Offset til de forskellige filer

Eksempel:

Offset længde = 0x1
Offset nr. 1 = 0x3
Fra offset nr. 1 til eof (end of file) ligger der så en fil og venter.
Dette kan så være bmp, jpg, ligemeget det kan jo aflæses i filens header.

n i f e
115 105 102 105
6E 69 66 69

[Redigeret d. 08/06-04 21:20:31 af Nicolai Lyster Fersner]



t