Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > .NET Languages
You last visited: Today at 09:52

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Unzip Problem!

Discussion on Unzip Problem! within the .NET Languages forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Jan 2009
Posts: 73
Received Thanks: 2
Unzip Problem!

Hallo Epvpers,

Ich habe Folgendes Problem ich habe diesen Code gefunden und der Funktioniert auch mit Pfad Angabe (z.B: C:/ or D:/), ich möchte jetzt aber nicht erst ein Pfad angeben sonder den direkten Pfad (./) eintragen aber das geht so nicht :O


Code:
Dim sc As New Shell32.Shell()
IO.Directory.CreateDirectory("./test")
Dim output As Shell32.Folder = sc.NameSpace("./test")
Dim input As Shell32.Folder = sc.NameSpace("./ZipFile.zip")
output.CopyHere(input.Items, 4)
(Beim Testlauf erscheint der Fehler: Eine nicht behandelte Ausnahme des Typs "System.NullReferenceException" ist aufgetreten)

So Funktioniert es nicht, wenn ich jetzt aber C:/test und C:/ZipFile.zip angebe geht es. Funktioniert das auch irgendwie so das der den Pfad nimmt wo die EXE drin ist??(Standard: ./)


MfG: Darkhomer
Darkhomer is offline  
Old 12/26/2013, 19:33   #2
 
'Heaven.'s Avatar
 
elite*gold: 1
The Black Market: 331/0/0
Join Date: Jun 2012
Posts: 5,819
Received Thanks: 3,200
Code:
 Dim path As String = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase)
'Heaven. is offline  
Old 12/26/2013, 23:14   #3
 
elite*gold: 0
Join Date: Jan 2009
Posts: 73
Received Thanks: 2
was soll ich damit anfangen, soll ich es Hinzufügen? wenn ja WO?

PS. Bin noch nicht lange dabei in .NET Languages :/

MfG!
Darkhomer is offline  
Old 12/26/2013, 23:22   #4
 
'Heaven.'s Avatar
 
elite*gold: 1
The Black Market: 331/0/0
Join Date: Jun 2012
Posts: 5,819
Received Thanks: 3,200
Das ist der aktuelle Pfad des Programmes, den musst du mit deinem Ordner in Verbindung bringen
'Heaven. is offline  
Old 12/27/2013, 02:17   #5

 
Syc's Avatar
 
elite*gold: 666
Join Date: Apr 2011
Posts: 5,811
Received Thanks: 2,417
Quote:
Originally Posted by Waka Toa View Post
Code:
 Dim path As String = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase)
Warum nicht

Code:
Application.StartupPath()
?
Syc is offline  
Old 12/27/2013, 10:11   #6
 
'Heaven.'s Avatar
 
elite*gold: 1
The Black Market: 331/0/0
Join Date: Jun 2012
Posts: 5,819
Received Thanks: 3,200
In einer Konsolenanwendung gibt es die Klasse Application nicht
'Heaven. is offline  
Old 12/27/2013, 11:13   #7
 
tolio's Avatar
 
elite*gold: 2932
The Black Market: 169/1/0
Join Date: Oct 2009
Posts: 6,966
Received Thanks: 1,097
in der folgenden kleinen testanwendung ist My.Application.Info.DirectoryPath um den faktor 30-50 schneller als der via Reflection das zu machen. Reflection ist zwar schön und inovativ aber auch sehr langsam und sollte vermieden werden wenn es auch einen anderen Weg gibt

Code:
    Sub Main()
        Dim sw As Stopwatch = New Stopwatch
        sw.Start()
        Dim p1 As String = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase)
        sw.Stop()

        Dim sw2 As Stopwatch = New Stopwatch
        sw2.Start()
        Dim p2 As String = My.Application.Info.DirectoryPath
        sw2.Stop()


        Console.Out.WriteLine(p1 & vbCrLf & sw.ElapsedMilliseconds & vbCrLf)
        Console.Out.WriteLine(p2 & vbCrLf & sw2.ElapsedMilliseconds & vbCrLf)
        Console.In.ReadLine()
    End Sub
tolio is offline  
Old 12/27/2013, 12:14   #8
 
'Heaven.'s Avatar
 
elite*gold: 1
The Black Market: 331/0/0
Join Date: Jun 2012
Posts: 5,819
Received Thanks: 3,200
Seltsam, bei mir benötigt My.Application 2510 Ticks und Reflection grade mal 68



Am schnellsten wäre immer noch

Code:
Thread.GetDomain().BaseDirectory
'Heaven. is offline  
Old 12/27/2013, 19:47   #9
 
elite*gold: 0
Join Date: Jan 2009
Posts: 73
Received Thanks: 2
ok, jetzt steige ich da gar nicht mehr durch,

ich möchte ein Code haben der z.b die test.zip Datei in den neu erstellten Ordner test Entpackt für eine Windows Form Anwendung, die ich mit einem Button starten kann ...

Bitte schreibt die Namen GROSS die ich noch ändern muss den durch diese Codes die ihr mir geschickt habt Check ich gerade nicht durch
Darkhomer is offline  
Old 12/27/2013, 20:22   #10
 
'Heaven.'s Avatar
 
elite*gold: 1
The Black Market: 331/0/0
Join Date: Jun 2012
Posts: 5,819
Received Thanks: 3,200
Code:
Dim sc As New Shell32.Shell()

Dim myDirectory As String = GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase)

Dim path as String = Path.Combine(myDirectory,"test")

If Not Directory.Exists(path)
IO.Directory.CreateDirectory(path)
End If

Dim output As Shell32.Folder = sc.NameSpace(path)
Dim input As Shell32.Folder = sc.NameSpace(Path.Combine(myDirectory,"ZipFile.zip"))
output.CopyHere(input.Items, 4)
Habs nicht getestet, aber so in etwa müsste das aussehen
'Heaven. is offline  
Old 12/27/2013, 21:31   #11
 
elite*gold: 0
Join Date: Jan 2009
Posts: 73
Received Thanks: 2
Nein Funktioniert nicht mit einer Windows Form Anwendung -,-
Darkhomer is offline  
Old 12/27/2013, 22:36   #12
 
'Heaven.'s Avatar
 
elite*gold: 1
The Black Market: 331/0/0
Join Date: Jun 2012
Posts: 5,819
Received Thanks: 3,200
Dann sag doch mal explizit, was nicht funktioniert
'Heaven. is offline  
Old 12/27/2013, 23:34   #13
 
elite*gold: 0
Join Date: Jan 2009
Posts: 73
Received Thanks: 2
GetDirectiryName wurde nicht deklariert ...

path.Combine ist kein Member von String

Directory wurde nicht deklariert

:/ habe aber jetzt ein anderen Code der macht zumindest schon mal 50% von dem was ich will.


nur das ich noch Manual die Datei auswählen muss ist blöd


Öffnet zwar den Richtigen Pfad, aber sollte schon den Pfad nehmen wo die exe drin ist und automatisch die Datei test.zip entpacken

so wie der Code jetzt ist muss ich die noch selber Auswählen
Code:
        Using ofd As New OpenFileDialog
            ofd.Filter = "ZipFile|*.zip"
            If ofd.ShowDialog = Windows.Forms.DialogResult.OK Then
                Dim file As String = ofd.FileName
                Dim cu As New ClassUnzip(file, Path.Combine(Path.GetDirectoryName(file), "unzip_folder"))
                AddHandler cu.UnzipFinishd, AddressOf Unziped
                cu.UnzipNow()
            End If
        End Using
Code:
    Private Sub Unziped()
        MessageBox.Show("Unzipping finished")
    End Sub


evtl versteht man es so besser:

Ich Drücke den Button,
Es sucht selber die Datei "test.zip" in den Pfad wo die "EXE" drin ist.
und entpackt diese in den "test" Ordner
Darkhomer is offline  
Old 12/28/2013, 01:15   #14
 
'Heaven.'s Avatar
 
elite*gold: 1
The Black Market: 331/0/0
Join Date: Jun 2012
Posts: 5,819
Received Thanks: 3,200
Path.Combine
Path.GetDirectoryName
'Heaven. is offline  
Old 12/28/2013, 01:27   #15
 
elite*gold: 0
Join Date: Jan 2009
Posts: 73
Received Thanks: 2
WOW so rein geschmissen ...

was soll ich damit machen?

wenn ich es in das ändere passiert nix bleibt trotzdem der Fehler
Darkhomer is offline  
Reply


Similar Threads Similar Threads
C#. Unzip a .7z file
12/28/2012 - .NET Languages - 2 Replies
Hi all. i need a dll or a code to unzip .7z file. Tnx
Unzip problem
12/01/2012 - .NET Languages - 0 Replies
Hey, ich bin es mal wieder mit einem Problem Ich habe im Internet diese Klasse hier gefunden. Imports Shell32 Imports System Imports System.IO
[Problem]Habe ein Problem und zwar spinnt mein VPC etwas(ohne Grund)?!
07/28/2011 - Metin2 Private Server - 10 Replies
Also wie schon gesagt meins Server spinnt wodurch kiks usw. kommen :( ich lade euch die Screens in den Anhang, mit der Hoffnung, dass ihr mir helfen könnt :) wäre echt sehr nice :)
How to Unzip the Rappelz Models
06/11/2011 - Rappelz - 4 Replies
Hey there ;) I'm actually trying to get the Rappelz Client Archives Unzipped so I can start playin around with the whole client and maybe make some new weapons ect. But I googled 2 hours now and didn't found anything.. any help?



All times are GMT +2. The time now is 09:52.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.