Rar datei runterladen und entpacken lassen brauche hilfe.
- VB.NET
Sie verwenden einen veralteten Browser (%browser%) mit Sicherheitsschwachstellen und können nicht alle Funktionen dieser Webseite nutzen.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von RyanTT.
-
-
-
ZIP wäre einfacher.
Ansonsten: unrar.dll--
If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
-- -
-
Ist eine COM-DLL.
Hier gibt's ein rudimentäres Handbuch:
goahomepage.free.fr/article/20…7_unrar_dll/UnRARDLL.html
Falls du eine .Net-DLL benötigst, verwende NUnrar--
If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
-- -
Hallo,
Ich weise dich darauf hin das du dir erst die Methode meines Vorposters ansehen solltest. Falls dass nicht klappt kannst du gerne folgende Methode ausprobieren, wirst dabei aber nicht viel schlauer.
1. Downloade und mache einen Verweis zu folgender DLL: KLICK HIER
2. Packe folgenden Code in ein Modul:
Spoiler anzeigen VB.NET-Quellcode
- Private Declare Function RAROpenArchive Lib "unrar.dll" ( _
- ByRef ArchiveData As RAROpenArchiveData) As Long
- Private Declare Function RARCloseArchive Lib "unrar.dll" ( _
- ByVal hArcData As Long) As Long
- Private Declare Function RARReadHeader Lib "unrar.dll" ( _
- ByVal hArcData As Long, _
- ByRef HeaderData As RARHeaderData) As Long
- Private Declare Function RARProcessFile Lib "unrar.dll" ( _
- ByVal hArcData As Long, _
- ByVal Operation As Long, _
- ByVal DestPath As String, _
- ByVal DestName As String) As Long
- Private Declare Sub RARSetChangeVolProc Lib "unrar.dll" ( _
- ByVal hArcData As Long, _
- ByVal Mode As Long)
- Private Declare Sub RARSetPassword Lib "unrar.dll" ( _
- ByVal hArcData As Long, _
- ByVal Password As String)
- Const ERAR_END_ARCHIVE = 10
- Const ERAR_NO_MEMORY = 11
- Const ERAR_BAD_DATA = 12
- Const ERAR_BAD_ARCHIVE = 13
- Const ERAR_UNKNOWN_FORMAT = 14
- Const ERAR_EOPEN = 15
- Const ERAR_ECREATE = 16
- Const ERAR_ECLOSE = 17
- Const ERAR_EREAD = 18
- Const ERAR_EWRITE = 19
- Const ERAR_SMALL_BUF = 20
- Const RAR_OM_LIST = 0
- Const RAR_OM_EXTRACT = 1
- Const RAR_SKIP = 0
- Const RAR_TEST = 1
- Const RAR_EXTRACT = 2
- Const RAR_VOL_ASK = 0
- Const RAR_VOL_NOTIFY = 1
- Enum RarOperations
- OP_EXTRACT = 0
- OP_TEST = 1
- OP_list = 2
- OP_TESTT = 3
- End Enum
- Private Type RARHeaderData
- ArcName As String * 260
- FileName As String * 260
- Flags As Long
- PackSize As Long
- UnpSize As Long
- HostOS As Long
- FileCRC As Long
- FileTime As Long
- UnpVer As Long
- Method As Long
- FileAttr As Long
- CmtBuf As String
- CmtBufSize As Long
- CmtSize As Long
- CmtState As Long
- End Type
- Private Type RAROpenArchiveData
- ArcName As String
- OpenMode As Long
- OpenResult As Long
- CmtBuf As String
- CmtBufSize As Long
- CmtSize As Long
- CmtState As Long
- End Type
3. Folgende Funktion kommt in die Form rein die aktiv ist wenn du entpacken willst:
(Gebe beiFileToExtract
nichts am um alle Datein des Archives zu entpacken)
Spoiler anzeigen VB.NET-Quellcode
- Public Function ExtractFileFromRAR( _
- RarFile As String, _
- FileToExtract As String, _
- Destination As String, _
- Optional Password As String = "")
- On Error GoTo fehler
- Dim lHandle As Long
- Dim iStatus As Integer
- Dim uRAR As RAROpenArchiveData
- Dim uHeader As RARHeaderData
- Dim sStat As String, Ret As Long
- With uRAR
- .ArcName = RarFile
- .CmtBuf = Space(16384)
- .CmtBufSize = 16384
- .OpenMode = RAR_OM_EXTRACT
- lHandle = RAROpenArchive(uRAR)
- If .OpenResult <> 0 Then OpenError .OpenResult, RarFile
- If Password <> "" Then RARSetPassword lHandle, Password
- If (.CmtState = 1) Then MsgBox .CmtBuf, vbApplicationModal + vbInformation, "Comment"
- iStatus = RARReadHeader(lHandle, uHeader)
- With uHeader
- Do
- sStat = Left$(.FileName, InStr(1, .FileName, vbNullChar) - 1)
- ' MsgBox sStat & vbLf & FileToExtract
- If InStr(1, sStat, FileToExtract, vbTextCompare) <> 0 or FileToExtract = "" Then
- Ret = RARProcessFile(lHandle, RAR_EXTRACT, "", Destination & "\" & .FileName)
- If Not FileToExtract = "" Then
- RARCloseArchive lHandle
- Exit Function
- End If
- Else
- Ret = RARProcessFile(lHandle, RAR_SKIP, "", "")
- End If
- If Ret = 0 Then
- ' Wenn kein Fehler aufgetreten ist
- Else
- ProcessError Ret
- End If
- RARReadHeader lHandle, uHeader
- iStatus = iStatus + 1
- Loop
- End With
- End With
- If iStatus = ERAR_BAD_DATA Then Erro ("File header broken")
- RARCloseArchive lHandle
- Exit Function
- fehler:
- RARCloseArchive lHandle
- End Function
4. Fehlerbehandlungsroutine: (optional aber besser)
Spoiler anzeigen VB.NET-Quellcode
- Private Sub ProcessError(ErroNum As Long)
- Select Case ErroNum
- Case ERAR_UNKNOWN_FORMAT
- Erro "Unknown archive format", ERAR_UNKNOWN_FORMAT
- Case ERAR_BAD_ARCHIVE:
- Erro "Bad volume", ERAR_BAD_ARCHIVE
- Case ERAR_ECREATE:
- Erro "File create error", ERAR_ECREATE
- Case ERAR_EOPEN:
- Erro "Volume open error", ERAR_EOPEN
- Case ERAR_ECLOSE:
- Erro "File close error", ERAR_ECLOSE
- Case ERAR_EREAD:
- Erro "Read error", ERAR_EREAD
- Case ERAR_EWRITE:
- Erro "Write error", ERAR_EWRITE
- Case ERAR_BAD_DATA:
- Erro "CRC error", ERAR_BAD_DATA
- End Select
- End Sub
5. Aufrufen der Funktion:
Alle angegebenen Daten wurden von folgender Website bezogen,
ich uebernehme keine Haftung bei eventuellen Schaeden:
RAR-Datei entpackenDieser Beitrag wurde bereits 2 mal editiert, zuletzt von „RyanTT“ ()
-
danke für die anleitung aber wenn ich ein verweis machen will kommt als ein fehler ob ich die berechtigung oder so dafür habe und weiter komme ich nicht muss ich noch was machen ?
Edit by hal2000:
- Vollzitat entfernt.Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „hal2000“ ()
-
So da das Thema noch nicht beendet ist wollte ich die Sache mal aufklaeren:
(PS: Ich hoffe es ist nicht tragisch dass du deine Datei in Zip aendern musst )
Fuer das entpacken von Datein in VB2010 benoetigt man keine Library falls Framework 4.5 auf dem Zielcomputer installiert ist!
Hier die 2 einfachen Schritte zum Glueck:
1. Verweis erstellen:
Wie schon gesagt benoetigen wir fuer diese Methode einen Verweis zurSystem.IO.Compression.FileSystem.dll
,
welche sich unterC:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5
befindet.
2. Code
Folgender Code entpackt die .zip deiner Wahl in ein Verzeichnis:
Das Wars ich hoffe ich konnte dir jetzt helfen
Mfg. Ryan -
-
-
Benutzer online 1
1 Besucher
-
Ähnliche Themen
-
denniskai1234 - - Sonstige Problemstellungen
-
VisualNerd123 - - Sonstige Problemstellungen
-
MegaValencia10 - - Sonstige Problemstellungen
-
pascal20997 - - Sonstige Problemstellungen
-
3 Benutzer haben hier geschrieben
- Gast (7)
- petaod (2)
- Thunderbolt (1)