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 

Registerkartenumschaltung



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!

13.02.2007, 15:54
Beitrag #21

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
Registerkartenumschaltung
' schrieb:Gratulation! Jackpoint geknackt! Also für mein Begriffe ist das definitiv die Lösung, nach der wir hier gesucht und um die herum wir uns alle bewegt haben...
@Dennis:
Bitte sofort den "LVF-Grünschnabel"-Status von VDB ändern! Es kommt doch nicht auf Quantität von Beiträgen, sondern auf die Qualität an!


Da kann ich nur zustimmen. Echt gut gelöst.

Gruss, Eugen

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.02.2007, 17:44 (Dieser Beitrag wurde zuletzt bearbeitet: 13.02.2007 17:50 von Achim.)
Beitrag #22

Achim Offline
*****
*****


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
Registerkartenumschaltung
Hi zusammen,

das sind alles schöne Lösungen, gefällt mir gut. Ich glaube aber, der Grund dafür, dass man nicht die Strings (selbstgewählten Titel) des Tabs (=Enum) anspringen kann ist der, dass das Risiko ungleich höher ist, einen Schreibfehler im String (Titel) zu machen! Dann findet auch VDBs Lösung nicht die richtige Seite! Dass ist hier im speziellen nicht besonders wichtig, weil nur wenige Strings verwendet werden. Generell gilt aber, dass man z.B. den nächsten State einer State Machine auch lieber mit Enums anspringt, die man schön als StrictTypeDef speichern kann. Eine Änderung/Erweiterung des Enums um zusätzliche States wird dann sofort überall wirksam. Wenn man das mit Strings machen würde (theoretisch und praktisch möglich), bestünde die Gefahr, dass man im String Schreibfehler macht (im Case oder in der Konstante), und schon funktioniert die Statemachine nicht mehr. Man verwendet den "State-String" vielleicht 25 Mal und macht einen Schreibfehler...den zu finden wird unter Umständen schwierig. Und dann bleibt man doch lieber generell bei Enums/numerischen Werten, da ist man auf der sicheren Seite...

Gruss
Achim

EDIT: Prinzipiell hab ich nichts gegen eine Status-Änderung von VDB...wer wäre ich denn, würde ich mir ein Urteil erlauben...aber wer soll denn die Qualität der Beiträge bewerten? Die Mods? Wer bewertet denn die? Seid mir nicht böse, aber das wär ja frech! Dann doch lieber bei der Anzahl bleiben...wobei auch dass nicht optimal ist...dazu gibt es einfach zu viele überflüssige Kommentare im Forum...aaahhhh..selbst ins Knie geschossen...hab mir doch ein Urteil erlaubt....

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.02.2007, 19:37
Beitrag #23

VDB Offline
LVF-Stammgast
***


Beiträge: 426
Registriert seit: Oct 2005

2010-2011
1997
kA

52134
Deutschland
Registerkartenumschaltung
Zitat:das sind alles schöne Lösungen, gefällt mir gut. Ich glaube aber, der Grund dafür, dass man nicht die Strings (selbstgewählten Titel) des Tabs (=Enum) anspringen kann ist der, dass das Risiko ungleich höher ist, einen Schreibfehler im String (Titel) zu machen! Dann findet auch VDBs Lösung nicht die richtige Seite! Dass ist hier im speziellen nicht besonders wichtig, weil nur wenige Strings verwendet werden. Generell gilt aber, dass man z.B. den nächsten State einer State Machine auch lieber mit Enums anspringt, die man schön als StrictTypeDef speichern kann. Eine Änderung/Erweiterung des Enums um zusätzliche States wird dann sofort überall wirksam. Wenn man das mit Strings machen würde (theoretisch und praktisch möglich), bestünde die Gefahr, dass man im String Schreibfehler macht (im Case oder in der Konstante), und schon funktioniert die Statemachine nicht mehr. Man verwendet den "State-String" vielleicht 25 Mal und macht einen Schreibfehler...den zu finden wird unter Umständen schwierig. Und dann bleibt man doch lieber generell bei Enums/numerischen Werten, da ist man auf der sicheren Seite...

Da gib ich dir völlig recht. Für sowas sollte es immer einen Default-case geben mit Assertion (z.B. MessageBox oder so) um auf den Fehler hin zu weisen. Meine Lösung setzt glaube ich auch den Error Out wenn der String nicht im Enum vorhanden ist.

Gruß

VDB
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.02.2007, 20:12
Beitrag #24

Mr.T Offline
LVF-SeniorMod


Beiträge: 1.007
Registriert seit: Jun 2005

2009
2005
kA

88400
Deutschland
Registerkartenumschaltung
ALSO ECHT DER HAMMER!

Das ist ja genau das, was wir brauchten! Danke VDB!

