Page 3 of 20

Re: текстовый редактор

Posted: Tue Mar 10, 2009 3:20 pm
by Mario
IgorA
Насчет глюка с кнопкой определенной функцией 8 - попробуй перед вызовом события мыши для MenuBar отключать те кнопки что под ним. Согласно документации:
Параметры для удаления кнопки:
eax = 8 - номер функции
edx = 0x80nnnnnn, где nnnnnn - идентификатор кнопки
А после вызова MenuBar восстанови с такими же параметрами, которые ты задавал в Draw_window. При этом перерисовывать картинку не обязательно, переопределение кнопки не отразится на внешнем виде, если ты ее задавал без отображения самой кнопки.

Впрочем как вариант можно перейтти на использование DinamicButton.

Re: текстовый редактор

Posted: Tue Mar 17, 2009 11:18 pm
by IgorA
В связи с созданием программы msgbox даю новую версию текстового редактора.

Убрал 3 глюка:
1) при сохранении файла дописывался лишний символ (было не правильное условие выхода из цикла)
2) при открытии программы не ставил "чистку" памяти, в связи с чем могли быть ошибки (одна из таких ошибок проявлялась в том, что не всегда проявлялся глюк N1)
3) функция GetPosByParam при некоторых условиях, вела себя не правильно
Доработки:
в 2-х случаях выдается сообщение (открытие большого файла, создание нового файла)

Re: текстовый редактор

Posted: Tue Mar 24, 2009 10:12 pm
by IgorA
новая версия т. редактора 24.03.2009
изменения на рисунках, цвета берутся из файла test.syn , думаю сделать интерфейс для выбора файла, но пока оно (имя файла) только одно
убрал несколько небольших глюков

Re: текстовый редактор

Posted: Wed Mar 25, 2009 10:31 pm
by IgorA
не могу понять куда-то пропадают последние файлы, наверное потому что я им имена даю похожие

Re: текстовый редактор

Posted: Thu Mar 26, 2009 2:44 am
by Leency
1. Хотелось бы функцию включения и выключения подсветки синтаксиса.
2. Сейчас, я так понимаю, вначале рисуется синяя полоса с цифрами слева, а потом уже чёрный фон с текстом. Можно сделать лучше, чтобы перерисовка была менее видна. Должно быть так: рисуется полоса синего, цифра, полоса чёрного справа от неё, текст. И т.д.
Программа всё больше радует, так держать!)))

Re: текстовый редактор

Posted: Thu Mar 26, 2009 12:17 pm
by Insolor
Замечание по поводу подсветки: допустим мне захочется завести метку, например, xorjgeeaxabc: ...
Хотя, в принципе, четырехцветная метка - это прикольно =)

Re: текстовый редактор

Posted: Mon Mar 30, 2009 1:16 am
by IgorA
версия от 30 марта 2009:
1) на последней кнопке сделал включение и выключение подсветки (хотя поначалу я ее задумывал для других целей)
2) изменил алгоритм рисования полосы с номерами строк
3) метка с именем xorjgeeaxabc: ... теперь будет двухцветной, потому что немного доработан алгоритм выделения слов цветом (определенные слова не выделяются, если слева стоит буква или цифра)

Re: текстовый редактор

Posted: Wed Apr 22, 2009 11:26 pm
by IgorA
Немного улутшил программу:
1) Доработал алгоритм разметки слов. Выделяются комментарии и строки в кавычках. Более корректно выделяются слова.
2) По нажатии одной из кнопок на панели выделяется слово (по цвету), стоящее под курсором.
3) Изменил рисунки 3-х кнопок на панели
Читал что вроди макрос новый сделали для загрузки библиотек ?

Re: текстовый редактор

Posted: Thu Apr 23, 2009 12:23 am
by Insolor
Запускаю программу, тыкаю мышью в середину текствого поля, начинаю печатать. Текст печатается в левом верхнем углу текстового поля, а курсор при этом двигается там, куда я ткнул вначале.

Re: текстовый редактор

Posted: Thu Apr 23, 2009 6:30 am
by <Lrz>
IgorA
Болеее подробно смотри тут:
viewtopic.php?f=2&t=1220&p=23033#p23033

Re: текстовый редактор

Posted: Thu Apr 23, 2009 7:03 pm
by vkos
Insolor
У меня та же проблема.

Re: текстовый редактор

Posted: Thu Apr 23, 2009 9:29 pm
by IgorA
Запускаю программу, тыкаю мышью в середину текствого поля, начинаю печатать.
Для исправления нужно доработать функцию TextAdd из файла t_work.asm . Дело втом что при добавлении текста за пределы документа нужно прежде добавить знаки перехода строки и пробелы. При открытии программы документ пустой, при попытке добавить текст за пределами файла - он (текст) добавляется в конец пустого документа, т. е. левый верхний угол.
Будет время постараюсь исправить, но пока недоделок много.

Re: текстовый редактор

Posted: Fri Apr 24, 2009 8:11 am
by <Lrz>

Re: текстовый редактор

Posted: Fri Apr 24, 2009 12:36 pm
by Insolor
Вчера пытался разбираться с исходниками и нашел опечатку в файле t_work.inc в функции TextFSColor:

Code: Select all

mov dword[ebp-4],1
mov dword[ebp-4],1
mov byte[ebp-12],0
mov byte[ebp-13],1
По идее во второй строке должно быть mov dword[ebp-8],1. Т.е. одна переменная остается неинициализированной.

Еще идея появилась, что в "моем" баге проще не текст подтягивать к курсору, а курсор подтянуть к тексту. Хотя, создателю программы, конечно, виднее.

Re: текстовый редактор

Posted: Fri Apr 24, 2009 3:40 pm
by IgorA
<Lrz>
Интересный баг, пока такого не видел. Может ли он быть связан с каким-либо не правильным подключением (или использованием) элемента EditBox ? Если происходит затирание данных самой программой, то это будет сложнее найти...
Insolor
Т.е. одна переменная остается неинициализированной
В эту переменную я планировал записать количество добавляемых символов новой строки.
проще не текст подтягивать к курсору, а курсор подтянуть к тексту
И так тоже можно сделать, просто хочется что-бы текст под курсор подстраивался а не наоборот. Если за пределом строки добавлять текст то он дополняется лидирующими пробелами. Потому думаю что надо будет дополнять и в данном случае. Хотя предложенный вариант с курсором легче реализовать.