Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.171 Beiträge
 
Delphi 12 Athens
 
#17

Re: Automaten in Source Code

  Alt 21. Nov 2009, 15:21
Zitat:
Delphi-Quellcode:
State := CoStartState.Create;
While Not State.IsStopState Do Begin
  State := State.NextState;
  State.DoProcessState();
End;
ich würde es dann eher so machen
Delphi-Quellcode:
State := CoStartState.Create;
While Not State.IsStopState Do Begin
  State.DoProcessState();
  State := State.NextState;
End;
so würde der StartState auch verarbeitet
und im Fall eines StopStates würde die Schleife auch verlassen, bevor der StopState verarbeitet würde.


Delphi-Quellcode:
Type
  IAbstractState = Interface
  Public
     Function NextState (Token : TSymbol) : IAbstractState;
     Procedure DoProcessState;
     Function IsStopState : Boolean;
     Function IsErrorState : Boolean;
     Function GetErrorText : WideString;
  End;

State := CoStartState.Create;
While Not State.IsStopState and Not State.IsErrorState Do Begin
  State.DoProcessState();
  State := State.NextState;
End;
If State.IsErrorState Then ShowError(State.GetErrorText);
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat