Changeset 50 for branches/ByteArray/Forms/FormSourceEditor.pas
- Timestamp:
- Nov 2, 2023, 11:18:06 PM (7 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/ByteArray/Forms/FormSourceEditor.pas
r48 r50 5 5 uses 6 6 Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ExtCtrls, Menus, 7 ActnList, FormMessages, FormAssembler, Project, Common.FormEx; 7 ActnList, FormMessages, FormAssembler, Project, Common.FormEx, Assembler, 8 Machine, Memory; 8 9 9 10 type … … 13 14 TFormSourceEditor = class(TFormEx) 14 15 AClose: TAction; 16 ACompile: TAction; 17 AStop: TAction; 18 APause: TAction; 19 AStepOver: TAction; 20 AStepOut: TAction; 21 AStepIn: TAction; 22 ARunToCursor: TAction; 23 ARun: TAction; 15 24 ANew: TAction; 16 25 ASaveAs: TAction; … … 22 31 MainMenu1: TMainMenu; 23 32 MenuItem1: TMenuItem; 33 MenuItem10: TMenuItem; 34 MenuItem11: TMenuItem; 35 MenuItem12: TMenuItem; 36 MenuItem13: TMenuItem; 37 MenuItem14: TMenuItem; 38 MenuItem15: TMenuItem; 39 MenuItem16: TMenuItem; 40 MenuItem17: TMenuItem; 24 41 MenuItem2: TMenuItem; 25 42 MenuItem3: TMenuItem; … … 29 46 MenuItem7: TMenuItem; 30 47 MenuItem8: TMenuItem; 48 MenuItem9: TMenuItem; 31 49 Separator1: TMenuItem; 32 50 PanelBottom: TPanel; … … 34 52 Splitter1: TSplitter; 35 53 procedure ACloseExecute(Sender: TObject); 54 procedure ACompileExecute(Sender: TObject); 36 55 procedure AExitExecute(Sender: TObject); 37 56 procedure ANewExecute(Sender: TObject); 38 57 procedure AOpenExecute(Sender: TObject); 58 procedure ARunExecute(Sender: TObject); 39 59 procedure ASaveAsExecute(Sender: TObject); 40 60 procedure ASaveExecute(Sender: TObject); 61 procedure AStopExecute(Sender: TObject); 41 62 procedure FormCreate(Sender: TObject); 42 63 procedure FormDestroy(Sender: TObject); 43 64 procedure FormShow(Sender: TObject); 44 65 public 66 Assembler: TAssembler; 45 67 FormMessages: TFormMessages; 46 68 FormAssembler: TFormAssembler; 47 69 Project: TProject; 70 CompiledProgram: TMemory; 71 Machine: TMachine; 48 72 procedure DockInit; 49 73 procedure UpdateInterface; … … 62 86 procedure TFormSourceEditor.FormCreate(Sender: TObject); 63 87 begin 88 CompiledProgram := TMemory.Create; 89 Assembler := TAssembler.Create; 64 90 FormMessages := TFormMessages.Create(nil); 65 91 FormAssembler := TFormAssembler.Create(nil); … … 82 108 end; 83 109 110 procedure TFormSourceEditor.ACompileExecute(Sender: TObject); 111 begin 112 AStop.Execute; 113 with Assembler do begin 114 Compile(FormAssembler.SynEdit1.Lines.Text); 115 //Memory.SaveToFile('compiled.bin'); 116 CompiledProgram.Assign(Memory); 117 Machine.Memory.Position := 0; 118 Machine.Memory.WriteMemoryPos(CompiledProgram); 119 end; 120 if FormMessages.Visible then 121 FormMessages.Reload; 122 end; 123 84 124 procedure TFormSourceEditor.AOpenExecute(Sender: TObject); 85 125 var … … 93 133 OpenDialog.Free; 94 134 end; 135 end; 136 137 procedure TFormSourceEditor.ARunExecute(Sender: TObject); 138 begin 139 ACompile.Execute; 140 Machine.PowerOn; 95 141 end; 96 142 … … 113 159 end; 114 160 161 procedure TFormSourceEditor.AStopExecute(Sender: TObject); 162 begin 163 Machine.PowerOff; 164 end; 165 115 166 procedure TFormSourceEditor.FormDestroy(Sender: TObject); 116 167 begin 117 168 FreeAndNil(FormAssembler); 118 169 FreeAndNil(FormMessages); 170 FreeAndNil(Assembler); 171 FreeAndNil(CompiledProgram); 119 172 end; 120 173
Note:
See TracChangeset
for help on using the changeset viewer.