03.12.2006, 17:05
Beitrag #1
|
Schmiggy
LVF-Neueinsteiger
Beiträge: 9
Registriert seit: Nov 2006
8.2
2006
kA
Deutschland
|
Case Struktur abbrechen ?!?
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
|
|
|
03.12.2006, 17:28
Beitrag #2
|
|
|
03.12.2006, 17:38
Beitrag #3
|
|
|
03.12.2006, 19:15
Beitrag #4
|
Schmiggy
LVF-Neueinsteiger
Beiträge: 9
Registriert seit: Nov 2006
8.2
2006
kA
Deutschland
|
Case Struktur abbrechen ?!?
' 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
|
|
|
03.12.2006, 19:47
Beitrag #5
|
|
|
03.12.2006, 20:11
Beitrag #6
|
IchSelbst
LVF-Guru
Beiträge: 3.689
Registriert seit: Feb 2005
11, 14, 15, 17, 18
-
DE
97437
Deutschland
|
Case Struktur abbrechen ?!?
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.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
|
|
|
03.12.2006, 20:15
Beitrag #7
|
Schmiggy
LVF-Neueinsteiger
Beiträge: 9
Registriert seit: Nov 2006
8.2
2006
kA
Deutschland
|
Case Struktur abbrechen ?!?
' 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ß
|
|
|
04.12.2006, 00:17
Beitrag #8
|
Kvasir
LVF-Freak
Beiträge: 642
Registriert seit: May 2006
10
2004
DE_EN
0000
Oesterreich
|
Case Struktur abbrechen ?!?
' 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.
A few weeks of developement and testing can save a WHOLE afternoon in the library!
|
|
|
| |