-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathMain.pas
116 lines (95 loc) · 2.08 KB
/
Main.pas
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
unit Main;
{$I Synopse.inc}
interface
uses
{$ifdef MSWINDOWS}
Windows,
Messages,
{$endif}
{$ifdef Darwin}
Unix,
{$endif}
SysUtils, Classes, Controls,
Forms, StdCtrls, Dialogs,
SynCommons, mORMot,
mORMotSQLite3, SynSQLite3Static,
SynCrtSock,
dataserver,
SampleData;
type
{ TForm1 }
TForm1 = class(TForm)
btnOpen: TButton;
btnRoot: TButton;
Label1: TLabel;
Button1: TButton;
Label2: TLabel;
Memo1: TMemo;
OpenDialog1: TOpenDialog;
procedure btnOpenClick(Sender: TObject);
procedure btnRootClick(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure FormShow(Sender: TObject);
private
function OnLogEvent(Sender: TTextWriter; Level: TSynLogInfo;
const Text: RawUTF8):boolean;
public
mORMotServer: TmORMotODataServer;
end;
var
Form1: TForm1;
implementation
{$ifdef FPC}
{$R *.lfm}
{$else}
{$R *.dfm}
{$endif}
uses
{$ifdef FPC}
LCLIntf; // for OpenURL
{$else}
ShellApi;
{$endif}
{ TForm1 }
function TForm1.OnLogEvent(Sender: TTextWriter; Level: TSynLogInfo;
const Text: RawUTF8):boolean;
begin
result:=True;
Memo1.Lines.Append(Text);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.btnOpenClick(Sender: TObject);
begin
{$ifdef MSWINDOWS}
ShellExecute(0,'open','http://'+HOST+':'+PORT+'/'+STATICROOT+'/'+INDEXFILE,
nil,nil,SW_SHOWNORMAL);
{$else}
{$ifdef FPC}
OpenURL('http://'+HOST+':'+PORT+'/'+STATICROOT+'/'+INDEXFILE);
{$endif}
{$endif}
end;
procedure TForm1.btnRootClick(Sender: TObject);
begin
if OpenDialog1.Execute then
mORMotServer.Server.ServerRoot:=ExtractFileDir(OpenDialog1.FileName);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
mORMotServer:=TmORMotODataServer.Create;
OpenDialog1.InitialDir:=mORMotServer.Server.ServerRoot;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
mORMotServer.Free;
end;
procedure TForm1.FormShow(Sender: TObject);
begin
Label1.Caption := Caption;
end;
end.