Changeset 11 for branches/Void/UModel.pas
- Timestamp:
- Nov 9, 2009, 4:15:39 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/Void/UModel.pas
r9 r11 36 36 end; 37 37 38 { TModel } 39 40 TModel = class 41 private 38 TModule = class 42 39 public 43 40 Variables: TList; 44 41 Procedures: TList; 45 42 BeginEnd: TBeginEnd; 43 constructor Create; 44 destructor Destroy; override; 45 procedure Clear; 46 function FindProcedureByName(AName: string): TProcedure; 46 47 function FindVariableByName(AName: string): TVariable; 47 function FindProcedureByName(AName: string): TProcedure;48 48 procedure Init; 49 end; 50 51 { TModel } 52 53 TModel = class 54 private 55 public 56 Module: TModule; 49 57 procedure Clear; 50 58 constructor Create; … … 56 64 { TModel } 57 65 66 procedure TModel.Clear; 67 begin 68 Module.Clear; 69 end; 70 58 71 constructor TModel.Create; 72 begin 73 Module := TModule.Create; 74 end; 75 76 destructor TModel.Destroy; 77 begin 78 Module.Destroy; 79 inherited Destroy; 80 end; 81 82 { TBeginEnd } 83 84 constructor TBeginEnd.Create; 85 begin 86 Commands := TList.Create; 87 end; 88 89 destructor TBeginEnd.Destroy; 90 var 91 I: Integer; 92 begin 93 for I := 0 to Commands.Count - 1 do 94 TCommand(Commands[I]).Destroy; 95 Commands.Destroy; 96 inherited Destroy; 97 end; 98 99 procedure TBeginEnd.Clear; 100 var 101 I: Integer; 102 begin 103 for I := 0 to Commands.Count - 1 do 104 TCommand(Commands[I]).Destroy; 105 Commands.Clear; 106 end; 107 108 { TCommand } 109 110 constructor TCommand.Create; 111 begin 112 Parameters := TStringList.Create; 113 end; 114 115 destructor TCommand.Destroy; 116 begin 117 Parameters.Destroy; 118 inherited Destroy; 119 end; 120 121 constructor TProcedure.Create; 122 begin 123 BeginEnd := TBeginEnd.Create; 124 Parameters := TStringList.Create; 125 end; 126 127 destructor TProcedure.Destroy; 128 begin 129 Parameters.Destroy; 130 BeginEnd.Destroy; 131 inherited Destroy; 132 end; 133 134 { TModule } 135 136 constructor TModule.Create; 59 137 begin 60 138 Variables := TList.Create; … … 63 141 end; 64 142 65 destructor TMod el.Destroy;143 destructor TModule.Destroy; 66 144 var 67 145 I: Integer; … … 77 155 end; 78 156 79 function TMod el.FindVariableByName(AName: string): TVariable;157 function TModule.FindVariableByName(AName: string): TVariable; 80 158 var 81 159 I: Integer; … … 87 165 end; 88 166 89 function TMod el.FindProcedureByName(AName: string): TProcedure;167 function TModule.FindProcedureByName(AName: string): TProcedure; 90 168 var 91 169 I: Integer; … … 97 175 end; 98 176 99 procedure TModel.Init; 177 178 procedure TModule.Init; 100 179 begin 101 180 with TProcedure(Procedures[Procedures.Add(TProcedure.Create)]) do begin … … 110 189 end; 111 190 112 procedure TMod el.Clear;191 procedure TModule.Clear; 113 192 var 114 193 I: Integer; … … 121 200 end; 122 201 123 124 { TBeginEnd }125 126 constructor TBeginEnd.Create;127 begin128 Commands := TList.Create;129 end;130 131 destructor TBeginEnd.Destroy;132 var133 I: Integer;134 begin135 for I := 0 to Commands.Count - 1 do136 TCommand(Commands[I]).Destroy;137 Commands.Destroy;138 inherited Destroy;139 end;140 141 procedure TBeginEnd.Clear;142 var143 I: Integer;144 begin145 for I := 0 to Commands.Count - 1 do146 TCommand(Commands[I]).Destroy;147 Commands.Clear;148 end;149 150 { TCommand }151 152 constructor TCommand.Create;153 begin154 Parameters := TStringList.Create;155 end;156 157 destructor TCommand.Destroy;158 begin159 Parameters.Destroy;160 inherited Destroy;161 end;162 163 constructor TProcedure.Create;164 begin165 BeginEnd := TBeginEnd.Create;166 Parameters := TStringList.Create;167 end;168 169 destructor TProcedure.Destroy;170 begin171 Parameters.Destroy;172 BeginEnd.Destroy;173 inherited Destroy;174 end;175 176 202 end. 177 203
Note:
See TracChangeset
for help on using the changeset viewer.