Редактор TextEdit

...
  • Годно.

    Парочка багов:
    1. непечатаемый символ отображается как нижнее подчеркивание. Тут возможно Pathoswithin сможет помочь.
    2. программа реагирует на события мыши даже если окно не активно.
    Из хаоса в космос
  • Leency wrote: 2. программа реагирует на события мыши даже если окно не активно.
    Баг частично из-за kmenu. Это там выставляется маска отслеживания положения курсора глобально. Программа этого не знает и соответственно думает, что на переднем плане
  • Leency wrote:непечатаемый символ отображается как нижнее подчеркивание
    Какой именно?
  • Pathoswithin wrote:Какой именно?
    даю картинки
    Attachments
    2-й шрифт
    t_edit_new_2.png (7.05 KiB)
    2-й шрифт Viewed 10015 times
    1-й шрифт
    t_edit_new_1.png (5.37 KiB)
    1-й шрифт Viewed 10015 times
  • Ага, это у нас такая ср866, что немного ср437. Тогда вопрос, где вставлять костыль: шрифт или перекодирование?
  • В коде t_edit задается код символа для режима непечатаемых символов:

    Code: Select all

    tedit0: ;структура текстового редактора
    .........
    .symbol_new_line db 20 ;+173 символ завершения строки
    т. е. 20-й по счету символ был как символ конца абзаца, потому я его вписал в код.
    Но почему в разных шрифтах они выглядят по разному я не знаю.
    Потому не могу сказать где править в шрифте или перекодировке.
    Кстати я перекодировку вроде-бы не использую, по крайней мере явно.
  • Leency wrote: Кстати, мог бы и сам, это не сложное место.
    Видимо я не совсем точно выразился. Когда запускаешь редактор, прежде чем начать набор текста, необходимо мышью щелкнуть по текстовому полю (или как его правильно называть?)б иначе оно неактивно, и набор текста невозможен. Я пытался это изменить, но не преуспел.
    to infinity and beyond
  • Аааа вот это уже сложное место :D
    Подождем IgorA.
    Из хаоса в космос
  • punk_joker wrote:Видимо я не совсем точно выразился. Когда запускаешь редактор, прежде чем начать набор текста, необходимо мышью щелкнуть по текстовому полю (или как его правильно называть?)б иначе оно неактивно, и набор текста невозможен. Я пытался это изменить, но не преуспел.
    Сделал в рев 6269. Почему-то сервер не показывает отличий в файле t_data.inc, в котором я изменил всего одну строку.
    Заметил что табуляция показывается на новом шрифте как символ с буквами NL , а в конце строки иногда вылазит рамка в форме буквы Г . Т. е. символы с кодами 9 и 13 при попытке вывода на экран почему-то не прозрачные как в первом шрифте.
  • У меня встречный вопрос: почему табуляция выводится в виде девятого символа? :)
  • Pathoswithin wrote:почему табуляция выводится в виде девятого символа?
    Потому что у нее ascii код равен 9, и раньше через 4-ю функцию я выводил ее и ничего не было видно. :o
    Я в принципе могу сделать так что-бы элемент t_edit ее не выводил вообще, заменяя при выводе ее на пробел (для этого сделать изменения в функции ted_convert_invis_symb).
    Но раньше работало и так, потому даже не знаю как правильнее нужно будет сделать. :?:
  • Во всех текстовых редакторах табуляция работает как один длинный символ на несколько пробелов. При отображении, на нём посредине рисуется стрелка вправо. TinyPad этого не умеет, поэтому непосредственно превращает табуляцию в пробелы.
  • Так и задумано, что 0d0a при сохранении превращаются в 0d. Или есть настройка?

    Еще баг, после копирования ^C, вставка по ^V первый раз происходит не от курсора, а в то место, откуда копировали.