Lister contenu des dossier *.zip

Signaler
Messages postés
9
Date d'inscription
dimanche 7 juin 2009
Statut
Membre
Dernière intervention
1 mai 2011
-
Messages postés
4720
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
31 juillet 2021
-
Bonjour à tous

Dans mon projet je manipule énormément de fichiers compressés et j'utilise le composant abbrevia. Afin de faire divers traitements(tri, etc ...) j'exporte le chemin des fichiers compressés (que je récupère via abbrevia) vers une listbox. Mon projet comporte donc de nombreuses boucles FOR(For j := 0 To Pred(Zp.Count)Do LB2.Items.Add(Zp.Items[j].FileName)).
Je souhaiterai améliorer les performances (rapidité) de mon projet en m'affranchissant de ces boucles FOR et donc de passer par une gestion "globale" (un truc du genre "LB2.Items.AddStrings(LB1.Items)") des fichiers compressés et non pas item par item (apparemment abbrevia ne permet pas de faire cette gestion globale car mes nombreuses tentatives sont sans succès).

Alors j'essaie autrement et je tente désespérément de lister les fichiers compressés par la fonction suivante :

function ListFic(Src,Ext:String; LB:TListBox):Integer;
var Info:TSearchRec;
begin
src := IncludeTrailingPathDelimiter(src);
If FindFirst(Src + Ext, faAnyFile, Info) = 0
Then Repeat
If ((Info.Attr and faDirectory) = 0)
Then LB.Items.Add(Src+Info.FindData.cFileName);
Until FindNext(Info) <> 0;
FindClose(Info);
Result := LB.Count;
end;

mais là aussi sans succès : elle ne liste que les fichiers non compressés.

Voilà mes questions : y a t il une fonction de l'API WINDOWS qui permette de lister les fichiers compressés, si oui laquelle et comment faire ?
Ou encore quelles modifications faut-il apporter à ma fonction pour qu'elle me liste mes fichiers compressés ?

Merci d'avance pour votre aide. Bien sur je continue mes recherches ...

1 réponse

Messages postés
4720
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
31 juillet 2021
14
Bonjour,

utilises un composant pour dézipper

cantador