Bonsoir,
Je souhaite pour une de mes applications, créer un indicateur de décompression qui, durant la décompression d'une archive, indiquera la taille du dossier de destination par rapport à la taille finale, afin que l'utilisateur puisse suivre la progression de la décompression.
Une fenêtre pour choisir le répertoire de destination s'ouvre depuis l'interface de l'application. Une fois le choix fait, voici le code exécuté :
Une procédure est ouverte par le biais d'un thread. Malheureusement, le programme continu, sans exécuter le contenu de la procédure que voici :SI SAI_Fichier<>"" ALORS
zipOuvre("Zip",gsRep+"Data\Fichiers.zip")
nZptaille est un entier=zipTaille("Zip",Faux)
OuvreSoeur(ExtractionZIP)
ThreadExécute("Extractiond1zip",threadNormal,Extraire,nZptaille,SAI_Fichier)
zipExtraitTout("Zip Icon",SAI_Fichier)
ThreadArrête("Extractiond1zip")
Ferme(ExtractionZIP)
SI ErreurDétectée ALORS
Erreur("Une erreur est survenue lors de l'extraction de l'archive :",ErreurInfo(errMessage))
SINON
Info("L'extraction a été effectuée avec succès.")
FIN
zipFerme("Zip")
Ferme(Extraction)
FIN
Cette procédure permet l'actualisation en temps réel de la fenêtre de progression.PROCEDURE Extraire(tailleinit,adresseextr)
rap est un entier
tailledes est une entier
ExtractionZIP.LIB_Libellé1="0 mo/"+TailleVersChaîne(tailleinit,tailleMo)
MultitâcheRepeint(ExtractionZIP)
TANTQUE tailledes<tailleinit
tailledes=fRepTaille(adresseextr)
ch est une chaîne=TailleVersChaîne(tailledes,tailleMo)+"/"+TailleVersChaîne(tailleinit,tailleMo)
ExtractionZIP.LIB_Libellé1=ch
MultitâcheRepeint(ExtractionZIP)
FIN
Je ne vois pas d'où viens le problème, et suis ouvert à toutes modifications de code, conseils, et surtout solutions.
Merci d'avance.
Partager