LabVIEWForum.de
Wie prüfen, ob Eingabefelder ausgefüllt sind? - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenerfassung (DAQ) (/Forum-Datenerfassung-DAQ)
+---- Thema: Wie prüfen, ob Eingabefelder ausgefüllt sind? (/Thread-Wie-pruefen-ob-Eingabefelder-ausgefuellt-sind)



Wie prüfen, ob Eingabefelder ausgefüllt sind? - angori - 07.08.2008 10:36

Hallo miteinander

Ich habe eine Applikation die an einer Stelle warten soll, bis der Benutzer gewisse Pflichtfelder (String) ausgefüllt hat.
Nun habe ich dies mittels einer WHILE Schlaufe gelöst, die alle Strings mit "" vergleicht und so mittels einem boolschen Konstrukt zum Beenden der Schlaufe führt, wenn alle entsprechenden Felder ausgefüllt sind.

Das funktioniert zwar soweit, verbraucht jedoch unmengen von Ressourcen.

Hat mir jemand einen Tipp, wie ich das eleganter lösen kann?

Danke und Gruss
angori


Wie prüfen, ob Eingabefelder ausgefüllt sind? - Y-P - 07.08.2008 10:41

Hast Du in der Whileschleife eine Verzögerungszeit (es reichen z.B. 5 ms)? Wenn nein, dann wundert mich das mit den Ressourcen nicht, sonst (mit Verzögerungszeit) schon. Weil das bisschen Pollen dürfte man an den Ressourcen nicht merken.

Gruß Markus

' schrieb:Hallo miteinander

Ich habe eine Applikation die an einer Stelle warten soll, bis der Benutzer gewisse Pflichtfelder (String) ausgefüllt hat.
Nun habe ich dies mittels einer WHILE Schlaufe gelöst, die alle Strings mit "" vergleicht und so mittels einem boolschen Konstrukt zum Beenden der Schlaufe führt, wenn alle entsprechenden Felder ausgefüllt sind.

Das funktioniert zwar soweit, verbraucht jedoch unmengen von Ressourcen.

Hat mir jemand einen Tipp, wie ich das eleganter lösen kann?

Danke und Gruss
angori



Wie prüfen, ob Eingabefelder ausgefüllt sind? - Achim - 07.08.2008 11:05

' schrieb:Ich habe eine Applikation die an einer Stelle warten soll, bis der Benutzer gewisse Pflichtfelder (String) ausgefüllt hat.
Nun habe ich dies mittels einer WHILE Schlaufe gelöst, die alle Strings mit "" vergleicht und so mittels einem boolschen Konstrukt zum Beenden der Schlaufe führt, wenn d

Ich würde hier für die String-Überwachung eine Eventstruktur mit Events für jedes Feld einführen. Wenn ValueChanged auftritt erfolgt eine Überprüfung...ansonsten nicht!


Wie prüfen, ob Eingabefelder ausgefüllt sind? - Y-P - 07.08.2008 11:53

Wenn ich eine Event-Struktur nehmen würde, dann würde ich auf einen "Übernehmen"-Knopf reagieren. Wird der gedrückt, wird überprüft, ob die String-Felder ausgefüllt sind. Ansonsten ist das Problem, dass der Bediener ein Feld leer lassen könnte.

Gruß Markus

' schrieb:Ich würde hier für die String-Überwachung eine Eventstruktur mit Events für jedes Feld einführen. Wenn ValueChanged auftritt erfolgt eine Überprüfung...ansonsten nicht!



Wie prüfen, ob Eingabefelder ausgefüllt sind? - angori - 07.08.2008 12:10

Besten Dank Y-P. ..hätte ich eigentlich auch selber drauf kommen können.
Habe jedoch 300ms verwendet und konnte so die CPU Auslastung von 100% auf 50% reduzieren.

Danke und Gruss
angori


Wie prüfen, ob Eingabefelder ausgefüllt sind? - Achim - 07.08.2008 12:13

' schrieb:Habe jedoch 300ms verwendet und konnte so die CPU Auslastung von 100% auf 50% reduzieren.

Das ist trotzdem übel...außerdem merkt man bei einer Verzögerungszeit von 300ms teilweise schon unschöne Verzögerungszeiten, z.B. beim Drücken eines Buttons


Wie prüfen, ob Eingabefelder ausgefüllt sind? - Y-P - 07.08.2008 12:16

Lad' mal Dein VI hoch.

Gruß Markus


Wie prüfen, ob Eingabefelder ausgefüllt sind? - RoLe - 07.08.2008 13:06

' schrieb:Besten Dank Y-P. ..hätte ich eigentlich auch selber drauf kommen können.
Habe jedoch 300ms verwendet und konnte so die CPU Auslastung von 100% auf 50% reduzieren.

Ich verwende normalerweise in einem VI das auf Benutzereingaben wartet eine Zeit von 250ms.
Das finde ich genügt vollkommen, 4 x pro Sekunde, wer ist schon so schnell.
(OK, wenn ich es heute neu machen müsste würde ich ev. auch eine EventStructur verwenden, kommt auf die Anzahl/Grösse an.)

Was du noch optimieren könntest, anstelle eines Vergleiches auf leeren String, machst du Stringlänge > 0.


Wie prüfen, ob Eingabefelder ausgefüllt sind? - Achim - 07.08.2008 13:42

' schrieb:Ich verwende normalerweise in einem VI das auf Benutzereingaben wartet eine Zeit von 250ms.
Das finde ich genügt vollkommen, 4 x pro Sekunde, wer ist schon so schnell.

Klar, für Aktualisierungen reicht das...allerdings ist die Wartezeit bis z.B. ein Button (Latch when released) zurückgestellt wird (d.h. "Wert wurde abgeholt") dann schon sichtbar! Wenn jetzt noch irgendwas zwischenrein haut, ist der psychologische Effekt beim Nutzer teilweise schon so nach dem Motto "hier klemmts ein bisschen"...


Wie prüfen, ob Eingabefelder ausgefüllt sind? - RoLe - 07.08.2008 14:49

' schrieb:.... ist der psychologische Effekt beim Nutzer teilweise schon so nach dem Motto "hier klemmts ein bisschen"...

Offtopic2

Genau das psychologische Problem hab ich ja mit dem starten einer grossen Anwendung, die Benutzer wollen nach dem klicken was sehen, wenn erst nach >5 sekunden die Anwendung sichtbar wird, beklagen sie sich.