Modern Word. — ZXNet «code.zx»

Modern Word.

ZXNet echo conference «code.zx»



from: Aleksey Malov
to: All
date: 11 June 2000
Приветствую тебя, All! Может, кто-нибудь может связаться с Demiurg Ash'ем по поводу сабжа. Есть предложение без лишнего геморроя на порядок ускорить процесс форматирования текста, а то задалбывает полчаса ждать, пока сабж 16 килобайтовый текст отформатирует. Идея такая: Текущая версия сабжа постоянно раздвигат (или сдвигает) текст в буффере в процессе форматирования. В результате скорость падает катастрофически. Я же предлагаю следующий способ (по-моему, авторы могли бы и сами догадаться): Есть текст. Внутри него отмечен блок, подлежащий форматированию. В результате текст как бы разбивается на 3 части - текст до выделенного блока, сам блок, текст после выделенного блока. Hаличие текста до и после блока не является обязательным. В результате внутри текстового буффера образуется дыра. source_adr=новый адрес начала блока (адрес следующий за адресом последнего байта дыры). destination=адрес начала дыры. Педед процессом форматирования часть текста с начала блока и до последнего байта текста перекидывается в конец текстового буффера. Далее начинается сам процесс форматирования: Берется строка из source_adr, форматируется и кладется в destination. Конец строки, который необходимо перенесыти на другую строку, добавляется к началу следующей строки из source_adr. Я думаю, принцип ясен. Скорость форматирования по моим подсчетам будет не менее 30k в секунду. Hалицо опримизация в сотни раз. Желаю вам здоровья, счастья и творческих узбеков. Aleksey Malov aka VIVID/Brainwave.