vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

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

Suche Visual-Basic Code
Re: Auto UnRAR mit Ordnerüberwachung 
Autor: Zimmersofts
Datum: 03.09.10 16:46

Benötigte Unterprogramme (An diesen müsste nix angepasst werden):

Private Sub RARExecute(Mode As RarOperations, RarFile As String, Optional ByVal _
  Password As String)
    Dim lHandle As Long
    Dim iStatus As Integer
    Dim uRAR As RAROpenArchiveData
    Dim uHeader As RARHeaderData
    Dim sStat As String, Ret As Long
 
    uRAR.ArcName = RarFile
    uRAR.CmtBuf = Space(16384)
    uRAR.CmtBufSize = 16384
 
    If Mode = OP_LIST Then
        uRAR.OpenMode = RAR_OM_LIST
    Else
        uRAR.OpenMode = RAR_OM_EXTRACT
    End If
 
    lHandle = RAROpenArchive(uRAR)
    If uRAR.OpenResult <> 0 Then OpenError uRAR.OpenResult, RarFile
 
    If Password <> "" Then RARSetPassword lHandle, Password
 
    If (uRAR.CmtState = 1) Then MsgBox uRAR.CmtBuf, vbApplicationModal + _
      vbInformation, "Comment"
 
    iStatus = RARReadHeader(lHandle, uHeader)
    Show
    Do Until iStatus <> 0
        sStat = Left(uHeader.FileName, InStr(1, uHeader.FileName, vbNullChar) - _
          1)
        Select Case Mode
        Case RarOperations.OP_EXTRACT
 
            Ret = RARProcessFile(lHandle, RAR_EXTRACT, "" & "\", _
              uHeader.FileName)
        Case RarOperations.OP_TEST
 
            Ret = RARProcessFile(lHandle, RAR_TEST, "", uHeader.FileName)
        Case RarOperations.OP_LIST
 
            Ret = RARProcessFile(lHandle, RAR_SKIP, "", "")
        End Select
 
        If Ret = 0 Then
 
        Else
            ProcessError Ret
        End If
 
        iStatus = RARReadHeader(lHandle, uHeader)
        Refresh
    Loop
 
    If iStatus = ERAR_BAD_DATA Then Erro ("File header broken")
 
    RARCloseArchive lHandle
End Sub
Private Sub OpenError(ErroNum As Long, ArcName As String)
    Select Case ErroNum
    Case ERAR_NO_MEMORY
        Erro "Not enough memory"
    Case ERAR_EOPEN:
        Erro "Cannot open " & ArcName
    Case ERAR_BAD_ARCHIVE:
        Erro ArcName & " is not RAR archive"
    Case ERAR_BAD_DATA:
        Erro ArcName & ": archive header broken"
    End Select
End Sub
 
Private Sub ProcessError(ErroNum As Long)
    Select Case ErroNum
    Case ERAR_UNKNOWN_FORMAT
        Erro "Unknown archive format"
    Case ERAR_BAD_ARCHIVE:
        Erro "Bad volume"
    Case ERAR_ECREATE:
        Erro "File create error"
    Case ERAR_EOPEN:
        Erro "Volume open error"
    Case ERAR_ECLOSE:
        Erro "File close error"
    Case ERAR_EREAD:
        Erro "Read error"
    Case ERAR_EWRITE:
        Erro "Write error"
    Case ERAR_BAD_DATA:
        Erro "CRC error"
    End Select
End Sub
 
Private Sub Erro(Msg As String)
    MsgBox Msg, vbApplicationModal + vbExclamation, "Error"
    End
End Sub
Und das Programm an sich

Private Sub Form_Load()
 
Label1.Caption = "Warte auf Archive..."
' **************** Hier bitte den Pfad festlegen wo die Arschive ankommen******
A_Pfad = "C:\Test"
' **************** Hier bitte den Pfad festlegen wo die enpakten archive 
' gespeichert werden******
EA_Pfad = "C:\test\entpakte"
 
'***************** Hier wenns ein passwort gibt, eingeben, wenn nicht leer 
' lassen********
PW = ""
 
 
File1.Path = A_Pfad
File1.FileName = "*.rar"
ChDir A_Pfad
End Sub
 
Private Sub Timer1_Timer()
    If run = True Then Exit Sub
    run = True
    Dim Datei As String
    For i = 0 To File1.ListCount - 1
    Datei = File1.List(i)
 
    If Datei = "" Then Label1.Caption = "Warte auf Archive...": Exit Sub
        On Error Resume Next
        Ordner = Left(Datei, Len(Datei) - 4)
        MkDir A_Pfad & "\" & Ordner
        ChDir A_Pfad & "\" & Ordner
        On Error GoTo 0
 
        Label1.Caption = "Archive " & Datei & " wird entpackt..."
        DoEvents
        RARExecute OP_EXTRACT, A_Pfad & "\" & Datei, PW
        ChDir A_Pfad
        FileCopy A_Pfad & "\" & Datei, EA_Pfad & "\" & Datei
        Kill A_Pfad & "\" & Datei
    Next i
    File1.Refresh
    DoEvents
    Label1.Caption = "Warte auf Archive..."
    run = False
End Sub
Sollte gwünscht sein das dass Programm still im hintergrund läuft, also nicht gesehen werden soll, einfach
me.hide
in Form_Load() einfügen

So ich hoff du kommst mit klar.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Auto UnRAR mit Ordnerüberwachung3.926VBros07.12.09 22:54
Re: Auto UnRAR mit Ordnerüberwachung2.187Zimmersofts03.09.10 13:59
Re: Auto UnRAR mit Ordnerüberwachung2.339VBros03.09.10 15:13
Re: Auto UnRAR mit Ordnerüberwachung2.269Zimmersofts03.09.10 15:25
Re: Auto UnRAR mit Ordnerüberwachung2.164Zimmersofts03.09.10 15:30
Re: Auto UnRAR mit Ordnerüberwachung2.176Zimmersofts03.09.10 16:46
Re: Auto UnRAR mit Ordnerüberwachung2.310Zimmersofts03.09.10 16:46
Re: Auto UnRAR mit Ordnerüberwachung2.096Zimmersofts03.09.10 20:01
Re: Auto UnRAR mit Ordnerüberwachung2.124Zimmersofts03.09.10 20:08
Re: Auto UnRAR mit Ordnerüberwachung2.100VBros03.09.10 22:01
Re: Auto UnRAR mit Ordnerüberwachung2.138Zimmersofts04.09.10 16:38

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 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