unit Undo;
interface
uses
//----------------------------------------------------------
//local
//----------------------------------------------------------
GenDefs,Language,
//----------------------------------------------------------
//global
//----------------------------------------------------------
ComCtrls,Classes,Messages,Controls,Graphics,RichEdit,Types,ShellAPI;
//----------------------------------------------------------
//
//----------------------------------------------------------
const
linemargin=55;
margin=20;
//----------------------------------------------------------
//
//----------------------------------------------------------
type
TUndoList= Class(TObject)
UndoBuffer:TMemoryStream;
Linearray:array of integer;
Blockarray:array of integer;
FirstVisibleLine:integer;
UndoSelStart:integer;
UndoSelLength:integer;
UndoModified:boolean;
Next,Previous:TUndoList;
constructor Create(Siz,Sels,Sell:integer);
destructor Destroy();override;
end;
//----------------------------------------------------------
//
//----------------------------------------------------------
Ansiset=set of ansichar;
RegType=(single,regset);
RepeatType=(once,onceormore,nulloronce,nulloremore);
TRegInfo= record
pos,len:integer;
ch:char end;
TRegExp= Class(TObject)R:RegType;
M:RepeatType;
ch:ansichar;
inset:Ansiset;
Next:TRegExp;
Previous:TRegExp;
constructor Create();
destructor Destroy();override;
procedure append(N:TRegExp);
end;
//----------------------------------------------------------
//
//----------------------------------------------------------
implementation
//----------------------------------------------------------
//
//----------------------------------------------------------
constructor TUndoList.Create(Siz,Sels,Sell:integer);
begin
UndoBuffer:=TMemoryStream.Create;
UndoBuffer.SetSize(Siz);
FirstVisibleLine:=0;
UndoSelStart:=Sels;
UndoSelLength:=Sell;
UndoModified:=false;
Next:=nil;
Previous:=nil;
end;
//----------------------------------------------------------
//
//----------------------------------------------------------
destructor TUndoList.Destroy();
begin
//if undobuffer<>nil then priviledged
// UndoBuffer.destroy;
//Previous.free;
//Inherited Free;
end;
//----------------------------------------------------------
//
//----------------------------------------------------------
constructor TRegExp.Create();
begin
Next:=nil;
R:=single;
M:=once;
end;
//----------------------------------------------------------
//
//----------------------------------------------------------
destructor TRegExp.Destroy();
begin
if Next<>nil then
Next.Free;
end;
//----------------------------------------------------------
//
//----------------------------------------------------------
procedure TRegExp.append(N:TRegExp);
var
R:TRegExp;
begin
R:=self;
while R.Next<>nil do
R:=R.Next;
R.Next:=N;
N.Previous:=R
end;
//----------------------------------------------------------
//
//----------------------------------------------------------
end.
¤ Dauer der Verarbeitung: 0.0 Sekunden
(vorverarbeitet)
¤
|
Haftungshinweis
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.
|