forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   2D-программирование (http://forum.boolean.name/forumdisplay.php?f=109)
-   -   zlib, работа с потоками (http://forum.boolean.name/showthread.php?t=4132)

jimon 11.08.2007 20:05

zlib, работа с потоками
 
что-то я совсем туплю после программирования гуи ...
есть вот такой код
Код:

Function PackStream:TStream(in_st:TStream)
        in_st.Seek(0)

        Local bank:TBank = New TBank
        Local out_st:TStream = OpenStream(bank)               

        Local size% = in_st.Size()
        Local size_dest% = size
        Local in:Byte[size]
        Local out:Byte[size]
               
        in_st.ReadBytes(in,size)
        compress(out,size_dest,in,size)

        out_st.WriteInt(size_dest)
        out_st.WriteInt(size)
        out_st.WriteBytes(out,size_dest)
               
        Return out_st
End Function
       
Function UnPackStream:TStream(in_st:TStream)
        in_st.Seek(0)

        Local bank:TBank = New TBank
        Local out_st:TStream = OpenStream(bank)               

        Local size_dest% = in_st.ReadInt()
        Local size% = in_st.ReadInt()
        Local in:Byte[size]
        Local out:Byte[size]
               
        in_st.ReadBytes(in,size_dest)

        uncompress(out,size,in,size_dest)

        out_st.WriteBytes(out,size)
        Return out_st
End Function

тест, где туда суется поток размером 17-32 кб с символами 0-255, он не проходит ... тестировал просто .. сжимал и сразу разжимал поток .. и сравнивал с оригиналом ... где то за 14 байт до конца было различие

до етого кода была попытка с разделением на блоки по 16 кб, но толку тоже мало было .... на 16374 байте из 16 кб падало тоже

кто скажет где мои мозги тупят ? :-) или дайте рабочий код

dimanche13 13.08.2007 23:09

Re: zlib, работа с потоками
 
compress(out,size_dest,in,size)
uncompress(out,size,in,size_dest)
может с size-ами напутал?

jimon 14.08.2007 00:29

Re: zlib, работа с потоками
 
да вроде все норм с ними


Часовой пояс GMT +4, время: 09:21.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot