Редактор TextEdit

...
  • Поддерживаю двумя руками, особенно, если добавить подсветку Си и ХТМЛ.
    Из хаоса в космос
  • ревизия 2632
    Подготовка программы к внесению в дистрибутив. Теперь для картинок используются *.png файлы вместо *.bmp, что позволяет уменьшить место занимаемое на диске. Жаль только что программа после внесенных изменений стала 4.1 Кб вместо 3.9 Кб, т. е. 2 кластера 8 кб, вместо 4 Кб. Но даже так изменения полезны, потому как картинки в размере значительно уменьшились.
  • Это размер с упаковкой KPACK? Вообще бинарник не показатель - он не так важен как занимаемое после запуска ОЗУ.
  • Mario wrote:Это размер с упаковкой KPACK?
    да с учетом упаковки
  • Какие файлы из директории INFO жизненно необходимы для работы программы? Просто меня не радует необходимость тащить 690 Кб данных к программе. Во всяком случае на рамдиск в текущем виде запихнуть весьма затруднительно. Архиватором 7Zip они сжимаются до 80 Кб и я думаю KPACK сожмет лишь немногим хуже. Нужно продумать механизм распаковки - рабочий код распаковщика есть как в KPACK, так и в DESKTOP (установщик скинов).
  • Mario wrote:Какие файлы из директории INFO жизненно необходимы для работы программы?
    Файл default.syn синтаксис по умолчанию, который открывается при запуске программы. Если его не будет, то программа выдаст сообщение что файла по умолчанию нет и будет работать без подсветки синтаксиса, до тех пор пока пользователь не откроет другой файл .syn
    Все остальные файлы можно брать по нуждам пользователей.
    Например файл cpp_win_dar.syn я бы точно не брал в дистрибутив, потому что в нем синтаксис Borland C++ под Win, который давно уже не используется даже под виндовсом.
    Файл voc_eng_rus.syn много места занимает потому что он задумывался как англо русский словать, на сколько он будет нужен пользователям не знаю (в нем около 3900 слов).
    Посмотрю еще программы KPACK и DESKTOP потому что распаковка могла бы решить много проблем с размером.
  • Посмотрел код открытия файлов синтаксиса, и понял что распаковку файлов так просто сделать не получится. Дело в том что файлы синтаксиса подключаются в функции ted_init_syntax_file, в которую передается имя открываемого файла. Т. е. открытие файла делается в библиотеке box_lib, а это значит что либо нужно серйозно переделывать алгоритм работы программы или сунуть в библиотеку box_lib код для распаковки файлов.
  • Вставлять в Box_Lib код распаковки это явное излишество. Почему бы не сделать подобно тому как сделана подгрузка курсоров в ядре? Либо указатель на имя, либо указатель на область с загруженным файлом.
  • Mario wrote:Вставлять в Box_Lib код распаковки это явное излишество
    Согласен.
    Возник вопрос, по функции unpack.

    Code: Select all

    ; void __stdcall unpack(void* packed_data, void* unpacked_data);
    unpack:
    на сколько я понимаю указатель unpacked_data должен содержать заранее выделенную память ? Если так то как примерно узнать во сколько раз unpacked_data больше чем packed_data ?
  • После 'KPCK' следующий dword это размер.
  • В ревизии 2707 изменил алгоритм работы функции ted_init_syntax_file. Вынес из нее открытие файла.
    Теперь остается поправить текстовый редактор (добавить распаковку), а в box_lib уже можно лезть.
  • Пробовал добавить распаковку, не могу компилировать файл unpacker.inc (из папки desktop), в строке 147

    Code: Select all

    mov     [.previousByte], bl
    выдает ошибку, что не знает что такое .previousByte
    Где его взять ?
  • В предпоследней строке кода определяется

    Code: Select all

    unpack.previousByte db	?
  • IgorA wrote:Пробовал добавить распаковку, не могу компилировать файл unpacker.inc (из папки desktop), в строке 147

    Code: Select all

    mov     [.previousByte], bl
    выдает ошибку, что не знает что такое .previousByte
    Где его взять ?
    Кроме "unpacker.inc" нужно еще использовать "kglobals.inc":

    Code: Select all

    include 'kglobals.inc'
    include 'unpacker.inc'
  • Who is online

    Users browsing this forum: No registered users and 2 guests