Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.03.2009, 13:20   #1
Bayazet
Форумчанин
 
Регистрация: 08.12.2008
Сообщений: 156
По умолчанию реализация Undo и Redo

хотелось бы проконсультироваться по вопросу реализации этих "кнопочек"

у меня есть массив координат, который я рисую на канве. так же есть несколько процедур для работы с ним (добавление, сдвиг, масштабирование ect).
для реализации "откатов" я планирую использовать динамическую структуру данных (например, двусвязный список с поинтерами left и right), в который буду добавлять новый элемент при редактировании и при нажатии на Undo\Redo просто перемещаться по этому списку

прав ли я или есть какой-то другой способ?
Bayazet вне форума Ответить с цитированием
Старый 02.03.2009, 13:28   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

для таких действий используется история действий пользователя(всех или лимитированная)
и потом просто отмена последнего действия/повтор оного
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 02.03.2009, 13:38   #3
Bayazet
Форумчанин
 
Регистрация: 08.12.2008
Сообщений: 156
По умолчанию

а можно поодробнее о том, что такое "история действий пользователя(всех или лимитированная)"?
Bayazet вне форума Ответить с цитированием
Старый 02.03.2009, 15:13   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

как делает Ворд(блокнот)?
он запоминает где и что было введено/стерто...
и потом просто отменяет и повторяет это
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 03.03.2009, 15:41   #5
ben95
Новичок
Джуниор
 
Аватар для ben95
 
Регистрация: 22.12.2007
Сообщений: 204
По умолчанию

Цитата:
Сообщение от Bayazet Посмотреть сообщение
хотелось бы проконсультироваться по вопросу реализации этих "кнопочек"

у меня есть массив координат, который я рисую на канве. так же есть несколько процедур для работы с ним (добавление, сдвиг, масштабирование ect).
для реализации "откатов" я планирую использовать динамическую структуру данных (например, двусвязный список с поинтерами left и right), в который буду добавлять новый элемент при редактировании и при нажатии на Undo\Redo просто перемещаться по этому списку

прав ли я или есть какой-то другой способ?
Привет просто купи книгу М.Э. Абрамяна "delphi7 карманный справочник с примерами", там есть пример Word на delphi, paint,и тд. и тп.
Ща мож найду кусок кода!
ben95 вне форума Ответить с цитированием
Старый 03.03.2009, 15:48   #6
KORN
Банхаммер
Участник клуба
 
Аватар для KORN
 
Регистрация: 17.02.2007
Сообщений: 1,754
По умолчанию

берешь массив при каждом изменении заносишь в него изменения... при отмене берешь последнее значение
Перед тем как спросить ищи на форуме и в GOOGLE
KORN вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Undo на форме yulia Общие вопросы Delphi 1 16.11.2008 17:22
Ctrl+Z реализация delphin100 Общие вопросы Delphi 6 10.09.2008 06:59
Реализация тестов aleksei111 Общие вопросы Delphi 2 20.05.2008 12:15
Undo-Redo NeiL Общие вопросы Delphi 8 14.03.2008 19:04
Undo, Redo Xardas Общие вопросы Delphi 1 24.01.2008 19:35