Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
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?
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
Wie prüfen, ob Eingabefelder ausgefüllt sind?
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
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
' 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!
"Is there some mightier sage, of whom we have yet to learn?"
"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
Wie prüfen, ob Eingabefelder ausgefüllt sind?
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!
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
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.
' 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
"Is there some mightier sage, of whom we have yet to learn?"
"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
Wie prüfen, ob Eingabefelder ausgefüllt sind?
Lad' mal Dein VI hoch.
Gruß Markus
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
' 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.
.·´¯)--> Leben ist das, was dir passiert, wenn du eifrig dabei bist andere Pläne zu machen <--(¯`·.
' 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"...
"Is there some mightier sage, of whom we have yet to learn?"
"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
' schrieb:.... ist der psychologische Effekt beim Nutzer teilweise schon so nach dem Motto "hier klemmts ein bisschen"...
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.
.·´¯)--> Leben ist das, was dir passiert, wenn du eifrig dabei bist andere Pläne zu machen <--(¯`·.