LabVIEWForum.de
String Vergleich - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: String Vergleich (/Thread-String-Vergleich)

Seiten: 1 2


String Vergleich - echtzeit - 11.01.2010 19:31

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


String Vergleich - echtzeit - 11.01.2010 20:28

Ich finde grade den "editier-Button" nicht....

[attachment=23552]


String Vergleich - schrotti - 11.01.2010 21:17

Wenn du deine beiden Strings noch postest könnte dir geholfen werden.


String Vergleich - Novgorod - 11.01.2010 21:18

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)...?


String Vergleich - echtzeit - 12.01.2010 11:05

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


String Vergleich - BsaiboT - 12.01.2010 14:55

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!


String Vergleich - BerndDasBrot - 12.01.2010 16:35

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


String Vergleich - GerdW - 12.01.2010 16:49

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!


String Vergleich - echtzeit - 12.01.2010 16:57

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


String Vergleich - BerndDasBrot - 12.01.2010 17:34

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