Ich wollte einen Ordner zum hochladen packen, den das Programm bei der ersten ausführung wieder entpackt. Leider habe ich ein Problem mit dem entpacken...
Die Dateinamen werden nicht mehr richtig ausgelesen! Was mache ich falsch?
Procedure pack()
CreatePack("gfx.pck")
ExamineDirectory(1,"gfx_save","*.bmp")
Repeat
typ=NextDirectoryEntry()
If typ=1
*id=AllocateMemory(MemoryStringLength(*DirectoryEntryName()))
PokeS(*id,DirectoryEntryName())
If AddPackMemory(*id,MemoryStringLength(*DirectoryEntryName()),9)
Debug PeekS(*id)
EndIf
FreeMemory(*id)
AddPackFile("gfx_save\"+DirectoryEntryName(),9)
EndIf
Until typ=0
ClosePack()
EndProcedure
Procedure unpack()
CreateDirectory("gfx")
OpenPack("gfx.pck")
X=0
Repeat
Nextpf=NextPackFile()
*id=AllocateMemory(Nextpf)
Debug *id
;If *id
*unpack=AllocateMemory(Nextpf+PackFileSize())
len=UnpackMemory(*id,*unpack)
file$=PeekS(*unpack,len)
Debug file$
If file$
FreeMemory(*id)
*id=AllocateMemory(NextPackFile())
;file$=Str(X)+".bmp"
CreateFile(1,"gfx\"+file$)
WriteData(*id,PackFileSize())
CloseFile(1)
FreeMemory(*id)
FreeMemory(*unpack)
Else
Break
EndIf
Until PackFileSize()=0 Or error=1
ClosePack()
EndProcedure
unpack();/pack()
Johann Wolfgang von Geothe hat geschrieben:Wie dieses oder jenes Wort geschrieben wird, darauf kommt es doch eigentlich nicht an, sondern darauf, daß die Leser verstehen, was man damit sagen wollte.
Äh, naja, vorher stand der Dateiname noch in der gepackten Datei, wenn man sie mit dem Texteditor geöffnet hat, jetzt nichtmehr... (das Ergebiniss ist das selbe)
Naja, ich werd die mir das morgen, äh, heute nochmal angucken...
Johann Wolfgang von Geothe hat geschrieben:Wie dieses oder jenes Wort geschrieben wird, darauf kommt es doch eigentlich nicht an, sondern darauf, daß die Leser verstehen, was man damit sagen wollte.