Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Откат [D3, D5, Win95/98]


OxOTHuK ©   (2003-01-26 21:46:00) 

Как реализовать сабж... т.е. UNDO и REDO


Tux   (2003-01-27 00:17:00) [1]

Если надо реализовать нестандартный откат - нетривиальная задача. Надо тщательно спланировать интерфейс класса, работающего с откатом. Сам класс как правило проектируется в виде гибрида стека и списка, т.е. это по идее стек с ограниченным размером, причем при добавлении новых элементов в стек при превышении его максимального размера элементы (операции) выталкиваются и уничтожаются с другого конца.
Реализовать его гораздо проще на С++, т.к. Delphi не имеет столь же удобной поддержки шаблонов, позволяющей помещать в template-class различные типы данных. Что в нем хранить - тут уж творческая задача :) - указатели на функции, указатели на объекты, указатели на простые типы данных или сами экземпляры простых типов данных. Потренироваться можно попробовав реализовать стек операций ala photoshop.

В общем, готового решения на все случаи жизни нету :)


Kair   (2003-01-26 21:54:00) [2]

Может ActionList?


DVM   (2003-01-26 21:54:00) [3]


> Song

Я OxOTHuK спрашивал. Про Мемо я разумеется то знаю:)
Просто сообщения как то одновременно добавились.


Song   (2003-01-26 21:50:00) [4]

В TMemo например.


dvm   (2003-01-26 21:48:00) [5]

Где?


Song   (2003-01-26 21:47:00) [6]

запоминать... кое-где это реализовано в VCL.


Наверх

Титульная страница Поиск, карта сайта Написать письмо