(27.07.2012 12:02 )CheckerPig schrieb: Hallo zusammen,
ich stehe vor folgendem Problem: Im Menu meines Programmes soll der Benutzer zwischen 3 Optionen ( Betriebszuständen) wählen können für die jeweils Eingaben gemacht werden müssen. Je nach gewählter Option werden verschiedene Berechnungen durchgeführt.
Die einfachste Lösung wäre hier wohl der Einsatz eines Case-Enum-Verbundes. Da das Programm jedoch in der Lehre eingesetzt werden soll, will ich eine Menustrukutur ohne Enum realisieren (Aufbau, siehe Anhang).
Vorgesehen ist folgender Ablauf: Es wird die entsprechende Option gewählt. Daraufhin sollen die Eingaben gemacht werden. Im Anschluss soll durch betätigen des Buttons "Werte übernehmen" die Berechnung ausgeführt werden. Momentan wird natürlich sofort nach freischalten des gewählten Optionsfeldes die Berechnung durchgeführt (siehe Anhang). Dies wird mit einer Ereignisstruktur erreicht.
Mein Problem: Es soll auf die Eingaben des Benutzers "gewartet" werden (d.h. auf die Betätigung des "Werte übernehmen Buttons" )vund nicht sofort berechnet werden (mit wahrscheinlich falsch voreingestellten Werten). Dies würde ich auch über eine Ereignisstruktur lösen, jedoch bin ich leider nicht in der Lage die Fall/Optionsunterscheidung in LV zu realisieren.
Kann mir jemand einen Tipp geben?
Vielen Dank und Grüße
Hallo Checker
Ich gehe mal davon aus, dass alle Optionen ausgewählt werden können sollen.
Am saubersten wäre meiner Meinung nach eine State-Machine in der Auswertung mit 3 States für jeden Betriebszustand zu machen (States A;B und C) jeden durchlaufen zu lassen und überprüfen ob die Berechnung ausgewählt wurde. Dazu verwendest du am besten eine While-Loop und einen Enum für die States.
Falls nur eine Option ausgewählt werden darf würde ich dir das Radio-Box Control zu herzen legen. Das kannst du an die Case-Struktur hängen (verhalten wie bei einem Enum) und die anderen Optionen sind automatisch nicht auswählbar.
Oder nur mit einfachsten Hilfsmitteln:
3 Case Strukturen mit jeweils dem Boolean der Option als Auswahlmöglichkeit in welchen die Berechnungen ausgeführt werden sollen.
Hoffe das hilft dir weiter!
Gruss Marc