Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - Comprimere e decomprimere
Forum - Visual Basic 6 - Comprimere e decomprimere

Avatar
vb6 (Normal User)
Pro


Messaggi: 154
Iscritto: 10/01/2007

Segnala al moderatore
Postato alle 19:51
Giovedì, 25/01/2007
Ciao a tutti. Come da titolo, mi piacerebbere sapere il modo per comprimere e decomprimere un file attraverso due command button.
Ciao e ringrazio anticipatamente :k:

PM Quote
Avatar
P4p3r0g4 (Member)
Guru


Messaggi: 1319
Iscritto: 29/12/2006

Segnala al moderatore
Postato alle 16:05
Venerdì, 26/01/2007
chiami da shell zip e unzip
shell "zip " & percorso
sicuramente ci sono anche delle api a proposito hai cercato su google?

PM Quote
Avatar
vb6 (Normal User)
Pro


Messaggi: 154
Iscritto: 10/01/2007

Segnala al moderatore
Postato alle 16:17
Venerdì, 26/01/2007
Ho provato a fare shell "zip" & C:\prova.txt, ma non va... :(
Non è che mi potresti dare qualche altro consiglio?

PM Quote
Avatar
P4p3r0g4 (Member)
Guru


Messaggi: 1319
Iscritto: 29/12/2006

Segnala al moderatore
Postato alle 16:42
Venerdì, 26/01/2007
hai messo lo spazio?

PM Quote
Avatar
P4p3r0g4 (Member)
Guru


Messaggi: 1319
Iscritto: 29/12/2006

Segnala al moderatore
Postato alle 16:49
Venerdì, 26/01/2007
e poi non funziona così
shell ti richiama da dos la funzione
quindi shell "zip " & percorso
cosa fa? scrive una finestra dos contenente "zip " e il conetuto della variabile percorso
percorso io lo intendevo come stringa.
dovrai metter in una stringa chiamata come ti pare AD ESEMPIO percorso la frase "c:\prova.txt"
e poi chamare lo shell con
shell "zip " & percorso
se devi comprimere solo prova.txt basta che scrivi
shell "zip C:\prova.txt"

PM Quote
Avatar
gabryk (Normal User)
Rookie


Messaggi: 24
Iscritto: 04/10/2006

Segnala al moderatore
Postato alle 22:08
Lunedì, 20/10/2008
Ho un problema con la compressione/decompressione.
Uso una ottima dll trovata in rete e ovviamente le dll zip32 e unzip.
Diciamo che, in linea di massima funziona tutto, ovvero ottengo l'archivio zip di quello che voglio e riesco a decomprimerlo, però c'è un "particolare" nel mio caso molto importante che non riesco a correggere.
Il mio programma per funzionare si basa su alcune cartelle situate nella app.path, tramite il comando zip interno al programma io voglio che venga creato un archivio contenente queste cartelle (con tutti i file all'interno).
Mettiamo che la mia app.path sia D:\Pippo\Progetti\FC\ e poi qui ho la cartella "ciao", io voglio ottenere uno zip che dentro abbia solo il percorso "ciao", invece ottengo uno zip che riporta tutto il percorso, "Pippo\Progetti\FC\ciao"... come faccio a restringere il percorso zippato a solo quello che mi interessa?

Perchè io voglio che quando unzippo il file mi venga chiesto se voglio sostituire le cartelle esistenti per sovrascrivere i dati, invece con quello che succede a me viene creato il percorso "Pippo\Progetti\FC\ciao" dentro al già esistente "Pippo\Progetti\FC\" ed è un casino...

Spero di essermi capito :-|

PM Quote
Avatar
gabryk (Normal User)
Rookie


Messaggi: 24
Iscritto: 04/10/2006

Segnala al moderatore
Postato alle 23:23
Lunedì, 20/10/2008
RISOLTO!
Grazie a Mid(app.path, InStrRev(app.path, "\") + 1, Len(app.path)) + "\*.*" che restituisce solo l'ultima directory di un dato percorso.

Ad esempio da "Pippo\Progetti\FC\ciao" restituisce "ciao", che è quello che mi serviva. Grazie a internet! :k:

PM Quote
Avatar
P4p3r0g4 (Member)
Guru


Messaggi: 1319
Iscritto: 29/12/2006

Segnala al moderatore
Postato alle 23:45
Lunedì, 20/10/2008
Testo quotato

Postato originariamente da gabryk:

RISOLTO!
Grazie a Mid(app.path, InStrRev(app.path, "\") + 1, Len(app.path)) + "\*.*" che restituisce solo l'ultima directory di un dato percorso.

Ad esempio da "Pippo\Progetti\FC\ciao" restituisce "ciao", che è quello che mi serviva. Grazie a internet! :k:



ehm NO.

Mid(app.path, InStrRev(app.path, "\") + 1, Len(app.path))
restituisce l'ultima directory (nel tuo caso "ciao")

Mid(app.path, InStrRev(app.path, "\") + 1, Len(app.path)) + "\*.*"
restituisce tutti i file dell'ultima directory (nello specifico restituisce nel tuo caso "ciao\*.*")

PM Quote
Avatar
gabryk (Normal User)
Rookie


Messaggi: 24
Iscritto: 04/10/2006

Segnala al moderatore
Postato alle 7:58
Martedì, 21/10/2008
Che è esattamente quello che mi serve perchè sto parlando di compressione/decompressione e quella stringa la uso per aggiungere all'archivio tutti i file di una cartella! ;)

PM Quote