Changeset 8 for branches/Void/UModel.pas


Ignore:
Timestamp:
Nov 9, 2009, 9:47:57 AM (15 years ago)
Author:
george
Message:
  • Upraveno: Zobecněno uchování definic parametrických povelů v bloku BeginEnd pro potřeby generování do různých jazyků.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/Void/UModel.pas

    r7 r8  
    1515
    1616  TCommand = class
    17     Text: string;
     17    Name: string;
     18    Parameters: TStringList;
     19    constructor Create;
     20    destructor Destroy; override;
     21  end;
     22
     23  { TBeginEnd }
     24
     25  TBeginEnd = class
     26    Commands: TList;
     27    constructor Create;
     28    destructor Destroy; override;
     29    procedure Clear;
    1830  end;
    1931
     
    2436  public
    2537    Variables: TList;
    26     Commands: TList;
     38    BeginEnd: TBeginEnd;
    2739    function FindVariableByName(AName: string): TVariable;
    2840    procedure Clear;
     
    3850begin
    3951  Variables := TList.Create;
    40   Commands := TList.Create;
     52  BeginEnd := TBeginEnd.Create;
    4153end;
    4254
     
    4860    TVariable(Variables[I]).Destroy;
    4961  Variables.Destroy;
    50   for I := 0 to Commands.Count - 1 do
    51     TCommand(Commands[I]).Destroy;
    52   Commands.Destroy;
     62  BeginEnd.Destroy;
    5363  inherited Destroy;
    5464end;
     
    7181    TVariable(Variables[I]).Destroy;
    7282  Variables.Clear;
     83  BeginEnd.Clear;
     84end;
     85
     86
     87{ TBeginEnd }
     88
     89constructor TBeginEnd.Create;
     90begin
     91  Commands := TList.Create;
     92end;
     93
     94destructor TBeginEnd.Destroy;
     95var
     96  I: Integer;
     97begin
     98  for I := 0 to Commands.Count - 1 do
     99    TCommand(Commands[I]).Destroy;
     100  Commands.Destroy;
     101  inherited Destroy;
     102end;
     103
     104procedure TBeginEnd.Clear;
     105var
     106  I: Integer;
     107begin
    73108  for I := 0 to Commands.Count - 1 do
    74109    TCommand(Commands[I]).Destroy;
     
    76111end;
    77112
     113{ TCommand }
     114
     115constructor TCommand.Create;
     116begin
     117  Parameters := TStringList.Create;
     118end;
     119
     120destructor TCommand.Destroy;
     121begin
     122  Parameters.Destroy;
     123  inherited Destroy;
     124end;
    78125
    79126end.
Note: See TracChangeset for help on using the changeset viewer.