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 

Sprachänderung von Frontpanelementen



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!

27.10.2014, 16:00
Beitrag #1

TiCy Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 97
Registriert seit: Apr 2012

LabVIEW 2011
2012
DE

Göttingen
Deutschland
Sprachänderung von Frontpanelementen
Hallo zusammen.

Ich bin aktuell an einer Optimierung eines vorhandenen VIs. In diesem VI bestellt die Möglichkeit zwischen der deutschen und englischen Sprache über ein Bedienelement zu wählen. Je nach Auswahl werden die entsprechende Strings über eine Case-Struktur an Eigenschaftsknoten oder lokalen Variablen übergeben. Diese Variante ist durch die Case-Struktur, den etlichen String-Konstanten (deutsch+englisch), Variablen und Eigenschaftsknoten sehr unübersichtlich und schwer erweiterbar. Vielleicht kennt jemand ne Variante mit externen Dateien (z.B. Tabelle), welche kostenlos und leicht zu realisieren ist. Auf die Methode über die Funktion VI-Strings.Import würde ich gerne verzichten. Aus den vorhandenen Beiträgen im Forum zu diesem Thema konnte ich leider kein lauffähiges VI erstellen.

Vielen Danke schon mal für Eure Hilfe.
MFG Timm
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.10.2014, 16:03
Beitrag #2

Trinitatis Offline
LVF-Guru
*****


Beiträge: 1.694
Registriert seit: May 2008

7.1 / 8.0 /2014-1, 18
2002
DE

18055
Deutschland
RE: Sprachänderung von Frontpanelementen
Hallo Timm,
was man machen kann, ist eine Tabelle anzulegen, in deren 1. Spalte der Name des Bedienelements steht und in den Spalten daneben die Spracheinträge. Dann wählst du die Sprache (Spalte) aus und ersetzt die Untertitel der Controls durch den in der Spalte stehenden und zum BDM gehörenden Eintrag. Das muss man auch nicht händisch machen, sondern du übergibst einem SubVI die Referenzen aller BDMs und läst das SubVI anhand der LV-Namen die Untertitelersetzung machen.

Gruß, Marko
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.10.2014, 16:20
Beitrag #3

TiCy Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 97
Registriert seit: Apr 2012

LabVIEW 2011
2012
DE

Göttingen
Deutschland
RE: Sprachänderung von Frontpanelementen
Hallo Marko.

Die Strings werden an verschiedene Eigenknoten (Hinweis, Untertitel, Strings[],...) oder an lokale Variablen übergeben. Ich müsste wahrscheinlich eine Spalte vorsehen wo der Typ des zu übergebenen Elementes hinterlegt ist. Hab ich die Möglichkeit in der Tabelle direkt die Referenzen der Elemente zu hinterlegen und beim Event einzulesen zu können?

MFG Timm
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.10.2014, 17:26
Beitrag #4

Trinitatis Offline
LVF-Guru
*****


Beiträge: 1.694
Registriert seit: May 2008

7.1 / 8.0 /2014-1, 18
2002
DE

18055
Deutschland
RE: Sprachänderung von Frontpanelementen
(27.10.2014 16:20 )TiCy schrieb:  Hab ich die Möglichkeit in der Tabelle direkt die Referenzen der Elemente zu hinterlegen und beim Event einzulesen zu können?

Die Referenzen werden neu erstellt - kannste also nicht in der Datei speichern. Was sich aber nicht ändert ist der Name des Controls und damit kannst du dann auch seine Referenz identifizieren.

Gruß, Marko
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.10.2014, 09:13
Beitrag #5

TiCy Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 97
Registriert seit: Apr 2012

LabVIEW 2011
2012
DE

Göttingen
Deutschland
RE: Sprachänderung von Frontpanelementen
Vielen Dank für die schnelle Hilfe Marko. Ich vermute du meinst die Eigenschaft Beschriftung.Text oder? Über welche Funktion kann ich aus dem String wieder eine Referenz ermitteln?

MFG Timm
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.10.2014, 09:43 (Dieser Beitrag wurde zuletzt bearbeitet: 28.10.2014 09:52 von GerdW.)
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Sprachänderung von Frontpanelementen
Hallo Timm,

