LabVIEWForum.de
Falsche Benutzereingaben abfangen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Signaldarstellung (/Forum-Signaldarstellung)
+---- Thema: Falsche Benutzereingaben abfangen (/Thread-Falsche-Benutzereingaben-abfangen)



Falsche Benutzereingaben abfangen - insertcoin - 05.11.2008 09:46

Hallo miteinander,

ich habe ziemlich viele Benutzereingaben (numerische Eingaben) in meiner Applikation.
Ich möchte für diese nun falschen Eingaben abfangen und behandeln. Mir ist aber nicht ganz klar nach welchem Schema ich das machen soll. Ich möchte auf jeden Fall dass das Programm dabei nicht abgebrochen wird, und der Benutzer irgendwie zur neuen Eingabe aufgefordert wird.
Kann mir jemand ein Beispiel dafür zeigen wie man sowas normalwerweise behandelt??

Schonmal vielen Dank für eure Hilfe.


Falsche Benutzereingaben abfangen - Achim - 05.11.2008 10:08

Hm...wie "falsch" können numerische Angaben denn sein? Du könntest doch einfach den Eingabebereich der einzelnen Elemente beschränken (Rechtsklick...Data entry), damit kannst du schon mal viel erschlagen!


Falsche Benutzereingaben abfangen - insertcoin - 05.11.2008 10:16

Das hab ich gemacht, aber es ist ja trotzdem noch möglich mehr einzugeben. Wenn ich zB meinen Wertebereich von 0..100 beschränkt habe, kann ich trotzdem 120 eingeben.
Und das große Problem ist bei mir, meine Werte werden verarbeitet und auf FieldPoint EIn -und Ausgänge geschaltet. Wenn die nen zu großen Wert bekommen erhalte ich gleich nen Error. Müsste ich dann den abfangen??
Oder kann ich die numerischen Eingaben wirklich so einstellen dass Werte außerhalb vom Wertebereich nicht möglich sind?


Falsche Benutzereingaben abfangen - J_uri - 05.11.2008 10:25

Ja das geht, dort wo du den Wertebereich einstellst, kann man auch eine Option tätigen was passieren soll, wenn ein Wert außerhalb der Grenzen eingegeben wird.
Also Rechsklick auf das numerische Element - Wertebereich - Häkchen bei "Standardbereich verwenden" raus und Einstellungen festlegen.

mfg
J_uri


Falsche Benutzereingaben abfangen - Ice Lord - 05.11.2008 10:25

' schrieb:Das hab ich gemacht, aber es ist ja trotzdem noch möglich mehr einzugeben. Wenn ich zB meinen Wertebereich von 0..100 beschränkt habe, kann ich trotzdem 120 eingeben.
Und das große Problem ist bei mir, meine Werte werden verarbeitet und auf FieldPoint EIn -und Ausgänge geschaltet. Wenn die nen zu großen Wert bekommen erhalte ich gleich nen Error. Müsste ich dann den abfangen??
Oder kann ich die numerischen Eingaben wirklich so einstellen dass Werte außerhalb vom Wertebereich nicht möglich sind?

Du musst noch auf "coerce" umstellen, dann beschränkt sich die Eingabe auf das minimum und das maximum das du eingestellt hast.
[attachment=15184]


Falsche Benutzereingaben abfangen - insertcoin - 05.11.2008 16:36

Oh man, das ist es.. und so einfachSmile, danke Leute!!

Andere Frage:
Ist es eigentlich üblich dass man Fehler in einem Error CLuster sammelt? Was macht man mit denen, dokumentieren?? Ich denke man wird sicher nicht jeden behandeln oder, das sind ja unendlich viele die auftreten können.
ICh hab sowas bisher noch gar nicht in meinem Programm, und langsam wird es schon sehr groß.. Zustände die nicht eintreffen dürfen, bahandel ich einfach über Verriegelungen in der Programmierung. Ich hab mir LabVIEW selber beigebracht, deshalb fehlt mir noch ein bisschen die Routine für solche Sachen. Gibt es vielleicht irgendwo eine Doku in der man nachlesen kann wie das allgemeine Vorgehen bei der GProgrammierung ist?
Ich möchte mein Programm wenn es geht so sauber wie möglich gestalten, denn ich mach das hier im Zusammenhang mit meiner Diplomarbet. Und muss das nachher an den nächsten Bearbeiter weitergeben.

Auch dazu gleich vielen Dank für eure Tipps!!


Falsche Benutzereingaben abfangen - Achim - 06.11.2008 06:48

Das ErrorCluster erfüllt zwei Aufgaben:

1.
Fehler sammeln und "nach oben" durchreichen, um dort eine selbstdefinierte Fehlerbehandlung durchzuführen. Ansonsten gibts nämlich immer automatische Fehlermeldungen, wenn in den LV-Optionen "Enable automatic error handling" eingestellt ist. Dabei ist allerdings zu beachten, das viele LV-Funktionen ihre Aufgabe einfach nicht mehr erfüllen, wenn sie schon am Eingang einen Fehler haben! Es kann ja aber sein, das zwar in einem vorgelagerten VI ein Fehler auftritt, dieser aber keinen Einfluss auf andere Programmteile haben sollte. Es ist daher immer abzuwägen, ob das Errorcluster in jedem Fall an ein nachfolgendes VI angeschlossen werden sollte.

2.
Sequenzierung: Durch das Verdrahten des ErrorClusters erreichst du eine bestimmte Abarbeitungsreihenfolge, das ist häufig notwendig um dein Programm vernünftig ablaufen zu lassen


Falsche Benutzereingaben abfangen - insertcoin - 06.11.2008 13:30

Danke, das hat mir fürs Verständnis sehr viel gebracht.
Das Weiterreichen der Error-Cluster ist ja dann wie bei Java oder C++ das Weiterreichen der Exceptions.. das macht für mich auf jeden Fall Sinn, werd auch versuchen das einzubauen wo es geht.