Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Pytanie] ProgressBar i UnZip ?


er007

Rekomendowane odpowiedzi

Opublikowano

Witam.

Mam pytanie jak można zrobić progressbar podczas rozpakowywania pliku?

Tak aby chociaż pasek lecial równo z tym jak jest rozpakowywanie, poprosu żeby użytkownik wiedział czy coś sie dzieje i czy to się juz konczy czy nie

 

Korzystam z dll'ki DotNetZip - Ionic.Zip.dll

Opublikowano

Lol, czytać example nie potrafisz ?

Private Shared justHadByteUpdate As Boolean = False

Private Shared Sub MyExtractProgress(ByVal sender As Object, ByVal e As ExtractProgressEventArgs)
    If (e.EventType Is ZipProgressEventType.Extracting_EntryBytesWritten) Then
        If ExtractTest.justHadByteUpdate Then
            Console.SetCursorPosition(0, Console.CursorTop)
        End If
        Console.Write("   {0}/{1} ({2:N0}%)", e.BytesWritten, e.TotalBytesToWrite, (CDbl(e.BytesWritten) / (0.01 * e.TotalBytesToWrite)))
        ExtractTest.justHadByteUpdate = True
    ElseIf (e.EventType Is ZipProgressEventType.Extracting_BeforeExtractEntry) Then
        If ExtractTest.justHadByteUpdate Then
            Console.WriteLine
        End If
        Console.WriteLine("Extracting: {0}", e.NameOfLatestEntry)
        ExtractTest.justHadByteUpdate = False
    End If
End Sub

Private Sub MyExtract
  Dim Overwrite as ExtractExistingFileAction = ExtractExistingFileAction.OverwriteSilently
  Dim ZipToUnpack As String = "C1P3SML.zip"  
  Dim UnpackDirectory As String = "Extracted Files"
  StatusMessage.Text = String.Format("Extracting file {0} to {1}", ZipToUnpack, UnpackDirectory )
  Using zip1 As ZipFile = ZipFile.Read(ZipToUnpack)   
      AddHandler zip1.ExtractProgress, AddressOf MyExtractProgress   
      Dim e As ZipEntry   
      ' here, we extract every entry, but we could extract conditionally,
      ' based on entry name, size, date, checkbox status, etc.   
      For Each e In zip1               
          e.Extract(UnpackDirectory, Overwrite)
      Next  
  End Using   
End Sub
Opublikowano

 

Lol, czytać example nie potrafisz ?

Private Shared justHadByteUpdate As Boolean = False

Private Shared Sub MyExtractProgress(ByVal sender As Object, ByVal e As ExtractProgressEventArgs)
    If (e.EventType Is ZipProgressEventType.Extracting_EntryBytesWritten) Then
        If ExtractTest.justHadByteUpdate Then
            Console.SetCursorPosition(0, Console.CursorTop)
        End If
        Console.Write("   {0}/{1} ({2:N0}%)", e.BytesWritten, e.TotalBytesToWrite, (CDbl(e.BytesWritten) / (0.01 * e.TotalBytesToWrite)))
        ExtractTest.justHadByteUpdate = True
    ElseIf (e.EventType Is ZipProgressEventType.Extracting_BeforeExtractEntry) Then
        If ExtractTest.justHadByteUpdate Then
            Console.WriteLine
        End If
        Console.WriteLine("Extracting: {0}", e.NameOfLatestEntry)
        ExtractTest.justHadByteUpdate = False
    End If
End Sub

Private Sub MyExtract
  Dim Overwrite as ExtractExistingFileAction = ExtractExistingFileAction.OverwriteSilently
  Dim ZipToUnpack As String = "C1P3SML.zip"  
  Dim UnpackDirectory As String = "Extracted Files"
  StatusMessage.Text = String.Format("Extracting file {0} to {1}", ZipToUnpack, UnpackDirectory )
  Using zip1 As ZipFile = ZipFile.Read(ZipToUnpack)   
      AddHandler zip1.ExtractProgress, AddressOf MyExtractProgress   
      Dim e As ZipEntry   
      ' here, we extract every entry, but we could extract conditionally,
      ' based on entry name, size, date, checkbox status, etc.   
      For Each e In zip1               
          e.Extract(UnpackDirectory, Overwrite)
      Next  
  End Using   
