|
Samstag, 29. März 2008 um 21:58 |
Procedure PackFile(File.s, PackFile.s) Protected FFile = ReadFile(#PB_Any, File) If FFile If CreatePack(PackFile) Protected FMem.l = AllocateMemory(10240000); 20 MB If FMem Protected FSize.l = 10240000 While Not Loc(FFile) = Lof(FFile) If Lof(FFile) - Loc(FFile) < 10240000 FSize = Lof(FFile) - Loc(FFile) EndIf ReadData(FFile, FMem, FSize) AddPackMemory(FMem, FSize) Wend EndIf ClosePack() EndIf CloseFile(FFile) FreeMemory(FMem) EndIf EndProcedure Procedure UnPackFile(PackFile.s, File.s) If OpenPack(PackFile) Protected FFile = CreateFile(#PB_Any, File) If FFile Protected FData = NextPackFile() If FData Protected Size = PackFileSize() While Size WriteData(FFile, FData, Size) FData = NextPackFile() If FData Size = PackFileSize() Else Break EndIf Wend EndIf CloseFile(FFile) EndIf ClosePack() EndIf EndProcedure
|
wer nicht 30 Sek. warten kann, bis eine 120 MB Datei durchgearbeitet ist, hat zwei Möglichkeiten;
1.) schnelleren Rechner besorgen
2.) von Hand packen
Grüße
J
jetzt kann ich auch entlich diese PB Funktion Benutzen
Danke
Und macht bitte so weiter mit den PB Funktionen
Weil wir ja auch erstmal PB lernen wollen
und dan ürgendwann den ganzen API Kram
Das Packen und Entpacken funktioniert zwar, die hierfür benötigte erhebliche Zeit schließt eine vernünftige Verwendung jedoch aus.
Für eine Testdatei der Größe 120MB benötigt diese Routine gute 30 Sekunden, das ist inakzeptabel.