FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Logiciel de planétarium.
Compacter/décompacter des fichiers (.zip) Emptypar Pedro Aujourd'hui à 10:37

» Un autre pense-bête...
Compacter/décompacter des fichiers (.zip) Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Compacter/décompacter des fichiers (.zip) Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Compacter/décompacter des fichiers (.zip) Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Compacter/décompacter des fichiers (.zip) Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Compacter/décompacter des fichiers (.zip) Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Compacter/décompacter des fichiers (.zip) Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Compacter/décompacter des fichiers (.zip) Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Compacter/décompacter des fichiers (.zip) Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Compacter/décompacter des fichiers (.zip) Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Compacter/décompacter des fichiers (.zip) Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Compacter/décompacter des fichiers (.zip) Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Compacter/décompacter des fichiers (.zip) Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Compacter/décompacter des fichiers (.zip) Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Compacter/décompacter des fichiers (.zip) Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
Le Deal du moment : -14%
Lave-linge hublot HOOVER HWP 10 kg (Induction, 1600 ...
Voir le deal
299.99 €

 

 Compacter/décompacter des fichiers (.zip)

Aller en bas 
4 participants
AuteurMessage
JL35




Nombre de messages : 7112
Localisation : 77
Date d'inscription : 29/11/2007

Compacter/décompacter des fichiers (.zip) Empty
MessageSujet: Compacter/décompacter des fichiers (.zip)   Compacter/décompacter des fichiers (.zip) EmptySam 25 Fév 2012 - 18:24

Petit utilitaire sans prétention, pour compacter une série de fichiers à transporter.
En fait c'est 7-Zip qui fait le travail, ceci est simplement une interface. 7-Zip est composé de plusieurs modules, notamment celui lancé normalement depuis Windows. Ici c'est la variante 7z.exe (livrée avec) qui est utilisée, appelable en ligne de commande (donc depuis Panoramic).
Si on ne l'a pas déjà, on peut trouver 7-Zip n'importe où sur le net, c'est gratuit.
Code:

' 7zip.bas compactage/décompactage de fichiers en .zip
LABEL Mode, Chr, Chf, Suf, Tota, Exec, Aide
DIM z7$, r$, fr$, fm$, sr$, a$, i%, ta%, zip%

z7$ = "C:\Progra~1\7-Zip\7z.exe ": ' Programme 7-Zip
fm$ = "C:\Temp\Tmp.tmp"

WIDTH 0, 530: CAPTION 0, " - COMPACTAGE/DÉCOMPACTAGE  DE FICHIERS ZIP -"
BORDER_SMALL 0: COLOR 0, 192,255,255: FONT_BOLD 0
ALPHA 1: TOP 1, 8: LEFT 1, 5: CAPTION 1, " Répertoire (clic pour choisir):"
EDIT 2: TOP 2, 25: LEFT 2, 5: WIDTH 2, 500
ON_CLICK 2, Chr
ALPHA 3: TOP 3, 53: LEFT 3, 10: CAPTION 3, " Fichiers:"
ALPHA 4: TOP 4, 53: LEFT 4, 160: CAPTION 4, " Liste à compacter:"
LIST 5: TOP 5, 70: LEFT 5, 5: WIDTH 5, 150: HEIGHT 5, 280
ON_CLICK 5, Chf
LIST 6: TOP 6, 70: LEFT 6, 160: WIDTH 6, 350: HEIGHT 6, 260
ON_CLICK 6, Suf
ALPHA 7: TOP 7, 363: LEFT 7, 5: CAPTION 7, " Fichier résultat (.zip):"
EDIT 8: TOP 8, 380: LEFT 8, 5: WIDTH 8, 500
ALPHA 9: TOP 9, 400: LEFT 9, 5
BUTTON 10: TOP 10, 410: LEFT 10, 300: CAPTION 10, "Compacter"
ON_CLICK 10, Exec
BUTTON 11: TOP 11, 0: LEFT 11, 460: WIDTH 11,50:CAPTION 11, "Aide"
ON_CLICK 11, Aide
ALPHA 12: TOP 12, 330: LEFT 12, 160
BUTTON 13: TOP 13, 3: LEFT 13, 280: height 13,20: CAPTION 13, "Zip"
BUTTON 14: TOP 14, 3: LEFT 14, 370: height 14,20: CAPTION 14, "Unzip"
ON_CLICK 13, Mode: ON_CLICK 14, Mode
OPEN_DIALOG 99
zip% = 0: ' Mode Zip (=1: mode Unzip)
2D_PEN_COLOR 192,255,255
2D_FILL_COLOR 255,0,0: 2D_RECTANGLE 277,0,358,25
2D_FILL_COLOR 192,255,255: 2D_RECTANGLE 367,0,448,25
END

Mode:
IF CLICKED(13) = 1
    zip% = 0
    CAPTION 1, " Répertoire (clic pour choisir):"
    CAPTION 3, " Fichiers:"
    CAPTION 4, " Liste à compacter:"
    CAPTION 7, " Fichier résultat (.zip):"
    CAPTION 10, "Compacter"
    2D_FILL_COLOR 255,0,0: 2D_RECTANGLE 277,0,358,25
    2D_FILL_COLOR 192,255,255: 2D_RECTANGLE 367,0,448,25
ELSE
    zip% = 1
    CAPTION 1, " Fichier à dézipper (clic pour choisir):"
    CAPTION 3, " Taille réelle:"
    CAPTION 4, " Liste des fichiers inclus:"
    CAPTION 7, " Répertoire résultat:"
    CAPTION 10, "Dézipper"
    2D_FILL_COLOR 255,0,0: 2D_RECTANGLE 367,0,448,25
    2D_FILL_COLOR 192,255,255: 2D_RECTANGLE 277,0,358,25
END_IF
CLEAR 5: CLEAR 6: TEXT 2, "": TEXT 8, "": CAPTION 9, ""
RETURN

Chr:
r$ = FILE_NAME$(99): IF LEN(r$) < 4 THEN RETURN
IF zip% = 1
    TEXT 2, r$
    IF UPPER$(RIGHT$(r$, 4)) <> ".ZIP"
        MESSAGE "Ce n'est pas un fichier zip !": RETURN
    END_IF
    EXECUTE_WAIT "Cmd.exe /c " + z7$+"l "+r$+ " >" + fm$
    CLEAR 5: CLEAR 6
    FILE_OPEN_READ 1, fm$
    FILE_READLN 1, a$
    WHILE LEFT$(a$, 5) <> "-----": FILE_READLN 1, a$: END_WHILE
    FILE_READLN 1,a$
    WHILE LEFT$(a$, 5) <> "-----"
        ITEM_ADD 5, MID$(a$,27,12)
        ITEM_ADD 6, MID$(a$,54,50): FILE_READLN 1, a$
    END_WHILE
    FILE_CLOSE 1: FILE_DELETE fm$
ELSE
r$ = FILE_EXTRACT_PATH$(r$): TEXT 2, r$
sr$ = DIR_CURRENT$
DIR_CHANGE r$
CLEAR 5
a$ = FILE_FIND_FIRST$
WHILE a$ <> "_"
    IF FILE_EXISTS(a$) = 1 THEN ITEM_ADD 5, a$: ' c'est bien un fichier
    a$ = FILE_FIND_NEXT$
END_WHILE
DIR_CHANGE sr$
END_IF
RETURN

Chf:
ITEM_ADD 6, r$ + ITEM_INDEX$(5)
GOSUB Tota
RETURN

Suf:
ITEM_DELETE 6, ITEM_INDEX(6)
GOSUB Tota
RETURN

Tota:
ta% = 0
IF COUNT(6) > 0
    FOR i% = 1 TO COUNT(6)
        FILEBIN_OPEN_READ 1,ITEM_READ$(6,i%): ta%=ta%+FILEBIN_SIZE(1): FILEBIN_CLOSE 1
    NEXT i%
END_IF
CAPTION 12, " Total = " + STR$(ta%)+" octets."
RETURN

Exec:
IF COUNT(6) = 0 THEN RETURN
fr$ = TEXT$(8)
IF fr$ = ""
    If zip% = 0
        MESSAGE "Nom du fichier résultat .zip manquant !"
    ELSE
        MESSAGE "Nom du répertoire résultat manquant !"
    END_IF
    RETURN
END_IF
IF zip% = 1
    ' extraction
    EXECUTE_WAIT z7$ + "e -o" + fr$ + " " + TEXT$(2)
    CAPTION 9, "Fichiers extraits."
ELSE
    ' compression
IF FILE_EXISTS(fr$) = 1 THEN FILE_DELETE fr$
a$ = ""
FOR i% = 1 TO COUNT(6)
    a$ = a$ + " " + ITEM_READ$(6, i%)
NEXT i%
EXECUTE_WAIT z7$ + "a " + TEXT$(8) + " " + a$
FILEBIN_OPEN_READ 1, TEXT$(8): ta% = FILEBIN_SIZE(1): FILEBIN_CLOSE 1
CAPTION 9, " Résultat = " + STR$(ta%) + " octets."
END_IF
RETURN

Aide:
DIM rc$: rc$ = CHR$(13)+CHR$(10)
a$ = "      - COMPACTAGE/DÉCOMPACTAGE DE FICHIERS ZIP -"+rc$+rc$
a$=a$+"Choisir le mode 'Zip' (compactage) ou 'Unzip' (décompactage)."+rc$+rc$
a$=a$+"Compactage de fichiers en .zip:"+rc$
a$=a$+"---------------------------------"+rc$
a$=a$+"Clic dans la zone 'Répertoire' puis sur un fichier quelconque de ce"+rc$
a$=a$+"répertoire, la liste des fichiers s'affiche à gauche."+rc$
a$=a$+"Cliquer sur les fichiers à compacter, ils sont transportés dans la"+rc$
a$=a$+"liste à droite. On peut sélectionner des fichiers dans des répertoires"+rc$
a$=a$+"différents, il suffit de recliquer dans le champ 'Répertoire'."+rc$
a$=a$+"On peut annuler une sélection en cliquant sur l'article correspondant."+rc$+rc$
a$=a$+"Une fois la liste complète, entrer un chemin complet de fichier"+rc$
a$=a$+"résultat (.zip) dans le champ 'Fichier résultat'."+rc$+rc$
a$=a$+"Lancer l'opération de compactage: bouton 'Compacter', l'affichage"+rc$
a$=a$+"de la taille du fichier résultat indique que l'opération est terminée."+rc$+rc$
a$=a$+"Décompactage d'un fichier .zip:"+rc$
a$=a$+"---------------------------------"+rc$
a$=a$+"Clic la fenêtre 'Fichier à dézipper', choisir le fichier .zip."+rc$
a$=a$+"La liste des fichiers inclus s'affiche, avec leur taille réelle respective."+rc$
a$=a$+"Clic la zone 'Répertoire résultat' pour choisir le répertoire destinataire."+rc$
a$=a$+"Lancer le décompactage: bouton 'Dézipper'."+rc$+rc$
MESSAGE a$
FREE rc$
RETURN
26/2 ajouté le décompactage


Dernière édition par JL35 le Dim 26 Fév 2012 - 16:05, édité 3 fois
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Compacter/décompacter des fichiers (.zip) Empty
MessageSujet: Re: Compacter/décompacter des fichiers (.zip)   Compacter/décompacter des fichiers (.zip) EmptySam 25 Fév 2012 - 18:50

Joli exemple de l'utilisation de fichiers Smile
Revenir en haut Aller en bas
exdragon

exdragon


Nombre de messages : 601
Date d'inscription : 05/01/2012

Compacter/décompacter des fichiers (.zip) Empty
MessageSujet: Re: Compacter/décompacter des fichiers (.zip)   Compacter/décompacter des fichiers (.zip) EmptySam 25 Fév 2012 - 23:02

Oui, bravo pour ce programme, c'est un nouvel utilitaire pour panoramic Wink
D'ailleurs il pourrait très bien être implanté dans le programme de fichiers qu'a fait Klaus.
Revenir en haut Aller en bas
JL35




Nombre de messages : 7112
Localisation : 77
Date d'inscription : 29/11/2007

Compacter/décompacter des fichiers (.zip) Empty
MessageSujet: Re: Compacter/décompacter des fichiers (.zip)   Compacter/décompacter des fichiers (.zip) EmptyDim 26 Fév 2012 - 16:06

Et pour faire bonne mesure, j'ai ajouté le décompactage d'un .zip, pour avoir l'outil complet.

Remarque pour Jack: souvent (mais pas systématiquement ?), en mode BORDER_SMALL, le Caption du Form 0 n'est pas bien centré verticalement, le bas du texte est tronqué.
(c'est un détail esthétique).
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Compacter/décompacter des fichiers (.zip) Empty
MessageSujet: Re: Compacter/décompacter des fichiers (.zip)   Compacter/décompacter des fichiers (.zip) EmptyDim 26 Fév 2012 - 16:35

Pareil pour moi, le problème est peut-être lié à Panoramic sous W7 car je crois que l'on est tout les 2 sous W7
Revenir en haut Aller en bas
JL35




Nombre de messages : 7112
Localisation : 77
Date d'inscription : 29/11/2007

Compacter/décompacter des fichiers (.zip) Empty
MessageSujet: Re: Compacter/décompacter des fichiers (.zip)   Compacter/décompacter des fichiers (.zip) EmptyDim 26 Fév 2012 - 16:39

Oui, mais il me semble bien que je l'avais avant W7...
Dans le cas présent on peut fort bien supprimer le border_small, mais enfin c'est une petite anomalie quand même.
Il doit afficher avec les mêmes repères que si c'était un border normal.
Mais j'ai l'impression que ça dépend du contenu du Form 0, puisque ce n'est pas systématique, bizarre.
Revenir en haut Aller en bas
bignono

bignono


Nombre de messages : 1127
Age : 67
Localisation : Val de Marne
Date d'inscription : 13/11/2011

Compacter/décompacter des fichiers (.zip) Empty
MessageSujet: Re: Compacter/décompacter des fichiers (.zip)   Compacter/décompacter des fichiers (.zip) EmptyDim 26 Fév 2012 - 16:50

C'est un petit bug que je trouve gènant et inesthétique. Si Jack pouvait le corriger pour la prochaine version.
Revenir en haut Aller en bas
JL35




Nombre de messages : 7112
Localisation : 77
Date d'inscription : 29/11/2007

Compacter/décompacter des fichiers (.zip) Empty
MessageSujet: Re: Compacter/décompacter des fichiers (.zip)   Compacter/décompacter des fichiers (.zip) EmptyDim 26 Fév 2012 - 16:55

J'essaie de voir ce qui provoque ça, mais avec un petit programme je n'arrive pas à le reproduire. Pourtant dans mon programme ci-dessus ça le fait bien.
Revenir en haut Aller en bas
bignono

bignono


Nombre de messages : 1127
Age : 67
Localisation : Val de Marne
Date d'inscription : 13/11/2011

Compacter/décompacter des fichiers (.zip) Empty
MessageSujet: Re: Compacter/décompacter des fichiers (.zip)   Compacter/décompacter des fichiers (.zip) EmptyDim 26 Fév 2012 - 17:14

Voici un programme simple, qui tronque le titre de la fenêtre, ce qui n'est pas normal.
Ce que je trouve aussi anormal, c'est quand je déclare un picture avec des dimensions supérieures au form sur lequel il se trouve, les ascenseurs se mettent en place, ce qui est normal, mais si j'active la ligne border_hide, c'est à dire que je désire faire disparaître les bords du form, il me fait disparaître les ascenseurs avec! ce n'est pas normal ça! Les ascenseurs devraient rester en place afin d'évoluer dans le picture!
Code:
border_normal 0
full_space 0:border_small 0:caption 0,"ESSAI D'affichage!!!"

picture 1:width 1,5000:height 1,3000

' border_hide 0
while scancode=0:end_while
terminate
Revenir en haut Aller en bas
JL35




Nombre de messages : 7112
Localisation : 77
Date d'inscription : 29/11/2007

Compacter/décompacter des fichiers (.zip) Empty
MessageSujet: Re: Compacter/décompacter des fichiers (.zip)   Compacter/décompacter des fichiers (.zip) EmptyDim 26 Fév 2012 - 17:27

là c'est bien net, en effet.
Revenir en haut Aller en bas
Contenu sponsorisé





Compacter/décompacter des fichiers (.zip) Empty
MessageSujet: Re: Compacter/décompacter des fichiers (.zip)   Compacter/décompacter des fichiers (.zip) Empty

Revenir en haut Aller en bas
 
Compacter/décompacter des fichiers (.zip)
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» fichiers .csv
» Fichiers
» Renomme-fichiers
» dir repertoires et fichiers
»  Exécution des fichiers CPL

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: