HZIP zu Integer??



  • Hi,

    ich verstehe da etwas ganz und gar nicht.
    Aus einem Beitrag bei Codeproject verwende ich eine Zip-Klasse.

    Dort wird ein Zip-Archiv geöffnet mit:

    HZIP hz = OpenZip(myzip,"hanswurst");
    

    Der Rückgabetyp HZIP ist ja selbst definiert. Wie soll man sowas
    denn nun auswerten? Bei éinem Fehler gibt dies wohl ZR_PASSWORD zurück.

    Ich darf aber nicht dies machen:

    if(hz==ZR_PASSWORD)
    {
    //...Fehler
    }
    

    "keine Konvertierung von int in HZIP".

    Das Define für HZIP lautet: #define ZR_PASSWORD 0x00001000

    Aber wie soll ich das nun auswerten? 😞

    Kelly



  • Zeig mal den Link zu dem Codeproject-Artikel...

    PS: Kann sein, dass ein einfacher reintepret_cast reicht.



  • Bei einem Fehler gibt es 0 zurück!!

    HZIP OpenZipInternal(void *z,unsigned int len,DWORD flags, const char *password)
    { TUnzip *unz = new TUnzip(password);
      lasterrorU = unz->Open(z,len,flags);
      if (lasterrorU!=ZR_OK) {delete unz; return 0;}
      TUnzipHandleData *han = new TUnzipHandleData;
      han->flag=1; han->unz=unz; return (HZIP)han;
    }
    
    HZIP OpenZip(const TCHAR *fn, const char *password) {return OpenZipInternal((void*)fn,0,ZIP_FILENAME,password);}
    


  • Hi,

    ich meine diesen hier:

    http://www.codeproject.com/file/zip_utils.asp

    @Z: das sieht ja kompliziert und etwas anders aus, als im Beitrag beschrieben.



  • @Z: das sieht ja kompliziert und etwas anders aus, als im Beitrag beschrieben.

    Die Implementierung ist doch überhaupt nicht beschrieben sondern nur die Benutzung?



  • Ich erhalte mit GetLastError immer ZR_OK zurück,
    obwohl mein Zip-Archiv eigentlich gar nicht entpackt werden dürfte
    (da ganz anderes Passwort hinterlegt).

    //unzip.h
    #define ZR_PASSWORD   0x00001000     // we didn't get the right password to unzip the file
    

    Wow, ein neuer Passwortcracker..... 🙄 Ist aber nicht das, was
    ich ursprünglich damit machen wollte.


Anmelden zum Antworten