Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.012 c
14-18559
Jiura32d
2003-09-18 20:31
2003.10.06
Дайте please компонент для предосмотра перед печатью!!!!


1-18290
Andy BitOff
2003-09-24 01:55
2003.10.06
Математика :-)


6-18522
Lizard
2003-08-07 09:57
2003.10.06
Как подключить диски удаленного компа ?


3-18273
ZS
2003-09-17 14:32
2003.10.06
DSQL?


7-18648
r0n1n
2003-07-23 01:48
2003.10.06
Минимизировать ОКНА!!!




   Наверх