Dieser Hilfetext ist der Schlüssel...:

"Wenn Sie Standard 1 mit einer Enum verbinden, wird nach Untereinträgen gesucht, die mit dem Text der Enum übereinstimmen, und es wird der dazugehörige Zahlenwert ausgegeben."

Gruß und danke an alle und ich hoffe, alle könne mit dieser Lösung zukünftig was anfangen!

Mit einem freundlichen Wort und etwas Gewalt erreicht man viel mehr als nur mit einem freundlichen Wort. [...Marcus zu Lennier, B5]
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.02.2007, 00:24 (Dieser Beitrag wurde zuletzt bearbeitet: 14.02.2007 00:30 von Lucki.)
Beitrag #25

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

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Registerkartenumschaltung
Das VI von VDO regt mich zu einer kleinen Nachtübung an. Die Frage ist, ob es in umgekehrter Richtung möglich ist, aus einem Enum-Wert den aktuellen String bzw. alle Strings auszulesen, was mit dem Eigenschaftsknoten ja nicht geht. (Man braucht es vielleicht nie, aber immerhin ist es gut zu wissen daß es geht)
Mit dem VI werden alle Strings gelesen, und zwar der zum Wert 0 gehörende String zuerst:
[attachment=31598:Enum2String.png]
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.02.2007, 07:17
Beitrag #26

Achim Offline
*****
*****


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
Registerkartenumschaltung
@Lucki:
Meintest du dass?

   

Gruss
Achim

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
14.02.2007, 08:39
Beitrag #27

VDB Offline
LVF-Stammgast
***


Beiträge: 426
Registriert seit: Oct 2005

2010-2011
1997
kA

52134
Deutschland
Registerkartenumschaltung
Fast richtig...

Gruß

VDB

   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.02.2007, 09:23 (Dieser Beitrag wurde zuletzt bearbeitet: 14.02.2007 09:32 von Lucki.)
Beitrag #28

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

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Registerkartenumschaltung
' schrieb:Fast richtig...

Gruß

VDB
[attachment=31602:enum.PNG]
Ja, genau das. Das Board funktionierte aber zu mitternächtlicher Stunde nicht mehr richtig, erst ließ sich der Beitrag nicht hochladen, dann war er gleich zweimal da, wenn ich aber die Bilder des einen weglöschte, waren die im anderen mit weg. Denis hat jetzt den doppelten Eintrag gelöscht, und, wie bei meinen Bemühungen auch, die Bilder sind weg.
Das kleine VI beruht auf der obigen Funktion, liest aber alle Strings eines Enum aus. Der Trick dabei: Wenn man beim letzten Enum-Element mit der Funktion "+1" "höher" zählt, geht es nicht höher, sondern man kommt wieder zum Element 0. Das benutze ich, um in der while-Schleife abzubrechen, wenn alle Elemente in Strings konvertiert wurden. Oder gibt es da noch etwas Einfacheres?
   


Angehängte Datei(en)
Sonstige .vi  Enum2String.vi (Größe: 10,6 KB / Downloads: 190)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.02.2007, 09:30 (Dieser Beitrag wurde zuletzt bearbeitet: 14.02.2007 09:31 von Achim.)
Beitrag #29

Achim Offline
*****
*****


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
Registerkartenumschaltung
' schrieb:...wenn alle Elemente in Strings konvertiert wurden

Aber das liefert ein PropertyNode [Strings] doch schon...siehe Screenshot oben! Warum etwas programmieren, was LV schon automatisch zur Verfügung stellt? Für einzelne Strings (nämlich den gerade aktiven) ist VDBs Lösung optimal, aber alle anderen auch auslesen ist völlig unnötig!


A.

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.02.2007, 09:56 (Dieser Beitrag wurde zuletzt bearbeitet: 14.02.2007 10:01 von Lucki.)
Beitrag #30

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

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Registerkartenumschaltung
' schrieb:Aber das liefert ein PropertyNode [Strings] doch schon...siehe Screenshot oben! Warum etwas programmieren, was LV schon automatisch zur Verfügung stellt? Für einzelne Strings (nämlich den gerade aktiven) ist VDBs Lösung optimal, aber alle anderen auch auslesen ist völlig unnötig!
A.
Bin peinlich berührt, ja, Du hast recht. So kam es dazu: Eine Registerkarte stellt sich sich im Blockschaltbild als Enum dar. Erstellt man davon einen Eigenschaftsknoten, gibt es tatsächliche keine Eigenschaft "Strings[]". Deshalb habe ich geglaubt, es gibt diese Eigenschaft bei Enums generell nicht.
Naja, vielleicht ist das VI noch gut, alle Tab-Bezeichnungen auszulesen. (Zumindest solange Du nicht nachweist, daß es auch dafür etwas gibt).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Gehe zu: