На главную ↑

Оглавление

Введение

Функции

Введение

Элемент text_editor позволяет работать с текстовыми файлами, содержит много функция для редактирования текста.

Внешний вид программы, с элементом text_editor.

Возможности

Некоторые недоработки

О работе программы

Раздел для программистов (и интересующихся людей), в котором расказаны некоторые идеи, на которых построена данная программа.

Для работы с текстом программа использует структуры:

struct symbol
  c db ?	;  +0 символ
  col db ?	;  +1 цвет
  perv dd ? ;  +2
  next dd ? ;  +6 указатели
  tc dd ?	; +10 врем. создания
  td dd ?	; +14 врем. удаления
ends

Каждая из таких структур сохраняет один символ в переменной 'c'. Переменные 'perv' и 'next' хранят индексы первого и следующего символов. Благодаря чему текст создается в виде цепочки символов (двунаправленный список).

'tc' - время создания символа, при отмене действия текстовый редактор "знает" какие символы отображать, а какие нет (хотя все символы "висят" в памяти).

'td' - время удаления символа, заполняется при удалении, при отмене действия удаления символов, текст может быть восстановлен.

'col' - используется для цветовой разметки.

Функции

Функции на экспорт:

ted_but_copy

Функция которая будет вызываться при нажатии на кнопку копирования в буфер или на Ctrl+C.

Пример использования:

stdcall [ted_but_copy], tedit0

ted_but_cut

ted_but_find_next

ted_but_paste

ted_but_redo

ted_but_reverse

ted_but_save_file

ted_but_select_word

ted_but_sumb_lover

ted_but_sumb_upper

ted_but_undo

ted_can_save

ted_clear

ted_delete

ted_draw

ted_init

ted_init_syntax_file

ted_is_select

ted_key

ted_mouse

ted_open_file

ted_text_add

ted_text_colored

Внутренние функции:

ted_get_text_perv_pos - переход на предыдущий символ в цепи (через указатель 'perv')

ted_get_text_next_pos - переход на следующий символ в цепи (через указатель 'next')

ted_symbol_not_vis - определяет видимый ли указанный символ на экране (в зависимости от значений 'tc' и 'td')

ted_iterat_next - переход на следующий видимый символ в цепи. Использует для работы функции ted_get_text_next_pos и ted_symbol_not_vis.

ted_iterat_perv - переход на предедущий видимый символ в цепи.

ted_iterat_next_pos_char - найти следующую позицию указанного символа (edx-поз. начала поиска, bl->код искомого символа)

ted_get_pos_by_coords - берет позицию символа по координатам (esi->коорд. x, знак; ecx->коорд. y, строка)

ted_go_to_pos - переставляет курсор в указанную позицию, если указанная позиция находится вне экрана, то также переставляются скролинги (ecx->коорд. x, знак; edx->коорд. y, строка)

Формат файла подсветки *.syn

ЭлементРазмер (байт)
Количество цветов текста
4
Количество подсвечиваемых слов
4
Цвета интерфейса
4*6
Цвета для текста
4*(кол. цв. текста)
Структуры со свойствами и описаниями слов
sizeof(TexColViv)*(кол. слов)
Разделительный символ, означающий начало описаний слов (всегда равен 0)
1 байт
Описания слов (строки текста с 0-ми в конце)
(длинна справочного текста + 1)

Замечания.


Документация обновлялась последний раз 29.04.10.