PDA

View Full Version : [Q] Giảm độ lớn file kiểu Record



Xì Tin
29-01-2003, 10:52
Có cách nào nén kiểu record không ?, trong Pascal í mà (gồm 1 string, 1 byte, 1 boolean)
Ví dụ tạo ra file .dat lưu đúng 100 phần tử kiểu record trên, nhưng file này hơi hơi lớn (chỉ khoảng vài trăm ký). Có cách nào cho nó xuống hàng chục không ? Mong các sư huynh muội giúp đỡ với

Mach2
29-01-2003, 18:54
Nếu dùng Delphi thì có packed record... Nhưng mà giảm thế thì hơi wá đáng đó...

CrazyBabe
30-01-2003, 13:41
Bạn dùng thuật toán nén nào đó nén file lại, mà giảm thì tuỳ, nếu dữ liệu toàn một số thì xuống bé xíu còn trường hợp xấu thì vẫn to vật bạn à.

Junior IT
30-01-2003, 14:36
CrazyBabe: thuâậ toán nén?? Bạn có thể nói rõ hơn một chút được ko?

Xì Tin
31-01-2003, 10:51
Nếu nén file thì có thể dùng thuật toán RLE hay LZW...
Nhưng ở đây mình thấy có một chương trình Đố vui viết bằng Pascal, tất cả các file .dat dùng để lưu trữ câu hỏi đều có chung một kích thước (khoảng 20kb) cho dù file đó chỉ lưu có 1 câu hỏi hoặc không có câu nào (nhiều nhất là 100 câu). Nếu dùng cách nén file thì kích thước các file phải khác nhau chứ.
Ý mình nói ở đây là chương trình đó đã thế nào để được như vậy.

Junior IT
31-01-2003, 11:05
Thuật toán RLE và LZW??
Bạn có thể tra đổi thêm với mình về mấy cái thuật toán này đươc ko?
junior_it@movemail.com
:)

Zero
03-02-2003, 20:23
? Một string một byte một boolean mà 100 câu thì chỉ có 25800 byte thôi mà ? khoảng 24.5 K chưa nén không hiểu ?????

Xì Tin
11-02-2003, 15:57
Nhưng nếu lưu file kiểu record này thì kích thước của nó không bằng với tổng độ lớn của các record cộng lại.
Bạn hãy thử tạo một file với kiểu record trên thử xem (trong Pascal), kích thước của nó không như bạn tính đâu.
--------------------------------------------------------------------------------
Hai thuật toán nén trên (chính xác là phương pháp nén) được áp dụng để nén ảnh (PCX và GIF), riêng phương pháp LZW còn được sử dụng để nén từ điển.
Nếu bạn muốn biết thêm về các phương pháp nén thì bạn nên tham khảo cuốn 'Nhập môn ảnh số', trong đó có nói kỹ về các phương pháp nén ảnh (RLC, Huffmman, LZW, ... kể cả phương pháp nén ảnh JPG).

CrazyBabe
12-02-2003, 09:36
Sao lại chế nhể ? Không hiểu lúm ? Ghi kiểu giề mà lại kô bằng tổng kích thước khối dữ liệu hả bạn ? Tui kô hiểu bạn làm chế nào mà được zậy nữa, he he, Zero tính đúng rùi còn giề :>

btkiet
13-02-2003, 09:17
To Xì Tin: bạn xem lại coi có sai sót gì trong việc tạo file không. Zero tính đúng rồi, kích thước file record bằng với kích thước của một record nhân với số lượng record được lưu vào file mà.