vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

In diesem Forum haben Sie die Möglichkeit Kommentare, Fragen und Verbesserungsvorschläge zu den im vb@rchiv gelisteten Tipps und Workshops zu posten.

Hinweis:
Ein neues Thema kann immer nur über die jeweilige Tipps & Tricks bzw. Workshop Seite eröffnet werden!

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fragen zu Tipps & Tricks und Workshops im vb@rchiv
Tipp 2232: Archivdateien wie CAB und ZIP mit .NET 
Autor: Dwargh
 Tipp anzeigenDatum: 28.03.12 12:34

Super Tipp! Vielen Dank! Hat mir sehr gut geholfen!!

Allerdings würde ich gerne eine progressbar dazu nutzen, um anzuzeigen, wie weit schon gepackt wurde.

Der Parameter
progressHandler as Eventhandler(of ArchiveProgressEventArgs)
der Funktion
PackFiles
soll sowas ermöglichen, habe ich gelesen.

Nun habe ich rumprobiert, die Doku abgesucht (WiX.chm und co.), gegoogelt und gemacht und getan.
Ich bin mit meinem Latein am Ende, oder ich sehe den Wald vor lauter Bäumen nicht...
Zustande gebracht habe ich das ungefähr so:

...
 
'   Deklaration des Events über den Delegaten EventHandler
    Private OnProgress As EventHandler(Of ArchiveProgressEventArgs)
 
...
    Private Sub Packen ()
        ZipInfoInstanz.PackFiles(ZipFilePath, Dateien, PfadeInZipDatei(Dateien, _
          ZipFilePath), KompressionsRate, CompressionProgress(Me,???))
    End Sub
 
...
'   Hoffe, ich verwende das richtig... IntelliSense zeigte mir ja alles nötige 
' an...
    Private Sub CompressionProgress(ByVal src As Object, ByVal pea As _
      ArchiveProgressEventArgs) 
        Dim msg As String = String.Empty
        msg &= pea.CurrentArchiveBytesProcessed & Environment.NewLine
        msg &= pea.CurrentArchiveName & Environment.NewLine
        msg &= pea.CurrentArchiveNumber & Environment.NewLine
        msg &= pea.CurrentArchiveTotalBytes & Environment.NewLine
        msg &= pea.CurrentFileBytesProcessed & Environment.NewLine
        msg &= pea.CurrentFileName & Environment.NewLine
        msg &= pea.CurrentFileNumber & Environment.NewLine
        msg &= pea.CurrentFileTotalBytes & Environment.NewLine
        msg &= pea.FileBytesProcessed & Environment.NewLine
        msg &= pea.ProgressType & Environment.NewLine
        msg &= pea.TotalArchives & Environment.NewLine
        msg &= pea.TotalFileBytes & Environment.NewLine
        msg &= pea.TotalFiles & Environment.NewLine
 
        Label1.Text = msg
 
    End Sub
So, nun weiß ich beim besten Willen nicht, was ich bei ??? hinschreiben soll!

Endprodukt:
Ich will in Zahlen, oder von mir aus auch als ProgressBar angezeigt bekommen,
wie der aktuelle Fortschritt ist.

Kann mir da jemand helfen?
Ich wäre wirklich dankbar für Hinweise, die zur Ergreifung der Lösung führen!

Beitrag wurde zuletzt am 28.03.12 um 12:42:29 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Archivdateien wie CAB und ZIP mit .NET 
Autor: JSD
Datum: 28.03.12 13:36

Hallo Dwargh,

vielleicht schaust du dir die Klasse aus dem Originalsource für ArchiveProgressEventArgs mal an. Du findest sie unter http://wix.codeplex.com/SourceControl/changeset/view/53980250cc3a#src%2fDTF%2fLibraries%2fCompression%2fArchiveProgressEventArgs.cs

Dort sind die Argumente deklariert. Vielleichts hilfts.

Gruß JSD

EDV-Systeme verarbeiten, womit sie gef?ttert werden. Kommt Mist rein, kommt Mist raus.

Beitrag wurde zuletzt am 28.03.12 um 13:37:13 editiert.

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Archivdateien wie CAB und ZIP mit .NET 
Autor: Dwargh
Datum: 28.03.12 13:58

Danke Dir!

Super, jetzt weiß ich wenigstens, was sich da drin tut, aber
leider habe ich immer noch keinen Schimmer, wie ich fortfahre...

Beim initialisieren müssen ja die ganzen Werte wie
...
totalArchives;
currentArchiveBytesProcessed;
currentArchiveTotalBytes;
fileBytesProcessed;
totalFileBytes
...
übergeben werden... Wo zum Henker hol ich mir die her?!

Kann mir das jemand etwas genauer erklären?


Soweit ich weiß, wird doch mein EventHandler
CompressionProgress
immer dann aufgerufen, wenn sich etwas verändert während des Packvorgangs, oder?
Also schreibe ich da rein, was dann passieren soll...

Gut, aber was schreibe ich hier bei ??? rein:
ZipInfoInstanz.PackFiles(ZipFilePath, Dateien, PfadeInZipDatei(Dateien, _
  ZipFilePath), KompressionsRate, CompressionProgress(me, ???))
Vielen Dank nochmal an euch für Eure Mühen
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Archivdateien wie CAB und ZIP mit .NET 
Autor: Dwargh
Datum: 29.03.12 08:53

Hallo und Guten Morgen allerseits!

Ich hab die Lösung gefunden:

' Die Delegatendeklaration war schon richtig:
Private OnProgress As EventHandler(Of ArchiveProgressEventArgs)
 
' ...
 
Private Sub frmMain_Load(ByVal sender As System.Object, ByVal e As _
  System.EventArgs) Handles MyBase.Load
 
' DAS hier fehlte:
' 1. Late Binding
' 2. (AddressOf CompressionProgress)
 
OnProgress = New EventHandler(Of ArchiveProgressEventArgs)(AddressOf _
  CompressionProgress)
 
End Sub
 
Private Sub Packen (...)
  ZipInfoInstanz.PackFiles(ZipFilePath, Dateien, PfadeInZipDatei(Dateien, _
    ZipFilePath), KompressionsRate, OnProgress)
End Sub
Hoffe es hilft dem Nächsten!

Vielleicht gibts ja noch Verbesserungsvorschläge?

Nochmals danke an alle, die sich Gedanken gemacht haben!

Beitrag wurde zuletzt am 29.03.12 um 08:54:00 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Archivdateien wie CAB und ZIP mit .NET 
Autor: IP-MAN
Datum: 26.12.16 16:20

ist es auch möglich eine zip/rar mit einem passwort zu entpacken?

---------------
VB.NET macht Spaß!

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um einen neuen Beitrag schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel