Zitat von
itashadow:
juhu nu klappts auch mit der gzip
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!
In gzio.pas, function gzopen (Zeile 407) sollte statt
system.assign(zfile, path);
besser
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