-
Notifications
You must be signed in to change notification settings - Fork 0
/
UMain.pas
executable file
·95 lines (77 loc) · 1.78 KB
/
UMain.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
unit UMain;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, StdCtrls, ComCtrls,
URegs, tc;
type
TFEditor = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
Splitter1: TSplitter;
Panel4: TPanel;
Splitter2: TSplitter;
Panel5: TPanel;
Splitter3: TSplitter;
Panel6: TPanel;
Panel3: TPanel;
RText: TRichEdit;
Bevel1: TBevel;
Bevel2: TBevel;
Bevel3: TBevel;
Panel7: TPanel;
Panel8: TPanel;
procedure FormCreate(Sender: TObject);
public
CPU : TCPU;
FRegs : TFRegs;
procedure Activate;
function GetProgText : string;
procedure Load(filename : string);
procedure Save(filename : string);
property ProgText : string read GetProgText;
constructor CreateEmbedded(AOwner : TComponent; Frame : TWinControl);
destructor Destroy;
end;
var
FEditor: TFEditor;
implementation
uses routings, UEmbedForm;
{$R *.DFM}
procedure TFEditor.Activate;
begin
Update;
RText.SetFocus;
end;
constructor TFEditor.CreateEmbedded(AOwner: TComponent; Frame: TWinControl);
begin
inherited Create(AOwner);
Parent := Frame;
Visible := false;
Left := 0;
Top := 0;
CPU := TCPU.Create;
end;
destructor TFEditor.Destroy;
begin
CPU.Free;
inherited;
end;
procedure TFEditor.FormCreate(Sender: TObject);
begin
FRegs := TFRegs.CreateEmbedded(self, Panel6);
FRegs.Visible := true;
end;
function TFEditor.GetProgText: string;
begin
result := RText.Lines.Text;
end;
procedure TFEditor.Load(filename: string);
begin
RText.Lines.LoadFromFile(filename);
end;
procedure TFEditor.Save(filename: string);
begin
RText.Lines.SaveToFile(filename);
end;
end.