End Sub

LOL, fajnie że nie działa -_-

Myślisz, że nie szukałem po googlach itp?

Opublikowano

LOL, fajnie że nie działa -_-

Myślisz, że nie szukałem po googlach itp?

lol kod jest z dokumentacji musi działać, a ty po prostu nie potrafisz go użyć ..

Fajnie, że nie napisałeś jeaki masz problem, -_-

najprościej przecież napisac nie działa.

Opublikowano
Error    7    'BytesWritten' is not a member of 'Ionic.Zip.ExtractProgressEventArgs'.    C:\Users\Maciek\Desktop\Launcher\Launcher\Launcher.vb    51    51    Launcher
Error    9    'BytesWritten' is not a member of 'Ionic.Zip.ExtractProgressEventArgs'.    C:\Users\Maciek\Desktop\Launcher\Launcher\Launcher.vb    51    94    Launcher
Error    29    'End Sub' must be preceded by a matching 'Sub'.    C:\Users\Maciek\Desktop\Launcher\Launcher\Launcher.vb    90    5    Launcher
Error    23    'End Using' must be preceded by a matching 'Using'.    C:\Users\Maciek\Desktop\Launcher\Launcher\Launcher.vb    72    9    Launcher
Error    6    'ExtractTest' is not declared. It may be inaccessible due to its protection level.    C:\Users\Maciek\Desktop\Launcher\Launcher\Launcher.vb    48    16    Launcher
Error    11    'ExtractTest' is not declared. It may be inaccessible due to its protection level.    C:\Users\Maciek\Desktop\Launcher\Launcher\Launcher.vb    52    13    Launcher
Error    14    'ExtractTest' is not declared. It may be inaccessible due to its protection level.    C:\Users\Maciek\Desktop\Launcher\Launcher\Launcher.vb    54    16    Launcher
Error    16    'ExtractTest' is not declared. It may be inaccessible due to its protection level.    C:\Users\Maciek\Desktop\Launcher\Launcher\Launcher.vb    58    13    Launcher
Error    4    'Is' operator does not accept operands of type 'Ionic.Zip.ZipProgressEventType'. Operands must be reference or nullable types.    C:\Users\Maciek\Desktop\Launcher\Launcher\Launcher.vb    47    13    Launcher
Error    5    'Is' operator does not accept operands of type 'Ionic.Zip.ZipProgressEventType'. Operands must be reference or nullable types.    C:\Users\Maciek\Desktop\Launcher\Launcher\Launcher.vb    47    28    Launcher
Error    12    'Is' operator does not accept operands of type 'Ionic.Zip.ZipProgressEventType'. Operands must be reference or nullable types.    C:\Users\Maciek\Desktop\Launcher\Launcher\Launcher.vb    53    17    Launcher
Error    13    'Is' operator does not accept operands of type 'Ionic.Zip.ZipProgressEventType'. Operands must be reference or nullable types.    C:\Users\Maciek\Desktop\Launcher\Launcher\Launcher.vb    53    32    Launcher
Error    15    'NameOfLatestEntry' is not a member of 'Ionic.Zip.ExtractProgressEventArgs'.    C:\Users\Maciek\Desktop\Launcher\Launcher\Launcher.vb    57    50    Launcher
Error    1    'Private' is not valid on a local variable declaration.    C:\Users\Maciek\Desktop\Launcher\Launcher\Launcher.vb    44    9    Launcher
Error    2    'Shared' is not valid on a local variable declaration.    C:\Users\Maciek\Desktop\Launcher\Launcher\Launcher.vb    44    17    Launcher
Error    8    'TotalBytesToWrite' is not a member of 'Ionic.Zip.ExtractProgressEventArgs'.    C:\Users\Maciek\Desktop\Launcher\Launcher\Launcher.vb    51    67    Launcher
Error    10    'TotalBytesToWrite' is not a member of 'Ionic.Zip.ExtractProgressEventArgs'.    C:\Users\Maciek\Desktop\Launcher\Launcher\Launcher.vb    51    120    Launcher
Error    17    Declaration expected.    C:\Users\Maciek\Desktop\Launcher\Launcher\Launcher.vb    63    9    Launcher
Error    18    Declaration expected.    C:\Users\Maciek\Desktop\Launcher\Launcher\Launcher.vb    66    9    Launcher
Error    21    Declaration expected.    C:\Users\Maciek\Desktop\Launcher\Launcher\Launcher.vb    70    17    Launcher
Error    24    Declaration expected.    C:\Users\Maciek\Desktop\Launcher\Launcher\Launcher.vb    80    9    Launcher
Error    25    Declaration expected.    C:\Users\Maciek\Desktop\Launcher\Launcher\Launcher.vb    81    9    Launcher
Error    26    Declaration expected.    C:\Users\Maciek\Desktop\Launcher\Launcher\Launcher.vb    83    9    Launcher
Error    27    Declaration expected.    C:\Users\Maciek\Desktop\Launcher\Launcher\Launcher.vb    85    9    Launcher
Error    19    Statement cannot appear outside of a method body/multiline lambda.    C:\Users\Maciek\Desktop\Launcher\Launcher\Launcher.vb    67    9    Launcher
Error    20    Statement cannot appear outside of a method body/multiline lambda.    C:\Users\Maciek\Desktop\Launcher\Launcher\Launcher.vb    69    13    Launcher
Error    3    Statement cannot appear within a method body. End of method assumed.    C:\Users\Maciek\Desktop\Launcher\Launcher\Launcher.vb    46    5    Launcher
Error    22    Syntax error.    C:\Users\Maciek\Desktop\Launcher\Launcher\Launcher.vb    71    13    Launcher
Error    28    Syntax error.    C:\Users\Maciek\Desktop\Launcher\Launcher\Launcher.vb    87    9    Launcher

 

