pastate.sct

来自「c#设计模式WithCla」· SCT 代码 · 共 59 行

SCT
59
字号
SCRIPT_NOREPEAT_HEADER_BEGIN
unit Controls ;

interface

type

States = ( [NO_RETURN STATE_LIST_NAME,DELETE_LAST_SYMBOL] ) ;

Events = ( [NO_RETURN EVENT_LIST_NAME,DELETE_LAST_SYMBOL] ) ;

Controller = object

  currentState : States;

  procedure Process ( anEvent : Events ) ;

  constructor DefaultInit;
	
  destructor Done; virtual;

end;

implementation

{-----------------------------------------------------------------------------------------------}
			
constructor Controller$.DefaultInit;
begin
  currentState := STATE_INITIAL_NAME ;
end; 

{-----------------------------------------------------------------------------------------------}
			{Update as required.}
destructor Controller$.Done;
begin
end;

{-----------------------------------------------------------------------------------------------}
			{ Process procedure  }
procedure Controller.Process ( anEvent : Events ) ; 
begin

SCRIPT_NOREPEAT_HEADER_END
[
  if ( currentState = STATE_NAME ) And ( anEvent = TRANSITION_EVENT ) And ( TRANSITION_CONDITION )
  then
    begin
      currentState := TRANSITION_NEXT_STATE ; 
      TRANSITION_ACTION 
    end;
]

SCRIPT_NOREPEAT_FOOTER_BEGIN
end;    


end.
SCRIPT_NOREPEAT_FOOTER_END

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?