LabVIEWForum.de - String Eigenschaften nach Konvertierung verloren

LabVIEWForum.de

Normale Version: String Eigenschaften nach Konvertierung verloren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hu Hu,

also ich hab folgendes Problem, ich möchte aus vielen kleinen Strings eine große Meldung ausgeben.

Wie ihr auf dem Screenshot sehen könnt, bekomme ich aus meinen Clustern links, viele verschiedene Meldungen in dem Stil:

Input 1 OK
Input 1 connect
Input 2 fail
usw.

Und diese Meldungen werden NUR ausgegeben wenn es sich geändert hat, d.h entweder es kommt text oder eben "".
Funktioniert auch alles prima. Jetzt möchte ich eine große Meldung in der man erkennen kann was sich wo geändert hat.
Zu diesem Zweck füge ich alle Strings zusammen, jedoch kann man jetzt nciht mehr unterscheiden woher die Meldung kommt (ich mein von welchem Sender TxA1 oder TxA2 oder ...)
Deshalb wollt ich vor jede Meldung eine "Überschrift", also z.b einfach Fett.

TxB
Input 1 OK
Input 1 connect
Input 2 fail

TxA2
GPS/Ref fail


So und jetzt kommt mein Problem, ich hab keine Ahnung wie ich das realisieren soll...
Hab schon versucht die "Überschriften" mit PropertyNodes fett zu machen, jedoch verliert sich dieser Zustand sobald ich den String zusammenfüge oder eine T/F Auswahl mache.

VI hochzuladen hätte keinen Sinn, weil des viiieeelll zu komplex ist und euch die nötigen HardwareKomponenten fehlen um das ganze zu testen, deshalb kann ich nur mit einem Screenshot dienen!

[attachment=14716]
Also ich benutze dafür das VI "In String formatieren".
Als Format-String kanst Du dort als Textkonstante einen ganzen Roman vorgeben, in dem an den Stellen, wo Eingangswerte hinkommen sollen, die entsprechenden Formatzeichen stehen (Bei Dir wäre das immer nur %s).
Wie Du da den Fettdruck realisieren kannst, weiß ich allerdings nicht. Du kannst natürlich im Fomatierungstext auch Sonderzeichen, also z.B HTML-Steuerung für Fettdruck, mit eingeben. Woher man dann allerdings die HTML-Anzeige innerhalb von LV hernimmt, weiß jetzt nicht.
Es gibt ja in LV umfangreiche Möglichkeiten zur Protokollerstellung, auch in HTML-Format, aber da kenne ich mich leider nicht aus.
Gruß Ludwig
' schrieb:Wie Du da den Fettdruck realisieren kannst, weiß ich allerdings nicht. Du kannst natürlich im Fomatierungstext auch Sonderzeichen, also z.B HTML-Steuerung für Fettdruck, mit eingeben. Woher man dann allerdings die HTML-Anzeige innerhalb von LV hernimmt, weiß jetzt nicht.

Des hört sich ja schonmal gut an, nur hab ich leider auch keine Ahnung wie ich des realisieren soll, deshalb hab ich ja hier gefragt.
Und des mit dem FormatString versteh ich auch nicht so ganz... Woher weißt du denn das man diese HTML - Steuerung als Formatierungstext nehmen kann??

Wenn das funktionieren würde dann könnte ich ja anstelle "String zusammensetzten" alles in "FormatString" zusammenfügen und dann individuell fett machen?!
Hab ich des so richtig verstanden?
Also ich meinte es so:
[attachment=14726]
und wegen des Fettdruck habe ich einiges probiert - ohne richtigen Erfolg.
Ich hätte erwartet, daß, wenn im Formatstring z.B "TxB" in Fettruck geschrieben wird, daß dann TxB in der Ausgabe ebenfalls in Fettruck dasteht. Funktioniert sogar - aber der ganze nachfolgende Text ist dann ebenfalls fettgedruckt.
Ich verwende lv8.5. Vielleicht ist man in lv8.6 inzwischen darauf gekommen, daß so etwas sinvoll wäre (Also daß alle Textattribute, Farbe usw. im Formatstring in den Ausgabestring übertragen werden)
Mit den Funktionen zur Reporterstellung scheint sich das alles machen zu lassen, aber - und jetzt kommt der Haken - diese Reports sind ausschließlich für Druckerausgabe oder zum Abspeichern in einer Datei gedacht. Du willst ja ganz schlicht nur eine Anzeige.
Gruß Ludwig
Probier mal das:
Schaut mal hier sowie hier.

