… könnten wir nicht anständig Programmieren :)
In der heutigen Lektion behandle ich die if-Funktion. Meiner Meinung nach eine der wichtigsten Funktionen in einer Programmiersprache.
Mit der Anweisung if kann ich eine Bedingung stellen die erfüllt (oder nicht) sein muss, damit das Programm etwas ausführt.
Als Grundlage verwenden wir das Programm aus Lektion 2 und ändern es ab.
Was soll es tun? Wir lassen wieder eine MessageBox anzeigen. Diesmal aber eine Ja/Nein Abfrage. Oft möchte man den Benutzer abfragen ob bzw. was getan werden soll.
In Worten sieht unser Programm so aus:
- MessageBox aufrufen
- Frage: Soll etwas getan werden (Ja/Nein/Abbrechen)
- Ja: MessageBox aufrufen („JA!“)
- Nein: MessageBox aufrufen („NEIN!)
- Abbrechen: Dialog schließen
Nun zum Programmcode:
Als erstes kopieren wir Lektion 2 und nennen die neue Datei „ePlanus – Scripting – 03_Wenn das wenn nicht wär“.
Nun fügen wir die MessageBox mit der Ja/Nein/Abbrechen Funktion ein:
DialogResult oDialogResult = MessageBox.Show( "Soll ich die Aktion ausführen?","Soll ich es tun? : )", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
Mit „new DialogResult“ erzeugen wir ein neues Objekt. Genauer gesagt ein Dialogergebnis. Das neue Objekt „oDialogResult“ (Name frei wählbar) sagt nun dem Programm, was der Anwender eingegeben hat.
MessageBox wird wie in Lektion 2 erzeugt. Wir benötigen aber die Knöpfe Ja,Nein,Abbrechen.
Hier stellt die .Net Umgebung schon eine Fertige Funktion bereit (YesNoCancel). Es gibt folgende „fertige“ MessageBox’en:
Zusätzlich kann man schon vorgegebene Symbole anzeigen lassen (wie z.B. ein Fragezeichen):
So… nun kommen wir auch schon zu unserer If-Abfrage:
if (oDialogResult == DialogResult.Yes)
{
MessageBox.Show("JA!");
}
if (oDialogResult == DialogResult.No)
{
MessageBox.Show("NEIN!");
}
Mit…
f (oDialogResult == DialogResult.Yes )
{
}
… stellen wir die Bedingung, welche erfüllt sein muss um etwas auszuführen („Wenn das Dialogergbnis Ja ist, dann tue das…)
Mit…
Else
{
}
… kann man festlegen was passiert wenn die Bedingung nicht erfüllt wird (in diesem Fall nicht notwendig).
Im Gesamten müsste der Code wie folgt aussehen:
public class Class
{
[DeclareAction("Actionname")]
public void Function()
{
DialogResult oDialogResult = MessageBox.Show( "Soll ich die Aktion ausführen?","Soll ich es tun? : )", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
if (oDialogResult == DialogResult.Yes)
{
MessageBox.Show("JA!");
}
if (oDialogResult == DialogResult.No)
{
MessageBox.Show("NEIN!");
}
return;
}
}
Wenn ihr alles richtig gemacht habt, seht ihr folgenden Dialog (nach laden und ausführen über Toolbar):
Durch den Umlaut „ü“ im Wort „ausführen“ wird in Eplan ein □ angezeigt.
Grund dafür ist, dass alle Eplan Dateien im UTF-8 Format gespeichert werden müssen.
Für mich ist der ideale Workflow das ganze mit Notepad++ umzuwandeln.
Man öffnet die *.cs – Datei mit Notepad++ und wählt dort Format/Konvertiere zu UTF-8.
Das ganze abspeichern und nun sollte der Dialog wie folgt aussehen:
Hallo Suplanus,
ist auf diese einfache weise auch eine “inputbox” möglich in der ich zwei variablen nacheinander eingeben kann?
Hierfür musst du eine Windows Form erstellen:
https://suplanus.de/05-ich-sehe-was-was-du-nicht-siehst/