04 Programmsteuerung
01 IF String
using System.Windows.Forms;
using Eplan.EplApi.Scripting;
public class _04_Programmsteuerung_01_IF_String
{
[DeclareAction("IfString")]
public void Function(string parameter)
{
if (parameter == "JA")
{
MessageBox.Show("Bedingung erfüllt.");
}
else
{
MessageBox.Show("Bedingung nicht erfüllt.");
}
if (parameter.ToUpper() == "JA")
{
MessageBox.Show("Bedingung erfüllt.");
}
else
{
MessageBox.Show("Bedingung nicht erfüllt.");
}
}
}
02 ElseIF
using System.Windows.Forms;
using Eplan.EplApi.Scripting;
public class _04_Programmsteuerung_02_ElseIF
{
[Start]
public void Function()
{
DialogResult result = MessageBox.Show(
"Soll die Aktion ausgeführt werden?",
"Titelzeile",
MessageBoxButtons.YesNoCancel,
MessageBoxIcon.Question
);
if (result == DialogResult.Yes)
{
MessageBox.Show("Es wurde 'Ja' gedrückt.");
}
else if (result == DialogResult.No)
{
MessageBox.Show("Es wurde 'Nein' gedrückt.");
}
else if (result == DialogResult.Cancel)
{
MessageBox.Show("Es wurde 'Abbrechen' gedrückt.");
}
}
}
03 Switch
using System.Windows.Forms;
using Eplan.EplApi.Scripting;
public class _04_Programmsteuerung_03_Switch
{
[Start]
public void Function()
{
DialogResult result = MessageBox.Show(
"Soll die Aktion ausgeführt werden?",
"Titelzeile",
MessageBoxButtons.YesNoCancel,
MessageBoxIcon.Question);
switch (result)
{
case DialogResult.Yes:
MessageBox.Show("Es wurde 'Ja' gedrückt.");
break;
case DialogResult.No:
goto default;
default:
MessageBox.Show("Es wurde 'Nein' oder"
+ "'Abbrechen' gedrückt.");
break;
}
}
}
04 Methode MessageBox
using System.Windows.Forms;
using Eplan.EplApi.Scripting;
public class _04_Programmsteuerung_04_Methode_MessageBox
{
[DeclareAction("MethodeMessageBox")]
public void Function(int int1, int int2)
{
int intResult = int1 + int2;
MessageBox.Show(int1.ToString() +
" + " + int2.ToString() +
" = " + intResult.ToString());
FinishedMessageBox();
}
private static void FinishedMessageBox()
{
MessageBox.Show("Berechnung abgeschlossen.");
}
}
05 Methode Integer
using System.Windows.Forms;
using Eplan.EplApi.Scripting;
public class _04_Programmsteuerung_05_Methode_Integer
{
[DeclareAction("MethodeInt")]
public void Function(int int1, int int2)
{
CalcMessageBox(int1, int2);
FinishedMessageBox();
}
private static void CalcMessageBox(int int1, int int2)
{
int result = int1 + int2;
MessageBox.Show(int1.ToString() +
" + " + int2.ToString() +
" = " + result.ToString());
}
private static void FinishedMessageBox()
{
MessageBox.Show("Berechnung abgeschlossen.");
}
}
06 Methode Rückgabewert
using System.Windows.Forms;
using Eplan.EplApi.Scripting;
public class _04_Programmsteuerung_06_Methode_Rueckgabewert
{
[DeclareAction("MethodeIntRückgabewert")]
public void Function(int int1, int int2)
{
int result = Calc(int1, int2);
MessageBox.Show(
int1.ToString() +
" + " + int2.ToString() +
" = " + result.ToString()
);
FinishedMessageBox();
}
private static int Calc(int int1, int int2)
{
return int1 + int2;
}
private static void FinishedMessageBox()
{
MessageBox.Show("Berechnung abgeschlossen.");
}
}
07 Methoden Überladungen
using System.Windows.Forms;
using Eplan.EplApi.Scripting;
public class _04_Programmsteuerung_07_Methoden_Ueberladungen
{
[Start]
public void Function()
{
string message = string.Empty;
message = DoSomething("Bananen");
MessageBox.Show(message,
"Information",
MessageBoxButtons.OK,
MessageBoxIcon.Information);
message = DoSomething("Bananen", "3");
MessageBox.Show(message,
"Information",
MessageBoxButtons.OK,
MessageBoxIcon.Information);
}
/// <summary>
/// Gibt einen Wert zurück, der den Satz enthält:
/// "Ich habe gerade [food] gegessen!"
/// </summary>
/// <param name="food">Nahrungsmittel</param>
private static string DoSomething(string food)
{
string fullMessage = "Ich habe gerade " + food + " gegessen!";
return fullMessage;
}
/// <summary>
/// Gibt einen Wert zurück, der den Satz enthält:
/// "Ich habe gerade [amount] [food] gegessen!"
/// </summary>
/// <param name="food">Nahrungsmittel</param>
/// <param name="amount">Menge</param>
private static string DoSomething(string food, string amount)
{
return "Ich habe gerade " + amount + " " + food + " gegessen!";
}
}
08 Decider
using System.Windows.Forms;
using Eplan.EplApi.Base;
using Eplan.EplApi.Scripting;
public class _04_Programmsteuerung_08_Decider
{
[Start]
public void Function()
{
// OK
Decider deciderOk = new Decider();
deciderOk.Decide(
EnumDecisionType.eOkDecision,
"Ich sag mal OK!",
"Decider",
EnumDecisionReturn.eOK,
EnumDecisionReturn.eOK);
// YesNo
Decider deciderYesNo = new Decider();
EnumDecisionReturn decisionYesNo = deciderYesNo.Decide(
EnumDecisionType.eYesNoDecision,
"Ja oder Nein?",
"Decider",
EnumDecisionReturn.eYES,
EnumDecisionReturn.eYES);
switch (decisionYesNo)
{
case EnumDecisionReturn.eYES:
MessageBox.Show("Ja");
break;
case EnumDecisionReturn.eNO:
MessageBox.Show("Nein");
break;
}
// YesNoAll
Decider deciderYesNoAll = new Decider();
EnumDecisionReturn decisionYesNoAll = deciderYesNoAll.Decide(
EnumDecisionType.eYesAllNoAllDecision,
"Ja oder Nein für alle?",
"Decider",
EnumDecisionReturn.eYES,
EnumDecisionReturn.eYES);
switch (decisionYesNoAll)
{
case EnumDecisionReturn.eYES:
MessageBox.Show("Ja");
break;
case EnumDecisionReturn.eNO:
MessageBox.Show("Nein");
break;
case EnumDecisionReturn.eYES_ALL:
MessageBox.Show("Ja für alle");
break;
case EnumDecisionReturn.eNO_ALL:
MessageBox.Show("Nein für alle");
break;
}
// Icon and CheckBox
Decider deciderIconAndCheckBox = new Decider();
EnumDecisionReturn decisionIconAndCheckBox =
deciderIconAndCheckBox.Decide(
EnumDecisionType.eRetryCancelDecision,
"Icon und CheckBox. Toll, oder?",
"Decider",
EnumDecisionReturn.eRETRY,
EnumDecisionReturn.eRETRY,
"DecisionIconAndCheckBox",
true,
EnumDecisionIcon.eQUESTION);
if (decisionIconAndCheckBox == EnumDecisionReturn.eRETRY)
{
MessageBox.Show("Einmal reicht...");
}
}
}
09 Action mit Rückgabewert
using System.Windows.Forms;
using Eplan.EplApi.ApplicationFramework;
using Eplan.EplApi.Scripting;
public class _04_Programmsteuerung_09_Action_mit_Rueckgabewert
{
[Start]
public void Function()
{
string value = string.Empty;
CommandLineInterpreter cli = new CommandLineInterpreter();
ActionCallingContext actionCallingContext = new ActionCallingContext();
actionCallingContext.AddParameter("name", "Neo");
cli.Execute("ReturnAction", actionCallingContext);
actionCallingContext.GetParameter("value", ref value);
MessageBox.Show(value);
}
[DeclareAction("ReturnAction")]
public void ReturnAction(string name, out string value)
{
value = "Hallo " + name;
}
}
10 Action mit ActionCallingContext
using System.Windows.Forms;
using Eplan.EplApi.ApplicationFramework;
using Eplan.EplApi.Scripting;
public class _04_Programmsteuerung_10_Action_mit_ActionCallingContext
{
private ActionCallingContext _acc;
[DeclareAction("ActionWithActionCallingContext")]
public void ReturnAction(ActionCallingContext acc)
{
_acc = acc;
string firstName = GetParameterValue("firstName");
string message = "Hello";
if (!string.IsNullOrWhiteSpace(firstName))
{
message = message + " " + firstName;
string lastName = GetParameterValue("lastName");
if (!string.IsNullOrWhiteSpace(lastName))
{
message = message + " " + lastName;
}
}
MessageBox.Show(message);
}
private string GetParameterValue(string parameterName)
{
string parameter = null;
_acc.GetParameter(parameterName, ref parameter);
return parameter;
}
}