Nachteil: Sobald du was Neues in die String-Anzeige reinschreibst, gehen alle vorherigen Sonderformatierungen verloren.

Gruß, Jens
' schrieb:Probier mal das:
Ja, anders als über die Eigenschaftsknoten wird es nicht gehen. Diese Art der Fomatierung ist aber äußerst mühsam.

Deshalb ein modifizierter Vorschlag:
Tabelle für die Ausgabe verwenden - und die läßt sich durch Abwählen von sichbaren Elementen so gestalten, daß sie aussieht wie ein normales Textfeld. Die Vorteil ist, daß man sich bei der Textfomatierung nicht mehr mit einzelnen Zeichen herumplagen muß, sonden nur noch mit ganzen Zeilen (Jede Zeile ist eine Zelle)
Die Zellenpositionen sind, im Gegensatz zu den Zeichenpositionen, unabhängig von der Zeichenlänge der Meldungen. Es müssen also keine Positionen mit Suchfunktionen, Berechnungen usw. bei jeder Ausgabe neu bestimmt werden.
[attachment=14736]
Lv80_img[attachment=14719]
Danke erstmal für eure Hilfe...
Bei der Sache mit den Tabellen gibt es aber wiederum Probleme.
1. Ich bekomme alle Änderung direkt in einem String, d.h. ich muss die Zeile/Zelle auf "autorowheight" setzten, nur mit dieser Funktion stimmt irgendwas nicht, ich muss den Parameter zuerst auf F setzten und im nächsten Durchlauf auf T, sonst bleibt die Zeile gleich groß. Das ist auch so wenn ich mehrer Zeilen in eine Zelle schreiben will, also mein Problem ist das sich die Größe nicht selbständig aktualisiert.

2. Wie kann ich denn ganze Zeilen ausblenden? Wenn mein Vergleich keinen Unterschied entdeckt hat, dann bleibt der String leer, und bei diesem Fall brauch ich dann die ganze Status anzeige des jeweiligen elements nicht und ich möchte auch nicht das es in der ausgabe erscheint.

Hab mal ein Screenshot und VI angefügt damit ihr mein Problem besser verstehen könnt.

[attachment=14797]

Lv85_img
[attachment=14798]
Ich weiß nicht ob ihr mein zugehöriges SUBVI auch braucht, deshalb häng ichs einfach mal an.
Und noch ein kleines Rätsel für euch, wie soll ich denn mein SubVI auf eine Bildschirmgröße bringen?? (zwecks Programmierphilosophie ^_^)
[attachment=14799]
Hab grad folgendes in der Hilfe gefunden:

Zitat:Autosizing Row Height Property
Property of Table.

Determines whether the rows autosize their height to display all text when fonts change or when the number of lines in a cell changes.

If FALSE, you can have clipped text in cells, and the user will be unable to manually resize the row height at run time to see all of the text. This property affects only user input. If you use the Value property to set the table strings, the rows do not automatically resize. To resize the rows, set this property to FALSE and then set it back to TRUE.

This property is similar to the Autosize Row Height item on the shortcut menu of a table.

Gibts irgendeine KLEINE möglichkeit das zu umgehen oder irgendwelche anderen Möglichkeiten??
Denn diese unformatierten Zeilen sehen einfach nur ... aus, und es ist reine Platzverschwendung, denn ich will ja mein Popup so direkt und übersichtlich wie möglich machen.

Mfg
Ich favorisiere ja immer noch die Möglichkeit mit dem normalen String-Element. Muss mal halt was zu programmieren. String suchen, als Start/Ende-Position setzen, Formatierung machen ...
Seiten: 1 2
Referenz-URLs