static void Main(string[] args) { Console.WriteLine(">> Program started!"); Console.WriteLine("---"); Console.WriteLine(">> Singleton"); SingletonProgram.Run(); Console.WriteLine("---"); Console.WriteLine("---"); Console.WriteLine(">> Abstract Factory"); AbstractFactoryProgram.Run(); Console.WriteLine("---"); Console.WriteLine("---"); Console.WriteLine(">> Factory Method"); FactoryMethodProgram.Run(); Console.WriteLine("---"); Console.WriteLine("---"); Console.WriteLine(">> Builder"); Console.WriteLine("---"); Console.WriteLine("---"); Console.WriteLine(">> Adapter"); Console.WriteLine("With out using Adapter:"); WithOutAdapter.Run(); Console.WriteLine("Using Adapter:"); WithAdapter.Run(); Console.WriteLine("---"); Console.WriteLine("---"); Console.WriteLine(">> Bridge"); BridgeProgram.Run(); Console.WriteLine("---"); Console.WriteLine("---"); Console.WriteLine(">> Observer"); ObserverProgram.Run(); Console.WriteLine("---"); Console.WriteLine("---"); Console.WriteLine(">> State"); StateProgram.Run(); Console.WriteLine("---"); Console.WriteLine("---"); Console.WriteLine(">> Strategy"); StrategyProgram.Run(); Console.WriteLine("---"); Console.ReadKey(); }
public void SetupProgram(int nProg, int nStep, StateProgram program, int param1, int param2, TransitionCondition condition) { //( [Номер редактируемой программы], [Номер редактируемого шага], [Тип шага: 0 – нагрев либо охлаждение, 1 – выдержка, 2 – переход на программу, 3 – стоп (регулирование выключено)] // [Параметр 1 (время выдержки, либо скорость (0,1ºC/ч), либо номер программы, либо заданное значение выводимой мощности)], [Параметр 2 (целевая уставка в 0,1ºC)], // [Условие перехода на следующий шаг (0 – T расчетная = SP, 1 – Ручное подтверждение, 2 – T измеренная = SP)] ) this.Set(0x0160, (long)nProg - 1); //Номер редактируемой программы this.Set(0x0161, (long)nStep - 1); //Номер редактируемого шага this.Set(0x0162, (int)program); //Тип шага this.Set(0x0163, param1); this.Set(0x0164, param2); this.Set(0x0165, (int)condition); }
static void SetStartProgram(Termodat termodat) { bool cicle = true; Console.WriteLine("Editable program number: "); int programNumber = int.Parse(Console.ReadLine()); Console.WriteLine("Editable step number: "); int stepNumber = int.Parse(Console.ReadLine()); Console.WriteLine("What doing in this step, \"HeatingOrCooling\", \"Exposure\", \"Goto\", \"Stop\"?: "); string step = Console.ReadLine(); StateProgram state = StateProgram.HeatingOrCooling; while (cicle) { switch (step) { case "HeatingOrCooling": state = StateProgram.HeatingOrCooling; cicle = false; break; case "Exposure": state = StateProgram.Exposure; cicle = false; break; case "Goto": state = StateProgram.Goto; cicle = false; break; case "Stop": state = StateProgram.Stop; cicle = false; break; default: Console.WriteLine("Incorrect input, try again"); break; } } cicle = true; Console.WriteLine("Параметр 1 (время выдержки, либо скорость (0,1ºC/ч), либо номер программы (если Goto)) Integer (100 = 10,0): "); int param1 = int.Parse(Console.ReadLine()); Console.WriteLine("Параметр 2 (целевая уставка в 0,1ºC)] Integer: "); int param2 = int.Parse(Console.ReadLine()); Console.WriteLine("Условие перехода на следующий шаг \"Tcalc\", \"ManualAccept\", \"Tmeasure\""); TransitionCondition condition = TransitionCondition.Tmeasure; string cond = Console.ReadLine(); while (cicle) { switch (cond) { case "Tcalc": condition = TransitionCondition.Tcalc; cicle = false; break; case "ManualAccept": condition = TransitionCondition.ManualAccept; cicle = false; break; case "Tmeasure": condition = TransitionCondition.Tmeasure; cicle = false; break; default: Console.WriteLine("Incorrect input, try again"); break; } } termodat.SetupProgram(programNumber, stepNumber, state, param1, param2, condition); }