| |
|
|
Uwe ''Pascal'' Niemeier | Hi Personas!
Hier zwei Minimal-Beispiele (sin Fehlerabfrage), cómo mithilfe el ocx3a-Routinen el Windows-internen Zip-Características nutzen kann.
Expediente oder Ordner packen: KompilierenMarcaSeparaciónwindow 200,200
$H Windows.ph
$H ocx3a.ph
$I ocx3a.inc
var Quelle$="C:2Test"---existierende Datei oder Ordner
var Ziel$="C:Test.zip"--anzulegende Datei
declare a#:dim a#,24:clear a#
byte a#,0=80,75,5,6
blockwrite Ziel$,a#,0,24--leere Zip-Datei erzeugen
dispose a#
ocxInit()
var Shell&=ocxCreate("Shell.Application")
var Ziel&=ocxMethod(Shell&,"NameSpace",Ziel$)--ZIP wird von Windows wie Ordner behandelt
ocxMethod(Ziel&,"CopyHere",Quelle$)------------Quelle nach Pseudo-"Ordner" kopieren
set("ErrorLevel",0)---Komprimieren arbeitet asynchron, darum Statusabfrage nötig
while 1
sleep 50
case filesize(Ziel$)>-1:break--Datei "fertig", sonst Größe = -1
print Time$(1)
endwhile
set("ErrorLevel",1)
ocxRelease(Ziel&,Shell&)
print "Fertig"
ocxDeInit()
waitkey
ZIP-Expediente entpacken: KompilierenMarcaSeparaciónwindow 200,200
$H Windows.ph
$H ocx3a.ph
$I ocx3a.inc
var Quelle$="C:Test.zip"--existierende zip-Expediente
var Ziel$="C:1Test"-------existierender Zielordner
ocxInit()
var Shell&=ocxCreate("Shell.Application")
var Ziel&=ocxMethod(Shell&,"NameSpace",Ziel$)
var Quelle&=ocxMethod(Shell&,"NameSpace",Quelle$)
var Items&=ocxMethod(Quelle&,"Items")
ocxMethod(Ziel&,"CopyHere",Items&)
--Entpacken arbeitet synchron, por lo tanto no Statusabfrage nötig (??)
imprimir "Fertig"
ocxRelease(Items&,Ziel&,Quelle&,Shell&)
ocxDeInit()
waitkey
El Codes comportamiento se genauso como Windows-Originale, d.h. en großen Archivos erscheint una Fortschrittsanzeige y beim Entpacken se quizás gefragt, si existierende Archivos überschrieben voluntad debería.
PS: Wenn el ocx-Routinen direkt después de Aufruf el Características De-Initialisiert voluntad (como en esta Demos), puede ser se el Aufruf de ocxRelease() sparen, porque todavía offene ocx-Objetos por ocxDeInit() automáticamente freigegeben voluntad.
SeeYou Pascal |
|
|
| |
|
|
|
Dieter Zornow | Super gemacht, hast du auch veces intenta una Zipdatei con Contraseña a entpacken, se como automáticamente nachgefragt oder unterstützt el Windowsroutine el no. |
|
|
| Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2 | 27.12.2009 ▲ |
|
|
|
|
Sato Pinto | ¡Hola
En me brich beim unpacken el programm de
Gruss Sato |
|
|
| |
|
|
|
Uwe ''Pascal'' Niemeier | Hi Personas!
@ Dieter: Beim Entpacken se en el Tat en Bedarf una Contraseña gefragt; beim Packen no, porque Windows dies eben no incluso unterstützt.
@ Sato: Keine Fehlermeldung? Intento veces por $D rauszukriegen, wos klemmt y laß dir el Inhalte el verwendeten Variables Mostrar.
SeeYou Pascal |
|
|
| |
|
|
|
Sato Pinto | ¡Hola Pascal
Laut $D el Línea verursacht el Programabruch ocxMethod(Ziel&,"CopyHere",Items&)
Gruss Sato |
|
|
| |
|
|
|
Uwe ''Pascal'' Niemeier | Hi Sato!
Wenn Ziel& y Items& no Null son, debería lo klappen Ansonsten könntest du antes y/oder después de "CopyHere" veces una Sleep 200 más o menos einsetzen. Könnte una Timing-Problema ser.
@ All: Sombrero sonst todavía alguien Problemas con esta Características?
SeeYou Pascal |
|
|
| |
|
|
|
| Me complace sólo en él, correcto angucken kann Yo sólo bisl später. |
|
|
| |
|
|
|
Sato Pinto | ¡Hola
Mit el Sleep Befehle funktioniert prima, Gracias
Gruss Sato |
|
|
| |
|
|