- ein Control hat ein Label ("Beschriftung") und eine Caption ("Untertitel"). Das Label wird beim Editieren vergeben und ist zur Laufzeit fix, die Caption kannst du auch zur Laufzeit ändern.

- Es gibt eine Property des VIs Panels, mit der du die Referenzen aller FP-Elemente erhälst. Über diese Referenzen kannst du dir das Label jedes FP-Elements auslesen.

- Jetzt brauchst du eine Tabelle, in der zu jedem Label (erste Spalte) die passenden Texte für die Captions (jede Sprache eine weitere Spalte) stehen. Mit den Informationen aus den Punkten zuvor kannst du dann bei jedem Control die Caption entsprechend der User-Auswahl anpassen…

Wichtig dabei: du musst die Caption explizit anzeigen. Also am besten schon beim Erstellen des FP das Label ausblenden und die Caption anzeigen lassen - für jedes Control!

Hilfreich dabei: man vergibt die Labels nach einem festen Schema, z.B. "NUM_xxxx" für numerische Anzeigen. Dann kann man die Referenzen einfacher filtern!
Anwendungsfall dafür: Ich habe in einer Prüfstandssoftware Analogausgänge (AO_xx), Digitalausgänge (DO_xx), verschiedene PWMs (PWM_xx), Schrittmotoren (SM_xx). Der User hat eine Excel-Tabelle, in der die Messung konfiguriert wird und kann für jeden Kanal eigene Namen vergeben. Ich muss also nur die entsprechenden Controls filtern, um ihnen dann Namen zuordnen zu können. Das ist dann ein subVI, welches als Parameter nur den Namensfilter bekommt. Und der User freut sich, dass er nicht "DO_07" schaltet, sondern "Freigabe FU AMP"…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.10.2014, 13:47
Beitrag #7

TiCy Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 97
Registriert seit: Apr 2012

LabVIEW 2011
2012
DE

Göttingen
Deutschland
RE: Sprachänderung von Frontpanelementen
So ich habe mal ein VI erstellt. Ich hoffe es entspricht der Beschreibung von GerdW. Das Einlesen aus der Datei habe ich mir zur Einfachung gespart. Die Eigenschaften "Wert", "Untertitel" und "Hinweis" können schon verarbeitet werden. Probleme machen mir die Eigenschaften "String[]" und "Spaltentitel[]" (siehe Bild). Gibt es Ideen zur Problemlösung?

MFG Timm


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.10.2014, 14:01
Beitrag #8

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: Sprachänderung von Frontpanelementen
Da hast Du aber Glück, dass es in dem Beispiel keine Elemente gibt, die sich in Clustern oder auf Karteikarten befinden. Oder Elemente, die sich in einem Cluster befinden, der sich auf einer Karteikarte befindet usw. usf. Dann wird das Sammeln aller Referenzen schwieriger.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.10.2014, 14:29
Beitrag #9

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Sprachänderung von Frontpanelementen
Hallo Timm,

Zitat:Probleme machen mir die Eigenschaften "String[]" und "Spaltentitel[]" (siehe Bild). Gibt es Ideen zur Problemlösung?
Welcher Art sind die Probleme? Dein Bild zeigt nur, das sie nicht ordentlich verdrahtet sind…

Wenn du die Eigenschaft "Spaltentitel[]" einer Tabelle setzen willst, musst du das auch programmieren. Ein Punkt dabei ist, dass die generische Referenz, die du am Anfang einliest, in eine spezielle Tabellen-Referenz umgewandelt wird. Dazu gibt es die Funktion "Nach spezifischerer Klasse":
   

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.10.2014, 14:29
Beitrag #10

TiCy Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 97
Registriert seit: Apr 2012

LabVIEW 2011
2012
DE

Göttingen
Deutschland
RE: Sprachänderung von Frontpanelementen
Problem mit den Eigenschaften über die Funktion "Nach spezifischerer Klasse" gelöst. Gibt es noch Optimierungsvorschläge?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Gehe zu: