source: trunk/UMainForm.pas

Last change on this file was 4, checked in by george, 14 years ago
  • Modified: Minor changes.
File size: 1.8 KB
Line 
1unit UMainForm;
2
3interface
4
5uses
6 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
7 Dialogs, StdCtrls, IdTelnet, URouterOS, ComCtrls;
8
9type
10 TMainForm = class(TForm)
11 Edit1: TEdit;
12 Button1: TButton;
13 PageControl1: TPageControl;
14 TabSheet1: TTabSheet;
15 TabSheet2: TTabSheet;
16 Memo1: TMemo;
17 Memo2: TMemo;
18 procedure FormCreate(Sender: TObject);
19 procedure FormDestroy(Sender: TObject);
20 procedure Button1Click(Sender: TObject);
21 procedure FormClose(Sender: TObject; var Action: TCloseAction);
22 private
23 procedure DoLineRecieve(Line: string);
24 procedure DoConnectionStateChange(State: TConnectionState);
25 public
26 RouterOS: TRouterOS;
27 end;
28
29var
30 MainForm: TMainForm;
31
32implementation
33
34uses IdTCPConnection, ULoaderForm;
35
36{$R *.dfm}
37
38{ TMainForm }
39
40procedure TMainForm.Button1Click(Sender: TObject);
41var
42 Response: TStringList;
43begin
44 try
45 Button1.Enabled := False;
46 Response := RouterOS.Execute(Edit1.Text);
47 Memo2.Lines.AddStrings(Response);
48 Response.Free;
49 finally
50 Button1.Enabled := True;
51 end;
52end;
53
54procedure TMainForm.DoConnectionStateChange(State: TConnectionState);
55begin
56 Button1.Enabled := State = csConnectedReady;
57end;
58
59procedure TMainForm.DoLineRecieve(Line: string);
60begin
61 Memo1.Lines.Add(RouterOS.StripControlCodes(Line));
62end;
63
64procedure TMainForm.FormClose(Sender: TObject; var Action: TCloseAction);
65begin
66 LoaderForm.Close;
67end;
68
69procedure TMainForm.FormCreate(Sender: TObject);
70begin
71 RouterOS := TRouterOS.Create;
72 RouterOS.OnLineReceive := DoLineRecieve;
73 RouterOS.OnConnectionStateChange := DoConnectionStateChange;
74 LoaderForm.Show;
75end;
76
77procedure TMainForm.FormDestroy(Sender: TObject);
78begin
79 RouterOS.Free;
80end;
81
82end.
Note: See TracBrowser for help on using the repository browser.