ZX Review
#7-8-9-10
08 ноября 1997 |
|
Форум - Усовершенствование Art Studio. Идеи относительно компрессии файлов.
(c) Феськов Кузьма, г.Абакан Для рубрики "Форум" я предла- гаю сегодня совет по усовершен- ствованию известной всем про- граммы ART STUDIO, точнее, ее версии для 128 килобайтов. Вспомните, сколько мучитель- ных минут вы провели в попытках отметить два одинаковых окна. На мой взгляд, делать движение ок- на по пикселям несколько неудач- ное решение, но из этого положе- ния есть один простой выход. При выборе данной опции стрелка ме- няется на квадрат, середина ко- торого соответствует углу окна. Я предлагаю заменить этот квад- рат на "+", середина которого и будет отправной точкой для окна. Вид курсора будет таким, как при редактировании под лупой. Не пытайтесь отыскать спрайт, со- ответствующий этому квадрату, все несколько сложнее (на мой взгляд, авторы зря потратили па- ру десятков байтов). Итак, что же нужно изменить: После того, как программа за- пустилась, надо изменить следую- щие байты - 57569,16; 57572,16; 57575,16; 57578,254; 57581,16; 57584,16; 57587,16. Это можно сделать, используя встроенные в ПЗУ мониторы. Владельцам других компьютеров придется искать ад- реса самостоятельно. Я хочу поделиться с вами своими идеями относительно ком- прессии файлов. В частности, о методе Хофмана. На данном этапе, да и вообще для Спектрума, идея архивов мне кажется не нужной, поскольку размеры не те, да и программы сейчас уже идут ком- прессированые авторами. И нужны самораспаковывающиеся файлы (ти- па тех, которые создают компрес- соры KSA и другие). Подбирать для файлов, содержа- щих данные одного типа, опреде- ленное дерево декомпрессии мне кажется несколько неудобным, по- скольку даже для таких файлов различие может сильно колебать- ся. Мой метод построения дере- ва декомпрессии построен очень просто, правда, при этом ком- прессия файла занимает некоторое время (не такое уж и большое). Перед началом компрессии мы дол- жны построить дерево, относи- тельно которого будет происхо- дить компрессия, а делается это очень просто - нам всего лишь надо сосчитать количество одина- ковых байтов, то есть сколько раз в файле встретился код 0, 1, 2 и так далее (тут имеется в ви- ду не подряд следующие байты, а ВСЕ встречающиеся). Далее нам следует рассортировать эти дан- ные по убыванию. Делается это довольно просто. Очевидным дос- тоинством этого метода построе- ния дерева является возможность сократить его размеры. Это, в частности, актуально для тексто- вых файлов, где размеры дерева уменьшаются иногда на 100, а то и 150 байтов, тогда как в пред- ложенном вами способе размер всегда фиксированный. В простых программах (даже очень больших), как правило, можно найти 5-10 байтов, которые не попадаются в них ни разу. Я поделился лишь идеей, и мо- жет быть, она кому-нибудь помо- жет. Приводить получившуюся у меня программу я не стал, так как она далека от совершенства, да и декомпрессор слишком медли- телен. * * *
Другие статьи номера:
Похожие статьи:
В этот день... 21 ноября