Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как работать с типизированными файлами


acc15 ©   (2005-01-23 23:16:00) 

Вот дан массив [0..999,0..999] надо его слить в файл, сливаю, и этот файл весит 1 Мб... Существуют ли методы борьбы с ТАКИМ размером???
p.s. запись в текстовый файл не предлагать...


acc15   (2005-01-28 11:45:00) [1]

2begin...end - вот он самый толковый человек в этом топике !!!!
Спасибо!!!
p.s. и как я сам не додумался...


begin...end   (2005-01-27 13:07:00) [2]

> acc15 ©   (27.01.05 10:49) [6]

> я понимаю, что размер такой и должен быть, но вот тогда
> как уменьшить его данные, когда писать в типизированный
> динамические массивы нельзя!

Что значит "уменьшить данные"? Если имеется в виду уменьшение размера статического массива - нет, этого нельзя сделать. На то он и статический.

Если массив статический, но используются не все его элементы, то пишите массив не целиком, а поэлементно, - только те элементы, которые нужны.

Динамические массивы тоже можно писать в типизированный файл поэлементно. Или писать их целиком, но в нетипизированный. И ничего очень сложного там нет.

Если вышеперечисленное не подходит (т.е. используются все элементы массива), а размер файла очень критичен, то можно подумать о преобразовании самих данных. Если, например, элементы массива имеют тип Byte, но при этом их значения не превышают, скажем, 15, то можно записывать не целый элемент, а только его младший полубайт. Но это уже довольно сложно.


TUser   (2005-01-27 11:02:00) [3]


> sniknik ©   (23.01.05 23:29) [4]
> сжатием - zip, rar, arj, ...

Как вы могли забывать про Конвектор форматов


Александр Иванов   (2005-01-27 10:59:00) [4]

acc15 ©   (27.01.05 10:49) [6]
Весь этот массив заполнен?


TUser   (2005-01-27 10:56:00) [5]


> А то нетипизированные - лишние 10 строк кода...

Это непосильные трудозатраты, безусловно.


Sergey_Masloff   (2005-01-27 10:52:00) [6]

SergP ©   (24.01.05 01:08) [5]
>А ты наверное хотел бы чтобы массив [0..999,0..999] при сливке >в файл занимал всего бы несколько байт?
В идеале - один ;-)


acc15   (2005-01-27 10:49:00) [7]

2_all... Может я маленько не корректно задал вопрос... Самый толковый, так это 3 пост sniknik... я понимаю, что размер такой и должен быть, но вот тогда как уменьшить его данные, когда писать в типизированный динамические массивы нельзя! Что придумать??? А то нетипизированные - лишние 10 строк кода...


SergP   (2005-01-24 01:08:00) [8]


> Вот дан массив [0..999,0..999] надо его слить в файл, сливаю,
> и этот файл весит 1 Мб... Существуют ли методы борьбы с
> ТАКИМ размером???


А ты наверное хотел бы чтобы массив [0..999,0..999] при сливке в файл занимал всего бы несколько байт?


sniknik   (2005-01-23 23:29:00) [9]

сжатием - zip, rar, arj, ...


sniknik   (2005-01-23 23:28:00) [10]

(1 000 * 1 000) /1024 = 975,56кб (это если массив побайтовый) т.е. примерно 1 мег. чем недоволен? получил то что есть.

борись уменьшением данных (битовый массив например), или сжатием... (это не из репертуара работы с типизированными файлами).


Gero   (2005-01-23 23:23:00) [11]


> Вот дан массив [0..999,0..999]

Массив чего?

> Существуют ли методы борьбы с ТАКИМ размером???

Архиваторы, например.


jack128   (2005-01-23 23:22:00) [12]

acc15 ©   (23.01.05 23:16)
Вот дан массив [0..999,0..999]

массив чего?? byte, boolean, Integer ? Или какого другого типа?
acc15 ©   (23.01.05 23:16)
Существуют ли методы борьбы с ТАКИМ размером???

Таким большим или таким маленьким размером?? ;-)


Наверх

Титульная страница Поиск, карта сайта Написать письмо