A tu kod:

 

        Private Shared justHadByteUpdate As Boolean = False

    Private Shared Sub MyExtractProgress(ByVal sender As Object, ByVal e As ExtractProgressEventArgs)
        If (e.EventType Is ZipProgressEventType.Extracting_EntryBytesWritten) Then
            If ExtractTest.justHadByteUpdate Then
                Console.SetCursorPosition(0, Console.CursorTop)
            End If
            Console.Write("   {0}/{1} ({2:N0}%)", e.BytesWritten, e.TotalBytesToWrite, (CDbl(e.BytesWritten) / (0.01 * e.TotalBytesToWrite)))
            ExtractTest.justHadByteUpdate = True
        ElseIf (e.EventType Is ZipProgressEventType.Extracting_BeforeExtractEntry) Then
            If ExtractTest.justHadByteUpdate Then
                Console.WriteLine()
            End If
            Console.WriteLine("Extracting: {0}", e.NameOfLatestEntry)
            ExtractTest.justHadByteUpdate = False
        End If
    End Sub

    '===========================================================
    Dim ZipToUnpack As String = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & ("\xxx\xxxxx.zip")
    Dim TargetDir As String = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & ("\Jakis tam folder")
        Console.WriteLine("Extracting file {0} to {1}", ZipToUnpack, TargetDir)
        Using zip1 As ZipFile = ZipFile.Read(ZipToUnpack)
    Dim ex As ZipEntry
            For Each ex In zip1
                ex.Extract(TargetDir, ExtractExistingFileAction.OverwriteSilently)
            Next
        End Using

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...