User Tag List

Показано с 1 по 10 из 146

Тема: DEB - ассемлер нового поколения...

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    19.02.2005
    Адрес
    Украина, Одесса
    Сообщений
    124
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Thumbs up Редактирование текста... попытаемя сделать легко и в один скролл!

    Цитата Сообщение от Robus
    Снова низкий поклон !!!



    Вообще-то, если уж смотреть совсем в корень проблемы, то можно пойти очень неординарным путём ... Может это натолкнёт тебя на новые мысли ...

    Попробуй сделать моментальную компиляцию ... То есть, если кто-то пишет JP Start, то так и сохраняешь 195,lo,hi ... Только Lo/Hi, будет указывать на таблицу меток, от которой никак не уйти. Конечно тогда возникают трудности с ремарками ... Но и тут можно обойти проблему, просто сделай ещё один буфер, где будут лежать ремарки а заодно и DB, с указанием на строку, где её набивали ... Я понимаю, что редактирование такого извращённого текста будет сложным, но экономным. На встречу этой идеи могу предложить другой метод редактирования текста, что ускорит обработку редактирования в тысячи раз, а если быть точным, то по сути в бесконечность ... Представь себе, что у тебя есть кусок памяти в 40000 байт, куда загружен текст в конец этого блока. При нажатии вниз, ты всего-то переносишь в начало блока строку. Ежели кто-то набивает текст, то ты просто в конец текущей строки добавляешь байты (текст). Просто человек при редактировании всё равно пользуется переходом вверх/вниз, а тебе всего-то нужно перенести пару байт соответствующей строки.

    00000 ... ORG 16384
    00002 ... LD HL,16384
    00005 ... LD DE,16385
    00008<--- Тут курсор
    39992 ... LD BC,6911
    39995 ... LD (HL),L
    39996 ... LDIR
    39998 ... DI
    39999 ... HALT

    Ежели кто-то нажал вниз будет:

    00000 ... ORG 16384
    00002 ... LD HL,16384
    00005 ... LD DE,16385
    00008 ... LD BC,6911
    00011<--- Тут курсор
    39995 ... LD (HL),L
    39996 ... LDIR
    39998 ... DI
    39999 ... HALT

    То есть, по-сути, всё, что остаётся это просто высветить текст, или перенести его скроллом, и высветить только одну строчку, которую редактируем !

    Конечно я утрировал, поскольку там есть и ORG, его то же нужно как-то закодировать, но это дело техники ... Если тебя это заинтересовало, то могу дать уже готовый текстовый редактор, который я делал в 94-ом году. Там, кстати, сделан совершенно любой шрифт по X и Y, только нарисовать и всё. Причём, каждая буква может быть своего размера. В турбо, при условии, что высота шрифат 2 пиксела, получается один фрейм, при скроллировании. Если взять фонт высостой в 6 пикселей, то получается один фрейм и без турбо. Там применён этот метод редктирования, но я совсем не помню, сколько он при этом жрёт памяти, но один фрейм гарантирую. Я всегда свои тексты набивал в нём, поскольку очень люблю один фрейм !!!
    Супер! Прибей файлик! Я посмотрю! Мне какраз нужен сейчас отличный скролл...

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •