Delphipage - la reference en Delphi
Accueil - Astuces - Composants - Programmes - Tutoriaux - Livres - Liens
 Sources
- Astuces
- Composants
- Programmes
- Tutoriaux
 Rechercher
- Delphipage
- Ngscan
 Ressources
- Lexique Delphi
- Livres
- News
- Patchs Delphi
 Liens
- Borland France
- Diffus'Log
- Les meilleurs sites


Tutoriaux - TurboPower Abbrevia - Extraire le contenu d'un fichier ZIP

Présentation 

Vous allez maintenant créer votre premier programme en utilisant les composants TurboPower Abbrevia. L'exemple de programmation a pour but d' extraire le contenu d'un fichier ZIP.


Conception visuelle du programme

Pour commencer, ajoutez dans votre fiche (form), deux composantx TGroupBox, deux composants TEdit, trois composants TButton et deux composants TLabel. Disposez ses composants comme ci-dessous.



Ensuite, ajoutez un composant TAbZipView, TAbUnZipper et TAbVCLMeterLink de l'onglet "Abbrevia" de la palette de composants Delphi. Puis ajoutez un composant TOpenDialog.
Modifier les propriétés "Caption" des composants visuels comme ci-dessus.


Le composant TAbZipView

Ce composant permet de visualiser les fichiers contenu dans un fichier ZIP. Il affiche pour chaque fichier contenu dans le ZIP des paramètres commme par exemple la taille du fichier ou le sous-répertoire dans lequel il sera extrait. Les paramètes sont afficher dans une barre grise en haut du composant.
Dans notre programme, nous utiliseraon que trois paramètres : le nom, la taille et le repertoire. Pour cela, sélectionnez le composant TAbZipView, puis à l'aide de l'inspecteur d'objet, allez sur la propriété "Attributes".
Pour l'instant, les paramètres sont en langue anglaise. Pour changer cela, vous devez cliquez deux fois sur la propriété "Headings". Cette fenêtre apparait :




Vous devez sélectionner dans "Attribute" les paramètres un par un et dans "Heading" changer le texte en anglais pour le mettre en français. Nous utilisons que trois paramètres, il suffit de changer le texte pour ses trois paramètres seulement qui sont "Name" , "Size" et "path" et mettre dans "Heading" "Nom", "Taille" et "Répertoire".
Pour valider, cliquez sur le bouton "Apply" pour appliquer les changements.
En mode conception, c'est à dire lorsque vous construisez votre programme avec Delphi, vous pouvez changer la longueur des écartement de la barre grise entre chaque paramètres.


Mettez à "True" les paramètres "vaItemName","vaFileSize" et "vaPath" et tous les autres paramètres à "False". Ensuite, mettez la propriété "DefaultRowHeight" à "16".

On va maintenant relier le composant TAbZipView avec le composant TAbunZipper. Pour cela, mettez la propriété "ZipComponent" du composant TabZipView à "AbUnZipper1".


A présent, lorsque l'on va appuyer sur le bouton "Parcourir", le composant TOpenDialog s'exécutera et ensuite le contenu du fichier ZIP que l'on aura choisir s'affichera dans le composant TAbZipView.

procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenDialog1.Execute then //Si l'utilisateur clique sur le bouton "OK" alors
begin
Edit1.Text:=OpenDialog1.FileName; //Affiche dans le edit le chemin du fichier
//Affiche le contenu du fichier ZIP dans le composant AbZipView
AbZipView1.BeginUpdate; //Empêche la visionneuse de se rafraichir jusqu'à ce que "EndUpdate" soi appeller
AbUnZipper1.FileName:=Edit1.Text; //Chemin du fichier zip (par exemple "c:\test.zip")
AbZipView1.EndUpdate;
end;
end;


Le composant TAbVCLMeterLink

Ce composant ressemble au composant TProgressBar standard à Delphi. Contrairement à ce dernier, ce composant peut modifier la couleur de progression. Il suffit pour cela d'utiliser la propriété "UsedColor" et par exemple la mettre à "clBlue". Dans notre programme, ce composant permet d'afficher la progression de l'extraction du contenu du fichier ZIP ainsi que lors de l'affichage dans le composant TAbZipView des fichiers contenu dans le fichier ZIP.


Le composant TAbUnZipper

Ce composant permet d'extraire le contenu d'un fichier ZIP.
Mettez la propriété "ArchiveProgressMeter" à "AbVCLMeterLink1". Puis mettez les deux paramètres "eoCreateDirs" et "eoRestorePath" à "True" de la propriété "ExtractOptions".
Le premier paramètre permet de créer le rerpertoire de base et le second paramètre permet d'extraire les fichier dans les sous-répertoires.


Extraire le contenu du fichier ZIP

Lorsque l'on va cliquer sur le bouton "Parcourir...", l'utilisateur doit sélectionner un répertoire existant.

Uses FileCtrl; //Utilisation de "SelectDirectory"

procedure TForm1.Button2Click(Sender: TObject);
Var Rep: String;
begin
SelectDirectory('Choisir le répertoire de destination :', '',Rep); //Affiche une boîte de dialogue permettant à l'utilisateur de choisir un nom de répertoire
Edit2.Text:=Rep; //Affiche dans le edit le repertoire choisit
end;

Pour terminer, il faut extraire grâce au composant TAbUnZipper les différents fichier qui composant le fichier ZIP. Il faut dans un premier temps spécifier le répertoire de base. Puis dans un deuxième temps, on utilise la méthode "ExtractFiles" pour extraire les fichiers.

procedure TForm1.Button3Click(Sender: TObject);
begin
if (Edit1.Text<>'') and (Edit2.Text<>'') then //Vérifie que les deux edit ont été remplis
begin
Screen.Cursor:=crHourGlass; //Curseur sablier
AbUnZipper1.BaseDirectory:=Edit2.Text; //Répertoire de desintation des fichiers contenus dans le fichier ZIP (le répertoire doit exister)
AbUnZipper1.ExtractFiles('*.*'); //Extrait tous les fichiers
Screen.Cursor:=crDefault; //Curseur sablier
end;
end;

Extraire le contenu d'un fichier ZIP    [ 15-08-2003 ]
 Exemple d'utilisations des composants TurboPower Abbrevia.
Télécharger :  [4 Ko] [Télécharger abbrevia.zip]

Auteur : Yoann
Site internet :
http://delphipage.free.fr/

Tous droits réservés - Contacts
Haut de la page