На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! правила раздела Алгоритмы
1. Помните, что название темы должно хоть как-то отражать ее содержимое (не создавайте темы с заголовком ПОМОГИТЕ, HELP и т.д.). Злоупотребление заглавными буквами в заголовках тем ЗАПРЕЩЕНО.
2. При создании темы постарайтесь, как можно более точно описать проблему, а не ограничиваться общими понятиями и определениями.
3. Приводимые фрагменты исходного кода старайтесь выделять тегами code.../code
4. Помните, чем подробнее Вы опишете свою проблему, тем быстрее получите вразумительный совет
5. Запрещено поднимать неактуальные темы (ПРИМЕР: запрещено отвечать на вопрос из серии "срочно надо", заданный в 2003 году)
6. И не забывайте о кнопочках TRANSLIT и РУССКАЯ КЛАВИАТУРА, если не можете писать в русской раскладке :)
Модераторы: Akina, shadeofgray
  
> Как реализ. функц. Undo/Rendo в TextEditor
    Как реализовать функции Undo/Rendo в текстовом редакторе?

    Я пока делаю через массив строк, но этот слишком просто!!!

    Подскажие как это можно по нормальному сделать?
      я не знаю как это делается в обычном текстовом редакторе, но я бы реализовал через два стека, т.е. когда проходит операция, то она записывается в стек, а когда надо сделать возврат, то достается , при этом текущая операция записывается в другой стек для RENDO
        Сколько раз в твоем редакторе можно будет нажимать Undo?
          1) IMHO не Rendo а Redo
          2) 2stx по моему оно почти так и реализовано, только вот если после Undo че-нить нажали (букву ввели) надо очистить весь стек Redo
          так что есть идея сделать один стек, для undo, а redo, это перемещение вершины стека, так что после нескольких Redo, когда мы выполняем операцию, новые данные для undo добавляются с новой вершины, а на все что выше было забиваем, только надо память правильно освобождать:)
            Что каксается С, то следубщим образом
            SendMessage(Editor->Handle, EM_UNDO, 0, 0);
            Где Editor - Memo, Edit, RichEdit ;D ;D  ;D
            0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
            0 пользователей:


            Рейтинг@Mail.ru
            [ Script execution time: 0,0182 ]   [ 15 queries used ]   [ Generated: 2.05.24, 05:23 GMT ]