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

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

как сделать анлимитед анду/реду для мемо?


лут ©   (2002-04-13 15:23:00) 

у кого какие идеи насчет того как сделать анлимитед анду/реду для мемо.

сделал 2:один сохраняет в листбоксе другой в в темп файлах но ниодна мне не нравиться:(

1- когда текст большой (не измерял точность)вызывает сбой, ясное дело низя список строк в одной строке сохранить-у нее же есть лимит наверное(но какой у нее лимит?)
2-сжирает место на винте.


1)
var
undo:boolean;

implementation

{$R *.DFM}

procedure TForm1.button_redoClick(Sender: TObject);
var
i:integer;
begin
i:= ListBoxRedo.Items.Count;

if listboxRedo.Items.Text<>""then
begin
memo1.Text:=ListBoxRedo.Items[i-1];
ListBoxRedo.Items.Delete(i-1);
button_redo.Enabled:=true;
end
else
begin
button_redo.Enabled:=false;
end;
end;

procedure TForm1.Memo1Change(Sender: TObject);
begin
if undo then
undo:= false
else
ListBoxUndo.Items.Insert(0,memo1.text);

if memo1.Text<>""then
button_undo.Enabled:=true;
end;

procedure TForm1.button_undoClick(Sender: TObject);
begin
undo:=true;
ListBoxUndo.Items.Delete(0);

if memo1.Text<>""then
ListBoxRedo.Items.Add(Memo1.Text);

if listboxUndo.Items.Text<>""then
begin
memo1.Text:=ListBoxUndo.Items[0];
button_undo.Enabled:=true;
end
else
begin
memo1.Text:="";
button_undo.Enabled:=false;
end;

button_redo.Enabled:=true;


2).
procedure TForm1.Memo2Change(Sender: TObject);
begin
inc(i);
memo2.Lines.SaveToFile("temp"+inttostr(i)+".txt");

end;


Fantasist   (2002-04-13 21:29:00) [1]

Запоминай последовательность нажатых клавишь и удаленных букв.


SPeller   (2002-04-13 16:27:00) [2]

Можно запоминать в масив 3 параметра - текст, начало выделения, конец выделения или вообще один текст. Сначала заполнять массив, а затем добавлять новые и удалять старые данные.


Наверх

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