HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Не однократная отмена действий [Delphi]
  #1  
Старый 08.02.2010, 21:43
OPF_Nik
Познающий
Регистрация: 07.11.2009
Сообщений: 36
С нами: 8690006

Репутация: 0
По умолчанию Не однократная отмена действий [Delphi]

Народ подскажите, как реализовать кнопку "назад" для TRichEdit, но так, что бы она отменяла допустим, на 5 шагов назад, а не на 1 ??
 
Ответить с цитированием

  #2  
Старый 08.02.2010, 22:25
Jingo Bo
Познающий
Регистрация: 25.10.2009
Сообщений: 97
С нами: 8707843

Репутация: 15
По умолчанию

Сам реализовывай
 
Ответить с цитированием

  #3  
Старый 08.02.2010, 22:35
OPF_Nik
Познающий
Регистрация: 07.11.2009
Сообщений: 36
С нами: 8690006

Репутация: 0
По умолчанию

Jingo Bo
не можешь не чего путного сказать, промолчал бы уже, умнее показался
 
Ответить с цитированием

  #4  
Старый 08.02.2010, 22:47
slesh
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
С нами: 10097606

Репутация: 3349


По умолчанию

Собственно говоря Jingo Bo прав. тут тока самому делать.
Вся фишка что отмена - это обычная виндовая фишка.
Верне сообщение WM_UNDO по этому больше 1 не сможешь сделать.
По этому самому нужно будет это делать.
А делается это примерно так:
1) отрабатываешь изменение текса в richedit
2) сравниваешь что изменилось и запоминай это в TStringList к примеру.
Запоминать примерно так: Кол-во букв, добавлено или удалено, с какой позиции и что за буквы.
3) обрабатывай изменения и попутно анализируй последюю запись логов. Если это одно место то просто правь предыдущую запись лога.
4) когда нужно отменить чтото, то просто забирай записи из лога и восстанавливай по ним данные
 
Ответить с цитированием

  #5  
Старый 09.02.2010, 14:56
Jingo Bo
Познающий
Регистрация: 25.10.2009
Сообщений: 97
С нами: 8707843

Репутация: 15
По умолчанию

Цитата:
не можешь не чего путного сказать, промолчал бы уже, умнее показался
Я тебе сказал как сделать, а slesh разжевал
 
Ответить с цитированием

  #6  
Старый 09.02.2010, 20:00
desTiny
Reservists Of Antichat - Level 6
Регистрация: 04.02.2007
Сообщений: 1,152
С нами: 10139366

Репутация: 1502


По умолчанию

если текста немного, можешь весь сохранять
__________________
Bedankt euch dafür bei euch selbst.

H_2(S^3/((z1, z2)~(exp(2pi*i/p)z1, exp(2pi*q*i/p)z2)))=Z/pZ
 
Ответить с цитированием

  #7  
Старый 09.02.2010, 23:13
nerezus
Флудер
Регистрация: 12.08.2004
Сообщений: 3,791
С нами: 11444066

Репутация: 2290


По умолчанию

Цитата:
Jingo Bo
не можешь не чего путного сказать, промолчал бы уже, умнее показался
Хамишь.
 
Ответить с цитированием
Ответ





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


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.