{$ifdef __HEAD} TProfilePlainText = class(TProfileDataFile) private fDF: Textfile; fBuffer: array[0..16*1024-1] of byte; public constructor Create(const aFileName: string); destructor Destroy; override; procedure WriteEnter(Thread: TThreadID; When: Int64; Func, Src: String; Line: Integer); override; procedure WriteLeave(Thread: TThreadID; When: Int64); override; end; {$ELSE} { TProfilePlainText } constructor TProfilePlainText.Create(const aFileName: string); begin inherited; AssignFile(fDF, aFileName); SetTextBuf(fDF, {%H-}fBuffer[0], sizeof(fBuffer)); Rewrite(fDF); end; destructor TProfilePlainText.Destroy; begin CloseFile(fDF); inherited; end; procedure TProfilePlainText.WriteEnter(Thread: TThreadID; When: Int64; Func, Src: String; Line: Integer); var l: string; begin l:= hexStr(When, 16)+ ';'+hexStr(Thread, 4)+ ';'+Src+ ';'+IntToStr(Line)+';'+Func; WriteLn(fDF, l); end; procedure TProfilePlainText.WriteLeave(Thread: TThreadID; When: Int64); var l: string; begin l:= hexStr(When, 16)+ ';'+hexStr(Thread, 4)+ ';'; WriteLn(fDF, l); end; {$ENDIF}