LabVIEWForum.de - String Vergleich

LabVIEWForum.de

Normale Version: String Vergleich
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo,
Ich gebe einem controller einen Befehl als string per TCP/IP. Da ich sichergehen will, ob der controller verstanden hat, was er machen soll, habe ich eingestellt, dass er mir den Befehl als echo zurückgibt.
Jetzt möchte ich lediglich die beiden 2 strings miteinander vergleichen.
Warum funktioniert mein Beispiel nicht?Dry

Danke,


P.S.:Ich verwende LV8.6
Ich finde grade den "editier-Button" nicht....

[attachment=23552]
Wenn du deine beiden Strings noch postest könnte dir geholfen werden.
Doch, das sollte funktionieren, zumindest das auf dem Screenshot.. Wenn beide Strings exakt gleich sind, gibts true zurück.. Was genau funktioniert denn da nicht? Vielleicht sind die Strings nicht exakt gleich (z.B. irgendwelche whitespaces vorne/hinten)...?
Hallo,
das Problem war, dass egal welche strings ich eingegeben habe, es niemals zu einer Übereinstimmung kam.
Also egal ob beide strings "768" oder "AAB" oder sonstwie hießen.
Wenn man Konstanten anschließt statt string controls funktioniert die Sache wieder.

Ich habe also erstmal aus den controls constanten erzeugt. In diesen Konstanten konnte ich jetzt alle von mir gemachten Eingaben sehen (d.h. das string control löscht seine "Historie" nicht automatisch).
Somit wird jedesmal die gesamte Historie der beiden controls verglichen. Falls jemals verschiedene strings miteinander verglichen worden sind, liefert der Vergleich also niemals mehr TRUE.
Ich habe mich an das LabVIEW-Beispiel "TCP communicator active" erinnert. Dort wird beim Programmstart der Inhalt (besser der Wert "Value") des indicators "You typed" gelöscht.
[attachment=23562]

Nachdem ich das nachgestellt habe, funktioniert auch mein Beispiel....

[attachment=23563]

Wacko
Also bei mir hat schon dein erstes Beispiel funktioniert....
Huh

aBc == abc ? => FALSE
aBc == aBc ? => TRUE

Also ich konnte Dein Problem nicht reproduzieren, aber schön, dass Du es gelöst hast!
Hallo

Ich glaube, es liegt an der Einstellung "Limit to single line". Wenn man für die String-Controls diese Option setzt, dann tritt der Fehler nicht mehr auf. Durch Eingabe "Enter" verschwindet der String aus der Anzeige, aber nicht aus dem Control!

Gruss BDB
Hallo Bernd,

also lag der Fehler darin, das du das String-Control nicht groß genug gemacht hast? Big Grin

Wenn du die Return-Taste drückst, fügst du einen Zeilenvorschub in den String ein - was sich durch die von dir beschriebene Option verhindern lässt.
String-controls haben übrigens keine "Historie": sie merken sich nur (wie alle anderen Controls auch) alle Eingaben, die du machst!
Also mir ist völlig unklar warum mein LabVIEW gestern dieses Verhalten gezeigt hat...Ich hatte extra meinen Rechner einmal neu gestartet..ohne Erfolg.

Ich habe das gleiche Beispiel gerade nocheinmal "programmiert" (ohne die "Limit to single line"-Option zu nutzen und ebenfalls ohne Einsatz des Property Node...)
Diesmal arbeitet das Programm genauso wie man es erwartet...

..Problem gelöst. LabVIEW spinnt halt auch manchmal...Smile
Hallo Gerd

Ich dachte eher, dass echtzeit die vorher eingegebenen Zeilen nicht gesehen hat.

Ich weiss schon, dass man das Control vergrössern kann.

Gruss, BDB
Seiten: 1 2
Referenz-URLs