Debug logfile.

Denne koden viser én måte å spare mye ting som skjer i applikasjonen i en logg file.Here er to filer til stede, prosjektfilen og en enhet som gjør jobben ... {Unit1.pas} enhet Unit1; interfaceuses {$ DEFINE DEBUG} {$ ifdef DEBUG} ULOG, {$ endif} Windows, Meldinger, SysUtils, Klasser, Grafikk, kontroller, skjemaer, Dialoger, StdCtrls, skriver TForm1 = klasse (TForm) Button1: TButton; Prosedyren Button1Click (Sender: TObject); private {felleserklæringer} offentlige {offentlige erklæringer} end; Var Form1: TForm1; gjennomføringen {$ R * .DFM} prosedyre TForm1.Button1Click (Avsender: TObject); varBar: Integer; beginBar: = 100; {$ ifdef DEBUG} Log (Format ('Button1.Click; Bar = %d',[Bar]));{$ENDIF}end;end.//--------------------------------------------------------------------{uLog.pas}unit ULOG; interfaceprocedure Log (S: String); gjennomføringen bruker Windows, SysUtils; Var Loggfil: tekstfil; LogCriticalSection: TRtlCriticalSection; prosedyre Log (S: String); Var SystemTime: TSystemTime; FILETIME: TFileTime; beginGetSystemTime (SystemTime); SystemTimeToFileTime (SystemTime , FILETIME), EnterCriticalSection (LogCriticalSection); WriteLn (Loggfil, Format ('% s% .8x% .8x% s', [FormatDateTime ('yy.mm.dd tt.mm.ss', nå), FileTime.dwHighDateTime , FileTime.dwLowDateTime, S])); LeaveCriticalSection (LogCriticalSection); ende; prosedyre Startup; Var Filename: String; beginInitializeCriticalSection (LogCriticalSection); Filename: = Format ('loggfilen for% s på% s.txt', [ParamStr (0), DateTimeToStr (nå)]), mens Pos (':', Filename) > 0 gjøre Filename [Pos (':', Filename)]: '.' =, mens Pos ('/', Filename) > 0 gjøre Filename [Pos ('/', Filename)]: -: '.' = '';, mens Pos ('\\', Filename) > 0 gjøre Filename [Pos ('\\', Filename)] =; AssignFile (Loggfil, Filename), Rewrite (Loggfil); end; prosedyre Shutdown;beginCloseFile(LogFile);DeleteCriticalSection(LogCriticalSection);end;initializationStartup;finalizationShutdown;end.



Previous:
Next Page: