INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Eingabefeld löschen nach Eingabe



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!

02.02.2015, 20:43 (Dieser Beitrag wurde zuletzt bearbeitet: 02.02.2015 20:49 von GerdW.)
Beitrag #11

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Eingabefeld löschen nach Eingabe

Akzeptierte Lösung

Hallo Gesetzt,

Zitat:en Zusammenhang mit dem TermChar nicht verstehe( Vllt kann das jemand kurz erläutern?)
Das wurde hier schon öfter erläutert, aber es schadet ja nicht, das nochmal aufzuschreiben…

VISARead liest bis
- die angeforderte Anzahl Zeichen im Buffer stehen
- ein TermChar im Empfangsbuffer gefunden wird
- ein Fehler (wie z.B. Timeout) auftritt

Wenn deine Messages also mit einem TermChar enden und üblicherweise 20 Bytes enthalten, dann konfiguriert man das TermChar und versucht 99 Bytes zu lesen. Warum 99? Um eben mehr als die übliche Message-Länge abzufragen - da VISARead ja automatisch mit dem TermChar den Lesezugriff erfolgreich beendet…

Zitat:dass der ganze Kram mit Visa Write nur ausgefuehrt wird, falls entweder einer der Schalter auf True steht, oder ein String eingegeben wurde. … Zusätzlich müsste halt noch überprüft werden, ob etwas im Eingabefeld steht, also quasi wieder True oder False. … Das könnte quasi so aussehen: If "Empty String" then false else True.
Code:
IF EmptyString?(sendstring) THEN
  do nothing
ELSE
  VISAWrite(sendstring + "LF")
ENDIF
Stell dir vor, in der Vergleichspalette gäbe es schon eine Funktion, die dir sagt, ob ein String leer ist oder nicht…

Zitat:Wenn ich jetzt den Befehl mit Enter bestätige, dann muss das ganze wieder in einer lokalen Variable gespeichert werden, oder merkt Labview sich automatisch die Eingabe bis abgefragt wird?
Was hat das Drücken der Enter-Taste mit dem Speichern zu tun? Fragst du dich das auch, wenn du irgendeinen Buchstaben eintippst?
THINK DATAFLOW!
LabVIEW liest dein String-Control, wenn es für den DATAFLOW nötig ist…
Und nein: man muss den Inhalt eines Controls nicht in eine lokale Variable eben desselben Controls kopieren!

Nach Jens' Vorschlag auch einer von mir:
   
(Üblicherweise erledigt man die Abfrage der Bedienelemente mit einer Event-Struktur - da spart man sich gleich das Zusammenbauen und Testen des Strings…)

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.02.2015, 21:02
Beitrag #12

Gesetzt Offline
LVF-Grünschnabel
*


Beiträge: 45
Registriert seit: Jan 2015

2013
2014
kA



RE: Eingabefeld löschen nach Eingabe
Hallo,

Ich sehe schon LabView denkt echt an allesWink. Vielen Dank ebenfalls für die Erläuterungen zum BytesAtPort. Um mal mein DATAFLOW Verständnis zu testen: Angenommen ich habe Jens' vorgeschlagene Anordnung implementiert. Dann könnte es doch leicht passieren, dass der String abgefragt wird, während ich noch am eintippen bin( weil z.B. vor 100 ms ermittelt wurde, dass der String nicht mehr leer ist), das heißt es müsste eine zusätzliche Pause eingebaut werden damit dies nicht passiert oder gibt es eine Möglichkeit zu ueberprüfen ob der Befehl mit Enter abgeschlossen wurde und den String nur dann "freizugeben". Hiermit ( http://zone.ni.com/reference/en-XX/help/...hitespace/ ) würde ja ein entsprechendes rausgefiltert, kann man den Wert dieser Funktion auslesen( ob etwas getrimmt wurde oder nicht?)

Mit freundlichen Grüßen

Gesetzt
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.02.2015, 21:11 (Dieser Beitrag wurde zuletzt bearbeitet: 02.02.2015 21:12 von GerdW.)
Beitrag #13

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Eingabefeld löschen nach Eingabe
Hallo Gesetzt,

Zitat:Dann könnte es doch leicht passieren, dass der String abgefragt wird, während ich noch am eintippen bin
Darauf antwortet man mit einem klassischen "JEIN!"…

Mach mal einen Rechtsklick auf dein String-Control, dann siehst du eine Option des String-Controls "Wert beim Schreiben einlesen".
Diese Option ist per Default deaktiviert, dein String wird also erst mit dem Drücken der Enter-Taste übernommen (oder wenn der String den Fokus verliert)!

Zitat:Ich sehe schon LabView denkt echt an alles
Ja, die LabVIEW-Entwickler haben auch an die Leute gedacht, die wie du einen String per Polling abfragen…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.02.2015, 22:11 (Dieser Beitrag wurde zuletzt bearbeitet: 02.02.2015 22:12 von jg.)
Beitrag #14

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Eingabefeld löschen nach Eingabe
Offtopic2
(02.02.2015 21:11 )GerdW schrieb:  
Zitat:Ich sehe schon LabView denkt echt an alles
Ja, die LabVIEW-Entwickler haben auch an die Leute gedacht, die wie du einen String per Polling abfragen…
Alleine schon deshalb, weil es erst seit LabVIEW 6 eine Event-Struktur gibt, und diese auch erst seit LabVIEW 2012 in allen Entwicklungspaketen enthalten ist...
Die CLD-Prüfung lässt grüßen. Wink

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Mehrfache Eingabe in Windows Konsole Roxor 4 4.121 04.04.2019 14:04
Letzter Beitrag: Roxor
  Passwort Eingabe 911tom 21 12.770 21.03.2017 07:44
Letzter Beitrag: GerdW
  Eingabe String nach einen bestimmten Format bearbeiten galilio 18 11.572 27.01.2017 10:58
Letzter Beitrag: jg
  Eingabe in String-Eingabefeld behalten GrEeHoRn 5 7.888 28.02.2014 11:04
Letzter Beitrag: GrEeHoRn
  Taste während Eingabe checken Hasenfuss 2 4.375 25.04.2013 17:51
Letzter Beitrag: Hasenfuss
  Ausgabe mit Eingabe "verknüpfen" PAK 2 4.260 05.07.2012 16:56
Letzter Beitrag: Y-P

Gehe zu: