summary refs log tree commit diff stats
path: root/examples/lazarus/unit1.pas
diff options
context:
space:
mode:
authorAraq <rumpf_a@web.de>2011-07-24 23:07:40 +0200
committerAraq <rumpf_a@web.de>2011-07-24 23:07:40 +0200
commitef039a132580c2b4135146dea5df6e2c90896329 (patch)
treeb128d835ebff85cb282979632ccf13a27df7893d /examples/lazarus/unit1.pas
parenta6daf7152026fb8ab9b5aee17355e23b46d2e987 (diff)
downloadNim-ef039a132580c2b4135146dea5df6e2c90896329.tar.gz
doc improvements; added lazarus example
Diffstat (limited to 'examples/lazarus/unit1.pas')
-rwxr-xr-xexamples/lazarus/unit1.pas58
1 files changed, 58 insertions, 0 deletions
diff --git a/examples/lazarus/unit1.pas b/examples/lazarus/unit1.pas
new file mode 100755
index 000000000..aa0ef6cf7
--- /dev/null
+++ b/examples/lazarus/unit1.pas
@@ -0,0 +1,58 @@
+unit Unit1; 
+
+{$mode objfpc}{$H+}
+
+interface
+
+uses
+  Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
+  Spin, StdCtrls;
+
+type
+
+  { TForm1 }
+
+  TForm1 = class(TForm)
+    Edit1: TEdit;
+    Label1: TLabel;
+    SpinEdit1: TSpinEdit;
+    SpinEdit2: TSpinEdit;
+    procedure FormCreate(Sender: TObject);
+    procedure SpinEdit1Change(Sender: TObject);
+  private
+    { private declarations }
+  public
+    { public declarations }
+  end; 
+
+var
+  Form1: TForm1; 
+
+implementation
+
+{ TForm1 }
+
+{$link nimcache/lib/system.o}
+{$link nimcache/backend.o}
+{$link nimcache/nim__dat.o}
+{$linklib c}
+
+procedure NimMain; cdecl; external;
+function myAdd(x, y: longint): longint; cdecl; external;
+
+procedure TForm1.FormCreate(Sender: TObject);
+begin
+  // we initialize the Nimrod data structures here:
+  NimMain();
+end;
+
+procedure TForm1.SpinEdit1Change(Sender: TObject);
+begin
+  Edit1.text := IntToStr(myAdd(SpinEdit1.Value, SpinEdit2.Value));
+end;
+
+initialization
+  {$I unit1.lrs}
+
+end.
+