IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Delphi Discussion :

Fichiers zippés et XE2


Sujet :

Langage Delphi

  1. #1
    Inactif
    Homme Profil pro
    Analyste-programmeur Delphi
    Inscrit en
    Décembre 2003
    Messages
    490
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France

    Informations professionnelles :
    Activité : Analyste-programmeur Delphi

    Informations forums :
    Inscription : Décembre 2003
    Messages : 490
    Points : 287
    Points
    287
    Par défaut Fichiers zippés et XE2
    Bonjour à tous,

    Bon ben, je me décide à poser la question, parce que je ne me suis pas levé assez tôt ce matin pour trouver quelque chose dans le merveilleux nouveau système d'aide "Démerdez_vous_tout_seul like" de XE2 .
    J'ai ouïe dire quelque part que la gestion des fichiers zippés était, dorénavant, totalement incorporé à Delphi.
    Quelqu'un saurait-il m'aiguiller pour trouver l'unité qui gére cela (si j'ai bien compris) SVP ?

    Merci d'avance.

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 548
    Points : 25 118
    Points
    25 118
    Par défaut
    C'est vrai que Document Explorer de Microsoft ce n'est pas très pratique !

    En fait, on trouve vite si l'on connait le nom de la classe !
    Le moteur de recherche du wiki est un peu capricieux mais avec google en tapant "Embarcadero VCL ZIP", on le trouve bien plus rapidement !

    C'est bon à savoir, j'ignorais que c'était fourni, effectivement TZipFile donc la documentation est "Embarcadero Technologies ne possède pas d'informations supplémentaires pour le moment. Veuillez nous aider à documenter cette rubrique en utilisant la page Discussion !"

    Je crois que tu vas bon pour lire le code de "...\source\rtl\common\System.Zip.pas"
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Inactif
    Homme Profil pro
    Analyste-programmeur Delphi
    Inscrit en
    Décembre 2003
    Messages
    490
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France

    Informations professionnelles :
    Activité : Analyste-programmeur Delphi

    Informations forums :
    Inscription : Décembre 2003
    Messages : 490
    Points : 287
    Points
    287
    Par défaut
    Et ben super Merci encore une fois Shai.

  4. #4
    Membre du Club
    Homme Profil pro
    Consultant en développement
    Inscrit en
    Septembre 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant en développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 19
    Points : 44
    Points
    44
    Par défaut
    Bonsoir,

    J'avais justement besoin d'une librairie ZIP et je tombe par hasard sur ce topic ! Merci

    J'ai un peu joué avec pour voir si ça correspondait à mes désirs. Si ça peut servir à certains quelques extraits de code (si mon code est "crade" ... j'ai repris Delphi après une bonne 10 aine d'années de "pause" -- j'ai arrêté à Delphi 2) .

    Peupler un TCheckListBox avec l'ensemble des noms (et sous-chemins) des fichiers contenus dans l'archive
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    procedure TFormExtractFromZIP.ButtonSelectContentClick(Sender: TObject);
    var
        fileName : string;
        ZipFile : TZipFile;
    begin
       if OpenDialogZip.Execute then
       begin
            fileName:=OpenDialogZip.FileName;
            ZipFile := TZipFile.Create;
            if not ZipFile.IsValid(fileName) then
                ShowMessage('Invalid file format!')
            else begin
                ZipFile.Open(fileName,zmRead);
     
                CheckListBoxZipFiles.Items.AddStrings(ZipFile.FileNames);
     
                ZipFile.Close;
     
                CheckListBoxZipFiles.CheckAll(cbChecked);
                EditZipFile.Text:=fileName;
            end;
            ZipFile.Free;
       end;
    end;
    Extraire les fichiers qui sont cochés dans le TCheckListBox vers un répertoire (codé en dur ) en créant si besoin est l'arborescence des sous répertoires
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    procedure TFormExtractFromZIP.ButtonExtractZipClick(Sender: TObject);
    var
        idx : integer;
        fileName : string;
        ZipFile : TZipFile;
    begin
        fileName:=EditZipFile.Text;
        if Trim(fileName)<>'' then
        begin
            ZipFile := TZipFile.Create;
            if not ZipFile.IsValid(fileName) then
                ShowMessage('Invalid file format!')
            else begin
                ZipFile.Open(fileName,zmRead);
                for idx:=0 to CheckListBoxZipFiles.Items.Count-1 do
                    if CheckListBoxZipFiles.Checked[idx] then
                        ZipFile.Extract(CheckListBoxZipFiles.Items[idx],'G:\temp\Test unzip\',true);
     
                ZipFile.Close;
            end;
            ZipFile.Free;
        end;
    end;
    Je n'ai pas encore regardé s'il fallait gérer des exceptions ni pour la création d'archive Zip mais ça a l'air simple !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Stocker un fichier zippé dans une table
    Par NicaeaCivitas dans le forum Développement
    Réponses: 3
    Dernier message: 08/02/2010, 11h23
  2. trouver le fichier zippé qui contient une expression
    Par talvins dans le forum Administration système
    Réponses: 12
    Dernier message: 16/12/2009, 17h01
  3. Lire le contenu d'un fichier zippé
    Par rambc dans le forum Général Python
    Réponses: 2
    Dernier message: 09/07/2009, 16h02
  4. inserer des fichiers zippés
    Par nana 69 dans le forum VBA Access
    Réponses: 2
    Dernier message: 17/08/2008, 10h47
  5. [Data] Hibernate mapper un fichier zippé (blob)?
    Par Tail dans le forum Spring
    Réponses: 4
    Dernier message: 01/08/2006, 08h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo