06.12.2006, 09:26
Beitrag #1
|
|
|
06.12.2006, 10:14
(Dieser Beitrag wurde zuletzt bearbeitet: 06.12.2006 10:15 von A.Berndsen.)
Beitrag #2
|
A.Berndsen
LVF-Team
Beiträge: 2.437
Registriert seit: Feb 2005
8.2.1 - 2011
2004
DE
724xx
Deutschland
|
Elemente eines Array of Clusters
Hallo Herbert,
ich hab mir Dein Programm jetzt nicht im Detail angesehen.
Deine Frage hab ich so verstanden, daß Du in dem Array of Clusters einen bestimmten String ändern möchtest.
Ich hab Dir dazu ein kleines Beispiel erstellt, wie es in einem eindimensionalen Array funktioniert.
Für ein dreidimensionales Array, wie in Deinem Fall, kommen eben noch zwei Angaben dazu, um das gewünschte Element im Array zu wählen.
Ich hoffe ich hab Deine Frage richtig verstanden.
Grüße
Andreas
Array_von_Cluster_aendern.vi (Größe: 10,79 KB / Downloads: 216)
|
|
|
06.12.2006, 10:41
Beitrag #3
|
Herbert
LVF-Gelegenheitsschreiber
Beiträge: 53
Registriert seit: Oct 2006
8.2
2006
kA
59494
Deutschland
|
Elemente eines Array of Clusters
Hi, danke erstmal für die schnelle Antwort.
Allerdings ist das nicht, was ich gemeint habe!
Ich habe aber in dem Array of cluster kein Indicator, sondern ein Control! Also ich versuche es nochmal besser zu erklären (hab mich wahrscheinlich nicht gut ausgedrückt )
Also, ich nutze das Array of Cluster mit meinem String Control und der boolschen LED, um bestimmten Ein-Ausgängen Namen zur Übersicht zu geben. Nun möchte ich gerne, wenn ich alle Namen vergeben habe, diese in einer *.txt datei speichern. Dieses funktioniert auch schon. Jetzt möchte ich dieses Projekt wieder laden. Nun kann ich die Namen in das Listenfeld bereits laden.
Allerdings stehen die Namen nun noch nicht in dem Cluster links neben den Listboxen! Und genau das ist mein Problem! Ich habe also ein String Control und möchte nun so zu sagen diesen mit meinem zugehörigen Namen beschreiben!
Wie macht man sowas!??!
|
|
|
06.12.2006, 11:01
Beitrag #4
|
VDB
LVF-Stammgast
Beiträge: 426
Registriert seit: Oct 2005
2010-2011
1997
kA
52134
Deutschland
|
Elemente eines Array of Clusters
Ich glaube Du meinst das hier:
Gruß,
VDB
|
|
|
06.12.2006, 11:20
Beitrag #5
|
Herbert
LVF-Gelegenheitsschreiber
Beiträge: 53
Registriert seit: Oct 2006
8.2
2006
kA
59494
Deutschland
|
Elemente eines Array of Clusters
ja, das sieht schon ganz gut aus! Aber kannst du mir wohl mal ein Beispiel posten, in dem die Namen des Array of cluster mit insgesamt 24 Elementen beschrieben wird?? Bei mir beschreibt der nämlich dann alle Elemente mit dem gleichen Namen! Die Namen sind allerdings nicht immer die gleichen !
Danke Herbert
|
|
|
06.12.2006, 11:23
Beitrag #6
|
|
|
06.12.2006, 13:47
Beitrag #8
|
IchSelbst
LVF-Guru
Beiträge: 3.692
Registriert seit: Feb 2005
11, 14, 15, 17, 18
-
DE
97437
Deutschland
|
Elemente eines Array of Clusters
' schrieb:Ich möchte sie aber auch noch in das Array of Cluster links neben den Multicolumn Listbox übergeben!
Ja. Das verstehe ich.
Zitat:Und genau das ist mein Problem!
Das wird es auch bleiben - ein Problem.
Und zwar aus folgendem Grund:
Gesetzt der Fall, du hast in Modul Eins allen 24 Eingängen Pseudonamen zugewiesen. Weiterhin gelte: In einem (egal welchem) Listenfeld hast du aber immer nur Modul Eins Eingang 12 - Pseudoname MyE - verwendet (und wenn 12 Stück). Wenn du jetzt nur die Listenfelder speicherst (und nicht die Eingänge), dann speicherst du ja auch nur "Modul Eins - MyE" - nicht aber noch die anderen 23 Pseudonamen ab. Wenn du diese (Listenfeld!)-Datei jetzt lädst, kannst du auch nur den Pseudonamen MyE irgendwo an ein Modul vergeben - die anderen 23 weißt du nämlich nicht mehr. Ein weiteres Problem: Pseudoname MyE - welchem physikalischen Eingang ist der denn zuzuweisen? E-was?
Ich würde das ja so machen:
Abgespeichert werden die Pseudonamen in den Modul-Listen bzw. die gesamten Modullisten. (Im übrigen würde ich da INI-Files nahmen). Bei den Listenfeldern wird nicht der Klartext - z.B. "Modul Eins; MyE" - abgespeichert, sondern ein Index. Also: "1; 12". "1" bedeutet: "Verwende Modul Eins". "12" bedeutet: "Verwende den physikalischen Eingang Nr. 12". Diese beiden Zahlen 1 und 12 werden als Index benutzt, sodass dann hinterher im Listenfeld "Modul Eins; MyE" steht. Ich würde also nicht das Listenfeld speichern und laden und daraus dann die Modul-Array belegen, sondern eben umgekehrt.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
|
|
|
06.12.2006, 13:57
Beitrag #9
|
IchSelbst
LVF-Guru
Beiträge: 3.692
Registriert seit: Feb 2005
11, 14, 15, 17, 18
-
DE
97437
Deutschland
|
Elemente eines Array of Clusters
Und außerdem, Herbert, muss ich dir noch einen Tipp geben.
Die fünf FOR-Schleifen im Event Speichern schreien gerade zu nach einem Unterprogramm. Ein Unterprogramm hat einen gewaltigen Vorteil: Wenn das Unterprogramm für ein Modul funktioniert, wird es auch für alle weiteren Module funktionieren. So wie du es jetzt hast, besteht folgendes Problem: Wenn du dich in der For-Schleife für "Modul Drei" vertippst, wirst du u.U. diesen Fehler niemals feststellen - weil du z.B. nur mit Modul Eins arbeitest bzw. testest.
Die anderen Gründe wie Übersichtlichkeit, Platz/Zeit-Ersparnis etc. sind eher nebensächlich - was nützt mir ein übersichtliches Programm, wenn's nicht funktioniert.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
|
|
|
06.12.2006, 17:26
|
Herbert
LVF-Gelegenheitsschreiber
Beiträge: 53
Registriert seit: Oct 2006
8.2
2006
kA
59494
Deutschland
|
Elemente eines Array of Clusters
' schrieb:Ja. Das verstehe ich.
Das wird es auch bleiben - ein Problem.
Und zwar aus folgendem Grund:
Gesetzt der Fall, du hast in Modul Eins allen 24 Eingängen Pseudonamen zugewiesen. Weiterhin gelte: In einem (egal welchem) Listenfeld hast du aber immer nur Modul Eins Eingang 12 - Pseudoname MyE - verwendet (und wenn 12 Stück). Wenn du jetzt nur die Listenfelder speicherst (und nicht die Eingänge), dann speicherst du ja auch nur "Modul Eins - MyE" - nicht aber noch die anderen 23 Pseudonamen ab. Wenn du diese (Listenfeld!)-Datei jetzt lädst, kannst du auch nur den Pseudonamen MyE irgendwo an ein Modul vergeben - die anderen 23 weißt du nämlich nicht mehr. Ein weiteres Problem: Pseudoname MyE - welchem physikalischen Eingang ist der denn zuzuweisen? E-was?
Ich würde das ja so machen:
Abgespeichert werden die Pseudonamen in den Modul-Listen bzw. die gesamten Modullisten. (Im übrigen würde ich da INI-Files nahmen). Bei den Listenfeldern wird nicht der Klartext - z.B. "Modul Eins; MyE" - abgespeichert, sondern ein Index. Also: "1; 12". "1" bedeutet: "Verwende Modul Eins". "12" bedeutet: "Verwende den physikalischen Eingang Nr. 12". Diese beiden Zahlen 1 und 12 werden als Index benutzt, sodass dann hinterher im Listenfeld "Modul Eins; MyE" steht. Ich würde also nicht das Listenfeld speichern und laden und daraus dann die Modul-Array belegen, sondern eben umgekehrt.
Kannst du mir das wohl mal noch ein bischen erklären, oder noch besser ein kleines beispielprogramm dazu geben ?? Danke!
' schrieb:Und außerdem, Herbert, muss ich dir noch einen Tipp geben.
Die fünf FOR-Schleifen im Event Speichern schreien gerade zu nach einem Unterprogramm. Ein Unterprogramm hat einen gewaltigen Vorteil: Wenn das Unterprogramm für ein Modul funktioniert, wird es auch für alle weiteren Module funktionieren. So wie du es jetzt hast, besteht folgendes Problem: Wenn du dich in der For-Schleife für "Modul Drei" vertippst, wirst du u.U. diesen Fehler niemals feststellen - weil du z.B. nur mit Modul Eins arbeitest bzw. testest.
Die anderen Gründe wie Übersichtlichkeit, Platz/Zeit-Ersparnis etc. sind eher nebensächlich - was nützt mir ein übersichtliches Programm, wenn's nicht funktioniert.
Es geht mir erst mal darum, dass das Programm mal halbwegs läuft und nicht um solche "Schönheitsfehler"!
Aber du hast schon recht !!
|
|
|
| |