Seite 1 von 2

Pure_ZIP mit Pack Status

Verfasst: 21.03.2009 14:45
von Joel
Hallo,

gibt es eine Möglichkeit herauszufinden, wie viel Byte der Packer bei der Packer Lib: Pure_ZIP schon gepackt hat?

Code: Alles auswählen

PureZIP_AddFile(MyZIP, MyFilesToZIP, #PureZIP_StorePathAbsolute)

Verfasst: 21.03.2009 14:51
von Kaeru Gaman
ich kenn das ding nicht wirklich und benutz es auch nicht, aber ich les ab und zu was drüber im forum,
und ich entsinne mich, dass es da für den "progress" einen "callback" gibt.

Verfasst: 21.03.2009 15:01
von Joel
Sowas gibts....

Code: Alles auswählen

PureZIP_SetProgressionCallback(@PureZIP_CallbackP())
habe einiges versucht, verstehe aber nicht, wie ich den Callback anwende, ich bekomme immer 0 zurück.

Verfasst: 21.03.2009 15:03
von mk-soft
Inder Hilfe von PureZIP

"PureZIP_SetCompressionCallback(*ProcedureAddress)"

FF :wink:

Verfasst: 21.03.2009 15:06
von mk-soft
Es wird die Procedure automatisch aufgerufen. In dieser Procedure die Ausgabe programmieren. Mit PureZIP_SetCompressionCallback(*ProcedureAddress) wird die Adresse auf die Procedure gesetz.
Sie Beispiel in der Hilfe

Verfasst: 21.03.2009 15:13
von rolaf
>>> Inder Hilfe von PureZIP

Ne Inder Hilfe? Auf indisch?

Scherz beiseite, da ist sogar ein fettes Example dabei. Sollte also kein Problem sein.

Verfasst: 21.03.2009 15:23
von Joel
Habe mir das eben ales angesehen, aber bekomme immer 0 zurück, deswegen habe ich nach gefragt...Bei Beispiel siehe hier:




Code: Alles auswählen


  Procedure PureZIP_CallbackP(File.s, PerCent.f)
  Repeat 
  Delay(1000)
	Debug FileName ;: current processed file (If applicable)
	Debug  Progression ;: progression percentage)
	Until r = 4
EndProcedure

Code: Alles auswählen

Debug PureZIP_SetProgressionCallback(@PureZIP_CallbackP())
MyZIP.s = Tempdir$+"Filetrans.zip"  
MyFilesToZIP.s = Upload_Datei_Pfad$ 
Debug PureZIP_AddFile(MyZIP, MyFilesToZIP, #PureZIP_StorePathAbsolute)
AddFile = 1
Callback = 0
procedure wird garnicht aufgufen

Verfasst: 21.03.2009 15:27
von ts-soft
Ich kenne zwar die Lib nicht, aber wenn dann sieht das Callback so aus:

Code: Alles auswählen

Procedure PureZIP_CallbackP(File.s, PerCent.f)
   Debug File ;: current processed file (If applicable)
   Debug PerCent ;: progression percentage)
EndProcedure

Verfasst: 21.03.2009 15:40
von Joel
Hier ein kürzeres Beispiel:

Code: Alles auswählen

Procedure PureZIP_CallbackP(File.s, PerCent.f) 
   Debug File ;: current processed file (If applicable) 
   Debug PerCent ;: progression percentage) 
EndProcedure

Debug PureZIP_SetProgressionCallback(@PureZIP_CallbackP())
MyZIP.s = "C:\Users\TE.zip"  
MyFilesToZIP.s = "F:\r.3gp"
Debug PureZIP_AddFile(MyZIP, MyFilesToZIP, 0)
Also die Procedure wird scheinbar garnicht ausgeführt und der Callback gibt 0 zurück-

Verfasst: 21.03.2009 15:54
von ts-soft
Hab mir jetzt die Hilfe besorgt.
> Debug PureZIP_SetProgressionCallback(@PureZIP_CallbackP())
Da steht nicht, das diese Funktion irgendeinen Wert zurückgibt!
Lediglich das das Callback zum Abbrechen 1 zurückgeben sollte, ansonsten 0
Du gibts nichts zurück, ist also okay.
Müßte funktionieren.

Ansonsten vielleicht mal mit minizip probieren, da kann ich besser helfen

// edit
Ich sehe gerade, für c:\users sind Adminrechte erforderlich!
Aber in Deiner Signatur steht was von XP - Home?