Page 8 of 20
Re: текстовый редактор
Posted: Sun Apr 08, 2012 6:56 pm
by IgorA
art_zh wrote:Игорь, а насколько сложно будет вставить более крупный шрифт в основное поле редактора?
- я имею в виду системные шрифты №2 (8х12, уже на подходе), и №4 (10х16, еще за горами)
Или, еще лучше, - предоставить пользователю возможность выбора шрифта.
Думаю что не очень сложно. В коде нужно будет поменять размер места под символ, и по идее должно работать. Думаю лучше всего дописать функцмю для переключения шрифтов.
И еще один момент, при открытии файлов желательно сделать определение размеров файла, и если места для него не хватает выделять больше памяти. А то в данном варианте открывается кусок файла для которого хватает памяти, но пользователь всеравно получает предупреждение.
Re: текстовый редактор
Posted: Sun Apr 08, 2012 10:23 pm
by Leency
Поддерживаю двумя руками, особенно, если добавить подсветку Си и ХТМЛ.
Re: текстовый редактор
Posted: Thu Apr 19, 2012 5:39 pm
by IgorA
ревизия 2632
Подготовка программы к внесению в дистрибутив. Теперь для картинок используются *.png файлы вместо *.bmp, что позволяет уменьшить место занимаемое на диске. Жаль только что программа после внесенных изменений стала 4.1 Кб вместо 3.9 Кб, т. е. 2 кластера 8 кб, вместо 4 Кб. Но даже так изменения полезны, потому как картинки в размере значительно уменьшились.
Re: текстовый редактор
Posted: Thu Apr 19, 2012 5:55 pm
by Mario
Это размер с упаковкой KPACK? Вообще бинарник не показатель - он не так важен как занимаемое после запуска ОЗУ.
Re: текстовый редактор
Posted: Thu Apr 19, 2012 5:59 pm
by IgorA
Mario wrote:Это размер с упаковкой KPACK?
да с учетом упаковки
Re: текстовый редактор
Posted: Fri May 25, 2012 1:32 am
by Mario
Какие файлы из директории INFO жизненно необходимы для работы программы? Просто меня не радует необходимость тащить 690 Кб данных к программе. Во всяком случае на рамдиск в текущем виде запихнуть весьма затруднительно. Архиватором 7Zip они сжимаются до 80 Кб и я думаю KPACK сожмет лишь немногим хуже. Нужно продумать механизм распаковки - рабочий код распаковщика есть как в KPACK, так и в DESKTOP (установщик скинов).
Re: текстовый редактор
Posted: Fri May 25, 2012 12:11 pm
by IgorA
Mario wrote:Какие файлы из директории INFO жизненно необходимы для работы программы?
Файл default.syn синтаксис по умолчанию, который открывается при запуске программы. Если его не будет, то программа выдаст сообщение что файла по умолчанию нет и будет работать без подсветки синтаксиса, до тех пор пока пользователь не откроет другой файл .syn
Все остальные файлы можно брать по нуждам пользователей.
Например файл cpp_win_dar.syn я бы точно не брал в дистрибутив, потому что в нем синтаксис Borland C++ под Win, который давно уже не используется даже под виндовсом.
Файл voc_eng_rus.syn много места занимает потому что он задумывался как англо русский словать, на сколько он будет нужен пользователям не знаю (в нем около 3900 слов).
Посмотрю еще программы KPACK и DESKTOP потому что распаковка могла бы решить много проблем с размером.
Re: текстовый редактор
Posted: Wed May 30, 2012 10:30 pm
by IgorA
Посмотрел код открытия файлов синтаксиса, и понял что распаковку файлов так просто сделать не получится. Дело в том что файлы синтаксиса подключаются в функции ted_init_syntax_file, в которую передается имя открываемого файла. Т. е. открытие файла делается в библиотеке box_lib, а это значит что либо нужно серйозно переделывать алгоритм работы программы или сунуть в библиотеку box_lib код для распаковки файлов.
Re: текстовый редактор
Posted: Wed May 30, 2012 10:35 pm
by Mario
Вставлять в Box_Lib код распаковки это явное излишество. Почему бы не сделать подобно тому как сделана подгрузка курсоров в ядре? Либо указатель на имя, либо указатель на область с загруженным файлом.
Re: текстовый редактор
Posted: Thu May 31, 2012 12:10 am
by IgorA
Mario wrote:Вставлять в Box_Lib код распаковки это явное излишество
Согласен.
Возник вопрос, по функции unpack.
Code: Select all
; void __stdcall unpack(void* packed_data, void* unpacked_data);
unpack:
на сколько я понимаю указатель unpacked_data должен содержать заранее выделенную память ? Если так то как примерно узнать во сколько раз unpacked_data больше чем packed_data ?
Re: текстовый редактор
Posted: Thu May 31, 2012 12:22 am
by Mario
После 'KPCK' следующий dword это размер.
Re: текстовый редактор
Posted: Thu May 31, 2012 8:07 pm
by IgorA
В ревизии 2707 изменил алгоритм работы функции ted_init_syntax_file. Вынес из нее открытие файла.
Теперь остается поправить текстовый редактор (добавить распаковку), а в box_lib уже можно лезть.
Re: текстовый редактор
Posted: Thu May 31, 2012 10:02 pm
by IgorA
Пробовал добавить распаковку, не могу компилировать файл unpacker.inc (из папки desktop), в строке 147
выдает ошибку, что не знает что такое
.previousByte
Где его взять ?
Re: текстовый редактор
Posted: Thu May 31, 2012 11:31 pm
by lev
В предпоследней строке кода определяется
Re: текстовый редактор
Posted: Thu May 31, 2012 11:59 pm
by Mario
IgorA wrote:Пробовал добавить распаковку, не могу компилировать файл unpacker.inc (из папки desktop), в строке 147
выдает ошибку, что не знает что такое
.previousByte
Где его взять ?
Кроме "unpacker.inc" нужно еще использовать "kglobals.inc":
Code: Select all
include 'kglobals.inc'
include 'unpacker.inc'