Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi gzip und zip entpacken (https://www.delphipraxis.net/119152-gzip-und-zip-entpacken.html)

itashadow 26. Aug 2008 08:02

Re: gzip und zip entpacken
 
juhu nu klappts auch mit der gzip:D

allerdings

wenn der programm ordner aufm desktop ist und ordner +filename so ca 170 zeichen lang ist dann liest er zwar die datei aber
gibt mir nur 1 zeichen zurück und das auch noch falsch.

wenn es jedoch nur nen kurzer pfad ist: d:\test\test.txt.gz
dann klappt es ohne probleme...
habs mit der selben datei ausprobiert...

btw gzgetc liefert in dem fall immer -1 zurück

gammatester 26. Aug 2008 12:24

Re: gzip und zip entpacken
 
Zitat:

Zitat von itashadow
juhu nu klappts auch mit der gzip:D

allerdings

wenn der programm ordner aufm desktop ist und ordner +filename so ca 170 zeichen lang ist dann liest er zwar die datei aber
gibt mir nur 1 zeichen zurück und das auch noch falsch.

wenn es jedoch nur nen kurzer pfad ist: d:\test\test.txt.gz
dann klappt es ohne probleme...
habs mit der selben datei ausprobiert...

btw gzgetc liefert in dem fall immer -1 zurück

Jetzt hast Du doch wohl ein Feature entdeckt! :wink:

In gzio.pas, function gzopen (Zeile 407) sollte statt
Delphi-Quellcode:
system.assign(zfile, path);
besser
Delphi-Quellcode:
system.assign(zfile, fpath);
stehen. Man kann auch in der Typdeklaration

Delphi-Quellcode:
type
  gz_stream = record
                stream     : z_stream;
                z_err      : int;       {error code for last stream operation         }
                zs_eof     : boolean;   {set if end of input file                     }
                zfile      : file;      {.gz file                                     }
                inbuf      : pBytef;    {input buffer                                 }
                outbuf     : pBytef;    {output buffer                                }
                crc        : uLong;     {crc32 of uncompressed data                   }
                msg,                     {error message - limit 79 chars               }
                path       : string[79]; {path name for debugging only - limit 79 chars }
                transparent : boolean;   {true if input file is not a .gz file         }
                mode       : char;      {'w' or 'r'                                   }
                startpos   : long;      {start of compressed data in file (header skipped)}
              end;
den Type für path auf string[255] setzen!

Besser

Gruß Gammatester

itashadow 26. Aug 2008 13:50

Re: gzip und zip entpacken
 
na toll:D
hab so viel ausprobiert...
aber an die path/msg deklaration hab ich nicht gedacht:D
danke:)

läuft nun alles bestens:)


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:44 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz