From dd82a79ed3342c81833610df103851bbacf66682 Mon Sep 17 00:00:00 2001 From: Artem3213212 Date: Fri, 1 Jun 2018 21:24:44 +0300 Subject: [PATCH] TabChange added --- AG.Logs.pas | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/AG.Logs.pas b/AG.Logs.pas index 3001f22..6e9b584 100644 --- a/AG.Logs.pas +++ b/AG.Logs.pas @@ -18,9 +18,12 @@ uses type TAGLog=class abstract strict protected + OneTabStr:string; tabs:cardinal; tabstr:string; constructor Create(); + procedure TabRegen(); + procedure SetTabText(const s:string);virtual; const CBaseTab='--------------------------'; public @@ -30,6 +33,7 @@ type procedure UnTab();virtual; procedure Write(const Text:string;o:TObject=nil);overload;virtual;abstract; destructor Destroy();override; + property TabText:string read OneTabStr write SetTabText; end; TAGRamLog=class(TAGLog) @@ -96,6 +100,8 @@ type end; TAGMultiLog=class(TAGLog) + strict protected + procedure SetTabText(const s:string);override; public type TLogsList={$IFDEF FPC}specialize TFPGList{$ELSE}TList{$ENDIF}; @@ -110,12 +116,15 @@ type const CharSize=SizeOf(char);//{$IFDEF FPC}1{$ELSE}2{$ENDIF}; + DefOneTabStr=' '; Implementation constructor TAGLog.Create(); begin Self.Write(CBaseTab+'Logging init-'+CBaseTab); +TabRegen; +OneTabStr:=DefOneTabStr; end; class function TAGLog.SizeableWordtoStr(i:word;size:int8):string; @@ -164,6 +173,21 @@ dec(tabs); Delete(tabstr,1,2); end; +procedure TAGLog.TabRegen(); +var + i:cardinal; +begin +tabstr:=''; +for i:=1 to tabs do + tabstr:=tabstr+OneTabStr; +end; + +procedure TAGLog.SetTabText(const s:string); +begin +OneTabStr:=s; +TabRegen; +end; + destructor TAGLog.Destroy(); begin Self.Write(CBaseTab+'Logging ended'+CBaseTab); @@ -366,6 +390,14 @@ end; {TAGMultiLog} +procedure TAGMultiLog.SetTabText(const s:string); +var + i:TAGLog; +begin +for i in Logs do + i.TabText:=s; +end; + constructor TAGMultiLog.Create(Default:TLogsList); begin //inherited Create;