summaryrefslogtreecommitdiff
path: root/packages/fcl-base/examples/testtimer.pp
diff options
context:
space:
mode:
authorpeter <peter@3ad0048d-3df7-0310-abae-a5850022a9f2>2008-01-24 21:50:42 +0000
committerpeter <peter@3ad0048d-3df7-0310-abae-a5850022a9f2>2008-01-24 21:50:42 +0000
commitb4dfeab15b7a12907f016adfeccc05bbc93fd33a (patch)
treeb56cd24f3e0d884641caa00aa7c9b04c6412735d /packages/fcl-base/examples/testtimer.pp
parent843397bf53ecde10c25b2e1aac14f87b24bbb43f (diff)
downloadfpc-b4dfeab15b7a12907f016adfeccc05bbc93fd33a.tar.gz
* fpmake support
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@9899 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'packages/fcl-base/examples/testtimer.pp')
-rw-r--r--packages/fcl-base/examples/testtimer.pp61
1 files changed, 61 insertions, 0 deletions
diff --git a/packages/fcl-base/examples/testtimer.pp b/packages/fcl-base/examples/testtimer.pp
new file mode 100644
index 0000000000..47c0955a0b
--- /dev/null
+++ b/packages/fcl-base/examples/testtimer.pp
@@ -0,0 +1,61 @@
+{$mode objfpc}
+{$H+}
+program testtimer;
+
+uses
+{$ifdef unix}
+ cthreads,
+{$endif}
+ sysutils,classes,custapp,fptimer;
+
+Type
+ TTestTimerApp = Class(TCustomApplication)
+ Private
+ FTimer : TFPTimer;
+ FCount : Integer;
+ FTick : Integer;
+ Public
+ Procedure DoRun; override;
+ Procedure DoTick(Sender : TObject);
+ end;
+
+Procedure TTestTimerApp.DoRun;
+
+begin
+ FTimer:=TFPTimer.Create(Self);
+ FTimer.Interval:=100;
+ FTimer.OnTimer:=@DoTick;
+ FTimer.Enabled:=True;
+ Try
+ FTick:=0;
+ FCount:=0;
+ While (FCount<10) do
+ begin
+ Inc(FTick);
+ CheckSynchronize; // Needed, because we are not running in a GUI loop.
+ Sleep(1);
+ end;
+ Finally
+ FTimer.Enabled:=False;
+ FreeAndNil(FTimer);
+ end;
+ Terminate;
+end;
+
+Procedure TTestTimerApp.DoTick(Sender : TObject);
+
+begin
+ Inc(FCount);
+ Writeln('Received timer event ',FCount,' after ',FTick,' ticks.');
+ FTick:=0;
+end;
+
+
+begin
+ With TTestTimerApp.Create(Nil) do
+ Try
+ Run
+ finally
+ Free;
+ end;
+end. \ No newline at end of file