ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

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

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

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

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

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

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

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

Репутация: 0
Отправить сообщение для OPF_Nik с помощью ICQ
По умолчанию

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

  #4  
Старый 08.02.2010, 22:47
slesh
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме:
3288241

Репутация: 3349


Отправить сообщение для slesh с помощью ICQ
По умолчанию

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

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

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

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

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

Репутация: 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
Pagan Heart
Регистрация: 12.08.2004
Сообщений: 3,791
Провел на форуме:
6490435

Репутация: 2290


Отправить сообщение для nerezus с помощью ICQ
По умолчанию

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





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


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




ANTICHAT.XYZ