Einzelnen Beitrag anzeigen

Nisbo

Registriert seit: 10. Mär 2005
191 Beiträge
 
Delphi 5 Standard
 
#16

Re: Vereinfachen von Quellcode?

  Alt 26. Mär 2006, 19:57
habe jetzt eine notlösung gefunden wie man ein einfaches undo / redo hinbekommt, ist aber nicht wirklich zufriedenstellend

man nehme noch 2 zusätzliche SynEdits und setze diese auf visible := false
diese werden dann als zwischenspeicher verwendet

mit den undo und redo buttons wird dann dieser code ausgeführt

Delphi-Quellcode:
// Undo
procedure TForm1.ToolButton7Click(Sender: TObject);
begin
  SynEdit3.Lines := SynEdit1.Lines; // aktueller text sichern
  SynEdit1.Lines := SynEdit2.Lines; // backup einfügen
  SynEdit2.Lines := SynEdit3.Lines; // backup durch aktuellen text ersetzen

  ToolButton7.enabled := false;
  ToolButton9.enabled := true;
end;

// Redo
procedure TForm1.ToolButton9Click(Sender: TObject);
begin
  SynEdit3.Lines := SynEdit1.Lines; // aktueller text sichern
  SynEdit1.Lines := SynEdit2.Lines; // backup zurückschreiben
  SynEdit2.Lines := SynEdit3.Lines; // backup durch aktuellen text ersetzen

  ToolButton7.enabled := true;
  ToolButton9.enabled := false;
end;
die beiden buttons immer abwechselnd enabled oder disabled

beim schreiben neuer zeilen wird vor den einfügen immer

SynEdit2.Lines := SynEdit1.Lines;

gemacht um den aktuellen zwischenspeicher zu lesen sowie der redobutton aus und der undo button eingeschaltet

ToolButton9.enabled := false;
ToolButton7.enabled := true;

vielleicht hilft es ja einen der das topic durch die suche findet
Jens
  Mit Zitat antworten Zitat