[go: up one dir, main page]

Menu

[r37]: / src / common / unilog.pas  Maximize  Restore  History

Download this file

54 lines (41 with data), 1.0 kB

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
unit unilog;
interface
uses Classes, SysUtils, Dialogs;
type
TLogProc = procedure(n: integer; s: string);
var
LogLines: TStrings;
Log: TLogProc;
logmask: set of byte;
logshift: integer;
procedure Log1(n: integer; s: string);
procedure Log2(n: integer; s: string);
procedure log_s(Name: string; params: string = '');
procedure log_f(Name: string);
implementation
procedure Log1(n: integer; s: string);
begin
if n in logmask then
ShowMessage(IntToStr(n) + ':' + s);
end;
procedure Log2(n: integer; s: string);
begin
if (LogLines <> nil) and (n in logmask) then
LogLines.Add(s);
end;
procedure log_s(Name: string; params: string = '');
begin
log(110, StringOfChar(' ', logshift) + Name + '(' + params + ')');
Inc(logshift, 3);
end;
procedure log_f(Name: string);
begin
Dec(logshift, 3);
log(110, StringOfChar(' ', logshift) + 'end ' + Name);
end;
begin
logshift := 0;
logmask := [0..100];
log := @Log2;
LogLines := nil;
end.