于野 wrote: > I'm a Chinese OIer(which is short for someone who has intersts in > 'Olympiad in Informatics'). Now I'm using Lazarus to debug. but every time > when I want to know how much time it spend during the program runs, I have > to add something like this: var ta,tb:Tsystemtime; > begin > datetimetosystemtime(now,ta); > ........ > ........ > datetimetosystemtime(now,tb); > writeln(....); > end. > It's so boring.
I got bored too, so I wrote TElapsed. Thanks! -- Al
unit elapsed; {$mode objfpc}{$H+} interface uses Classes, SysUtils; type { TElapsed } TElapsed = class(TComponent) private FStart:TDateTime; public procedure Start; function ms: integer; function mss: string; end; procedure Register; implementation procedure Register; begin RegisterComponents('Standard', [TElapsed]); end; { TElapsed } procedure TElapsed.Start; begin FStart:=Now; end; function TElapsed.ms: integer; begin Result:=DateTimeToTimeStamp(Now-FStart).Time; end; function TElapsed.mss: string; begin Result:=IntToStr(ms); end; initialization end.