Deutsch
Quelltexte/ Codesnippets

Funktionen Nutzen Ocx Zip

 

Uwe
''Pascal''
Niemeier
Hi Leute!

Hier zwei Minimal-Beispiele (ohne Fehlerabfrage), wie man mithilfe der ocx3a-Routinen
die Windows-internen Zip-Funktionen nutzen kann.

Datei oder Ordner packen:
KompilierenMarkierenSeparieren
window 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-Datei entpacken:
KompilierenMarkierenSeparieren
window 200,200
 $H Windows.ph
 $H ocx3a.ph
 $I ocx3a.inc
var Quelle$="C:Test.zip"--existierende zip-Datei
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, darum keine Statusabfrage nötig (??)
print "Fertig"
ocxRelease(Items&,Ziel&,Quelle&,Shell&)
ocxDeInit()
waitkey

Die Codes verhalten sich genauso wie die Windows-Originale, d.h. bei großen
Dateien erscheint eine Fortschrittsanzeige und beim Entpacken wird gegebenenfalls
gefragt, ob existierende Dateien überschrieben werden sollen.

PS: Wenn die ocx-Routinen direkt nach Aufruf der Funktionen De-Initialisiert werden
(wie in diesen Demos), kann man sich den Aufruf von ocxRelease() sparen, weil
noch offene ocx-Objekte durch ocxDeInit() automatisch freigegeben werden.

SeeYou
Pascal
 
27.12.2009  
 




Dieter
Zornow
Super gemacht, hast du auch mal versucht eine Zipdatei mit Passwort zu entpacken, wird da automatisch nachgefragt oder unterstützt die Windowsroutine das nicht.
 
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
Hallo

Bei mir brich beim unpacken das programm ab

Gruss
Sato
 
Sato Pinto
WIN XP Home
XPROFAN 11
27.12.2009  
 




Uwe
''Pascal''
Niemeier
Hi Leute!

@ Dieter:
Beim Entpacken wird in der Tat bei Bedarf nach einem Passwort gefragt; beim Packen nicht,
weil Windows dies eben nicht selbst unterstützt.

@ Sato:
Keine Fehlermeldung?
Versuch mal per $D rauszukriegen, wos klemmt und laß dir die Inhalte der verwendeten
Variablen anzeigen.

SeeYou
Pascal
 
28.12.2009  
 




Sato
Pinto
Hallo Pascal

Laut $D
die Zeile verursacht den Programabruch
ocxMethod(Ziel&,"CopyHere",Items&)

Gruss
Sato
 
Sato Pinto
WIN XP Home
XPROFAN 11
29.12.2009  
 




Uwe
''Pascal''
Niemeier
Hi Sato!

Wenn Ziel&  und Items&  nicht Null sind, sollte es klappen
Ansonsten könntest du vor und/oder nach "CopyHere" mal ein Sleep 200  oder so einsetzen.
Könnte ein Timing-Problem sein.

@ All: Hat sonst noch jemand Probleme mit diesen Funktionen?

SeeYou
Pascal
 
30.12.2009  
 



Ich freue mich erst drauf, richtig angucken kann ich erst bisl später.
 
30.12.2009  
 




Sato
Pinto
Hallo

Mit die Sleep Befehle funktioniert prima, Danke

Gruss
Sato
 
Sato Pinto
WIN XP Home
XPROFAN 11
30.12.2009  
 



Zum Quelltext


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

8.735 Betrachtungen

Unbenanntvor 0 min.
Member 862464113.05.2024
Sven Bader11.07.2021
Andre Rohland27.01.2018
Gast-081515.05.2016
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie