Hello,
J'ai programmé une petite appli que j'ai quasi terminé, mais je voulais ajouter la compression 7z en plus de la zip. Gros hic, je n'arrive pas à comprendre du tout comment utiliser le sdk.
Est ce que certains s'y sont déjà attaqué ?
Cordialement.
Edit:
Je mets pour les autres.
-- Dans les nuggets pour limiter les soucis prendre 'SevenZipSharp' mais surtout 'sevenZipSharp.interop' (qui amène les versions x86 et x64)
-- Un petit bout de code pour lancer la bestiole...c'est de l'alpha, je tatone par manque d'info, comme par exemple pour le moment je ne sais pas comment
derrière y'a quelques events à voir mais je n'ai pas encore bien compris certains donc pour le moment...
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 public static bool CompressFolder(string folder, string archiveDest, int cplLvl) { // On verifie la présence du dossier avant if (!Directory.Exists(folder)) return false; archiveDest = archiveDest + ".7z"; // Pour la version x86 string sSeventZipLink = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "x86", "7z.dll" ); if (!File.Exists(sSeventZipLink)) { MessageBox.Show("7z.dll missing", "Error", MessageBoxButton.OK, MessageBoxImage.Error); return false; } // Fournir l'adresse de la dll SevenZipCompressor.SetLibraryPath(sSeventZipLink); SevenZipCompressor szp = new SevenZipCompressor(); szp.FilesFound += FilesFound; szp.Compressing += Compressing; szp.FileCompressionStarted += FileCompressionStarted; szp.FileCompressionFinished += FileCompressionFinished; szp.CompressionFinished += CompressionFinished; szp.CompressionLevel = CompressionLevel.Ultra; szp.CompressionMode = CompressionMode.Create; szp.ArchiveFormat = OutArchiveFormat.SevenZip; szp.DirectoryStructure = true; try { szp.CompressDirectory(folder, archiveDest); } catch (Exception e) { Console.WriteLine(e.Message); } return true; }
Egalement je ne me suis pas penché sur la question mais il faudrait identifier quelle version est lancée du programme pour donner le bon chemin selon que ce soit du x86 ou du x64.
Partager