LabVIEWForum.de - Case Struktur abbrechen ?!?

LabVIEWForum.de

Normale Version: Case Struktur abbrechen ?!?
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,
habe wieder ein kleines Problem. Folgendes. Soll ein Programm schreiben was Schaltjahre berechnet. Das Programm anversich macht mir keine Probleme. Wenn ich nun ein Jahr eingebe was KEIN Schaltjahr ist, soll eine Messagebox erscheinen, welche einen Text ausgibt. Macht sie auch. Wenn ich aber OK drücke und das Programm im kontinuierlichen Modus laufen lasse ist ja immer noch die Jahreszahl eingetragen, wird berechnet und die Schaltfläche kommt wieder. Stoppen kann ich dies bis jetzt nur über den TaskManager. Gibt es da Möglichkeit den Wert im Eingabefenster zu nullen oder wieder eine Eingabe zuzulassen ohne Message?
Habe das Programm mal als Screen angehängt.

Danke im Voraus und nen schönen ersten Advent noch.

Gruss

Schmiggy[attachment=4233]
Hi,

wie wärs wenn du einfach noch ein Control mit einbaust Ok/berechne und den Case nur aufrufst wenn dieser gedrückt wurde.

Noch einfacher wär es natürlich wenn du statt dem Dialog einfach eine Anzeige nimmst, die kannst du immer wieder mit dem aktuellen Wert beschreiben.

Zurücksetzen kannst du den Control natrülich auch, je nach dem was in deinem Fall sinnvoll ist....

Gruss
Uli
Noch eine Möglichkeit wäre:

Eine While-Schliefe nehmen und ein Event-Case rein. Im Event "Eingabe des Jahres - Wertänderung" die Berechnung machen und ggf. die Message anzeigen. In einen zweiten Event die Abbruchbedingung legen.
' schrieb:Noch eine Möglichkeit wäre:

Eine While-Schliefe nehmen und ein Event-Case rein. Im Event "Eingabe des Jahres - Wertänderung" die Berechnung machen und ggf. die Message anzeigen. In einen zweiten Event die Abbruchbedingung legen.


Bin mit dem Programm nun fertig. Eine While Schleife ist nicht vorgesehen. Ich brauche eine Möglichkeit eine Neueingabe zu machen nachdem die Messagebox "bestätigt" wurde. Kann mir jemand sagen wie das geht? Eine Anzeige geht auch nicht, soll schon ne Messagebox sein.
Dank euch
weiß nicht genau was für ein ziel du verfolgst, aber falls du die Eingabe auf 0 zurücksetzen willst, das geht mit rechtsklick auf control->create proberty node->value. damit kannst du das control programatisch setzen, oder du machst eine lokale variable, oder reset value to default....

Gruss
Uli
Mach, wie DoubleU schon gesagt hat, eine Lobale Variable, und setzt die auf Null zurück. Aber vergiss nicht, dass im Kontinuierlichen Modus gegebenenfalls eine Wartezeit von möglicherweise 25ms angehängt wreden muss.
' schrieb:weiß nicht genau was für ein ziel du verfolgst, aber falls du die Eingabe auf 0 zurücksetzen willst, das geht mit rechtsklick auf control->create proberty node->value. damit kannst du das control programatisch setzen, oder du machst eine lokale variable, oder reset value to default....

Gruss
Uli

Hi Uli,
dank dir für die Antwort. Habe mich wahrscheinlich ungünstig ausgedrückt. Wenn die Messagebox erscheint (im kontinuierlichen Modus) habe ich im Eingabefenster einen Wert. Drücke ich nun auf der Messagebox auf OK wird der Wert wieder zur Berechnung eines Schaltjahres genommen und die Box erscheint wieder. Abbrechen kann ich das Programm dann nicht mehr und es lässt keine neuen Eingaben für neue Berechnung mehr zu. Beenden kann ich dann nur noch mit dem Taskmanager. Optimal wäre: Wenn die Messagebox kommt und ich drücke OK dass ich einfach wieder eine neue Eingabe machen kann. Habe noch nen Screeni angehängt, vielleicht hilft das. Denke das Problem ist total banal, habe aber noch keine Lösung gefunden. So long,
schöner Restsonntag noch.

Gruß[attachment=4236]
' schrieb:Bin mit dem Programm nun fertig. Eine While Schleife ist nicht vorgesehen. Ich brauche eine Möglichkeit eine Neueingabe zu machen nachdem die Messagebox "bestätigt" wurde. Kann mir jemand sagen wie das geht? Eine Anzeige geht auch nicht, soll schon ne Messagebox sein.
Dank euch

Da stellt es mir doch die Haare auf, sodass ich um die Zeit doch noch was schreiben muss.

Das Programm im kontinuierlichen Modus laufen zu lassen ist eine ganz unsaubere Sache. Das sollte man wenn nur zu debugging Zwecken machen.

Für eine saubere Programmierung gehört eine While-Schleife herum mit einem Stop-Button, der das Programm beendet. Starten tust du es dann durch den normalen Run Button. Es gehört auch (wie schon gesagt wurde) eine Wartezeit hinein, damit du nicht sämtliche Leistung beanspruchst.

Wenn du dann noch eine Case Struktur erstellst und einen OK Button dafür erstellt und dein gesamtes jetztiges Programm dorthinein gibst, erscheint deine Messagebox nur nach drücken des Ok Buttons.
Referenz-URLs