Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.06;
Скачать: CL | DM;

Вниз

Memo и Undo   Найти похожие ветки 

 
karu   (2003-09-19 14:42) [0]

Когда сохраняешь содержимое Memo - [Memo.Lines.SaveToFile(...)], то обнуляется стек Undo.
Как сделать так, чтобы он не обнулялся?


 
Nikolay M. ©   (2003-09-19 15:20) [1]

Сохранять руками?


 
karu   (2003-09-22 12:23) [2]

Как это?


 
HolACost! ©   (2003-09-22 12:56) [3]

Делать не SaveToFile, а просто так, как бы ты делал, еслибы просто создавал построчно текстовый файл!


 
PVOzerski ©   (2003-09-22 12:57) [4]

Да и Undo можно руками сделать получше, чем стандартный. Отслеживать OnChange, вести протокол изменений на N шагов...


 
karu   (2003-09-22 17:02) [5]

Вариант, предложенный HolACost!, работает также, как и SaveToFile, т.е. CANUNDO обнуляется.
А совет PVOzerski, не представляю как реализовать.
Может кто-нибудь предложит алгоритм этого.


 
Nikolay M. ©   (2003-09-22 17:51) [6]


> Вариант, предложенный HolACost!, работает также, как и
> SaveToFile, т.е. CANUNDO обнуляется

А покажи, как делал?


 
PVOzerski ©   (2003-09-22 17:57) [7]

>А совет PVOzerski, не представляю как реализовать.
Ну, заводим, скажем, 2 связных списка (или динамических массива, или даже статических массива) записей, в список Undo вгоняем состояние Memo перед каждым измененим (в простейшем случае - текст в нем, если сложнее, то еще и выделенные области (позиция каретки), если экономнее - то различия между состоянием до изменения и после него), при каждом следующем изменении сведения о предыдущем "отодвигаются назад" (принцип стека). По команде Undo состояние Memo восстанавливается из последней записи в списке, а текущее состояние отправляется в аналогичный список Redo. При "ручном" (не как Undo) изменении содержимого Memo список Redo следует очищать. Вот и вся кухня.


 
karu   (2003-09-23 14:55) [8]

> Nikolay M.

var F: TextFile;
k: Integer;
...
AssignFile(F,FileName);
Rewrite (F);
for k := 0 to Memo.Lines.Count-1 do
WriteLn(F, Memo.Lines[k]);
CloseFile(F);
...

, если я правильно понял HolACost!
> PVOzerski
Спасибо, за идею! Так и попробую (наверно) :]



Страницы: 1 вся ветка

Текущий архив: 2003.10.06;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.016 c
1-18287
evgeniy33
2003-09-26 09:24
2003.10.06
как отключить в программе нажатие Alt+F4


3-18230
MonsterKot
2003-09-16 07:47
2003.10.06
Такая вот загадка про DBGRID


7-18659
Dima20
2003-07-21 10:19
2003.10.06
windows+m


1-18409
Olivka
2003-09-25 13:04
2003.10.06
Помогите с ООП


1-18415
Romka
2003-09-25 12:45
2003.10.06
Конвентирование bmp в ico