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 

Array in Excel mit Überschrift



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!

04.07.2011, 14:32
Beitrag #1

win98 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 64
Registriert seit: Jun 2011

2010 SP1
2010
DE



Array in Excel mit Überschrift
Hallo,

ich habe ein 16 Arrays mit je 32 Werten (siehe Bild). Die habe ich wie oben im Bild gezeigt in Excel eingelesen (16*32 pro Zeile). DIe Überschrift habe ich in der rosa Box beschrieben (HSL1.1, HSL1.2 usw.). Das erscheint immer statisch in der ersten Zeile.

Jetzt hab ich aber in diesem Fall nur 4 Arrays aktiv. Im Endeffekt habe ich dann auch nur 4*32 Werte pro Zeile gespeichert. Die Überschrift ist aber trotzdem 16*32 lang und diese passt jetzt natürlich nicht zu den Werten.

Am liebsten wärs mir, wenn ich die Überschriften nur zu jedem Array habe.
Wenn ein Array aktiv ist, dann sind das immer alle 32 Werte. Das erste Array soll mit HSL1 beginnen, das zweite HSL2 usw.
Jeder Arraywert kriegt dann noch eine .1, .2 ... .32 dazu.
Wär cool wenn das ginge, ich weiß nur nicht wie.

Alternativ würde ich das auch so nehmen, dass ich die inaktiven Arrays mit 0 oder "" speicher, damit die Überschriften stimmen. Ist zwar dann sehr viel unnötige Daten, aber es ist wenigsten richtig.

Hoff ihr könnt mir wieder mal weiterhelfen Wink

Gruß win98
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.07.2011, 14:51
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Array in Excel mit Überschrift
Hallo win,

du zeigst uns weder irgendwelche Bilder noch irgendwelchen Code in Form von VIs.

Wie können wir dir sonst noch helfen?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.07.2011, 07:37 (Dieser Beitrag wurde zuletzt bearbeitet: 05.07.2011 07:38 von win98.)
Beitrag #3

win98 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 64
Registriert seit: Jun 2011

2010 SP1
2010
DE



RE: Array in Excel mit Überschrift
ah ja klar. das kommt davon wenn man den Anhang vergisst Big Grin
sorry
   

edit: vielleicht noch wichtig: Die While Schleife geht um das "Write File Task"
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.07.2011, 08:52
Beitrag #4

Der_Elch Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 93
Registriert seit: Jan 2010

2014
2009
DE

4xxx
Oesterreich
RE: Array in Excel mit Überschrift
Hallo win98,
Was mich an dem Foto wundert, bist du dir sicher, das es ein 2D Array ist? So wie der Screenshot aussieht, sind das 1D Arrays die nebeneinander auf dem Frontpanel liegen?

Die Beschriftung mit HSL1.1 ... HSL 16.32 geht relativ angenehm mit 2 for-Schleifen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.07.2011, 08:53 (Dieser Beitrag wurde zuletzt bearbeitet: 05.07.2011 09:18 von Takuro.)
Beitrag #5

Takuro Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 122
Registriert seit: May 2011

2010 SP1
2011
DE

31177
Deutschland
RE: Array in Excel mit Überschrift
Hey,

ich hoffe ich versteh das Problem richtig. Mein Vorschlag wäre folgender:

Du nimmst eine Fall unterscheidung. Ich glaub hier wird das immer "State-Maschine" genannt. Du fragst ab, welche Werte abgespeichert werden, bzw das muss ja in deinem Programm eh vorhanden sein, damit du weißt welche der Spalten du nach Excel schickst.

Sagen wir, du schickst Spalte 0,1,3 und 5 nach Excel. Nun rufst du die entsprechenden States auf und in jedem State addierst du zu einem String die entsprechende Überschrift. Am Ende der Abfrage schreibst du dann dieses String genauso wie du es jetzt tust in die Datei.

Hmm, ich hoffe ist klar was ich meine.

Ich hab noch eine Frage am Rande an dich: Warum nutzt du in der WriteFileTask-Schleife den Rückkopplungsknoten für den Boolean? mMn müsste willst du doch nur noch nach 10 Interationen abbrechen. Da würde es auch reichen, direkt in die Abbruchbedingung vom größergleich zu gehen. Wenn da nen tieferer Sinn hintersteckt, bitte aufklären.Smile

Grüße,

Takuro

Neu, aber motiviert. Nehme immer gern Verbesserungsvorschläge an!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.07.2011, 09:29
Beitrag #6

win98 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 64
Registriert seit: Jun 2011

2010 SP1
2010
DE



RE: Array in Excel mit Überschrift
ja stimmt das mit dem 2d array ist blöd Big Grin

da kannste ich das mit den schleifen und dem "automatisch indizieren" nicht. Deswegen hab ich das 1d array als 2d array indiziert und in der schleifen nochmal automatisch indiziert. ganz nach dem motto dont change a running system Big Grin
   
wie meinst du über eine for-schleife? die zahlen hinzuschreiben ist mit ner schleife kein problem das stimmt. aber wie krieg ich raus welches array gerade aktiv ist oder nicht?

in VB würde ich sowas sagen wie "if (Textbox1.Enable=0) then return "HSL1.1;HSL1.2...."

aber wie in LV
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
05.07.2011, 09:33 (Dieser Beitrag wurde zuletzt bearbeitet: 05.07.2011 09:35 von Takuro.)
Beitrag #7

Takuro Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 122
Registriert seit: May 2011

2010 SP1
2011
DE

31177
Deutschland
RE: Array in Excel mit Überschrift

Akzeptierte Lösung

(05.07.2011 09:29 )win98 schrieb:  aber wie krieg ich raus welches array gerade aktiv ist oder nicht?

in VB würde ich sowas sagen wie "if (Textbox1.Enable=0) then return "HSL1.1;HSL1.2...."

aber wie in LV

Dann hast du wohl scheinbar keine Abfrage bisher gebaut, um deine Daten selektiv nach Excel zu schreiben.

Du kannst doch einfach über eine Schleife abfragen, ob ein Array in keinem Index einen Wert enthält. Wenn das der Fall ist, dann ist er leer und wird nicht geschrieben. Ist ein Wert irgendwo drin, dann wird er rausgeschrieben. Bzw wenn du die Auswahl durch irgendwelche Controllboxen beschränkst, dann kannst du diese ja auch abfragen.

Und dann eben in die Case Schleife springen.

Neu, aber motiviert. Nehme immer gern Verbesserungsvorschläge an!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.07.2011, 09:35 (Dieser Beitrag wurde zuletzt bearbeitet: 05.07.2011 09:50 von win98.)
Beitrag #8

win98 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 64
Registriert seit: Jun 2011

2010 SP1
2010
DE



RE: Array in Excel mit Überschrift
(05.07.2011 08:53 )Takuro schrieb:  Hey,

ich hoffe ich versteh das Problem richtig. Mein Vorschlag wäre folgender:

Du nimmst eine Fall unterscheidung. Ich glaub hier wird das immer "State-Maschine" genannt. Du fragst ab, welche Werte abgespeichert werden, bzw das muss ja in deinem Programm eh vorhanden sein, damit du weißt welche der Spalten du nach Excel schickst.

Sagen wir, du schickst Spalte 0,1,3 und 5 nach Excel. Nun rufst du die entsprechenden States auf und in jedem State addierst du zu einem String die entsprechende Überschrift. Am Ende der Abfrage schreibst du dann dieses String genauso wie du es jetzt tust in die Datei.

Hmm, ich hoffe ist klar was ich meine.

Ich hab noch eine Frage am Rande an dich: Warum nutzt du in der WriteFileTask-Schleife den Rückkopplungsknoten für den Boolean? mMn müsste willst du doch nur noch nach 10 Interationen abbrechen. Da würde es auch reichen, direkt in die Abbruchbedingung vom größergleich zu gehen. Wenn da nen tieferer Sinn hintersteckt, bitte aufklären.Smile

Grüße,

Takuro

das könnte ich machen, wenn ich irgendwoher wüsste welche arrays aktiv und inaktiv sind. ich glaube ich kann nicht unterscheiden ob ich array 1,3,5,9 hab oder 2,6,8,10

hier nochmal die verkettung des arrays
   

edit: ich bin zu langsam mit dem posten, da habt ihr schon wieder ne lösung Big Grin muss erst ma lesen und verstehn^^
(05.07.2011 09:33 )Takuro schrieb:  Dann hast du wohl scheinbar keine Abfrage bisher gebaut, um deine Daten selektiv nach Excel zu schreiben.
Ne, die sind zusammen auf ein Array geklatscht und in einer Excelzeile hintereinander gespeichert.

(05.07.2011 09:33 )Takuro schrieb:  Du kannst doch einfach über eine Schleife abfragen, ob ein Array in keinem Index einen Wert enthält. Wenn das der Fall ist, dann ist er leer und wird nicht geschrieben. Ist ein Wert irgendwo drin, dann wird er rausgeschrieben. Bzw wenn du die Auswahl durch irgendwelche Controllboxen beschränkst, dann kannst du diese ja auch abfragen.

Und dann eben in die Case Schleife springen.
Kling gut, und bringt mich auf eine Idee (da weiß ich wie das geht, kA wie ich rauskrieg ob n array kein index hat Tongue^^). Ich kann doch von den 16 Arrays die Größe bestimmen und wenn die größer 0 ist schreib ich einen String ansonsten nich, die strings für ich dann zusammen als überschrift, wo jetzt die pinke box mit HSL... ist.
Und das mach ich am besten mit "Lokale Varbiable erstellen" und "in Lesen ändern".

so würds doch gehen oder?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.07.2011, 09:54
Beitrag #9

Der_Elch Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 93
Registriert seit: Jan 2010

2014
2009
DE

4xxx
Oesterreich
RE: Array in Excel mit Überschrift
Da sollte doch in jedem Array Real 1 - Real 4 dasselbe drinstehen? Klick mal im Bedienfeld auf Real 1 *rechtsklick* Sichtbarkeit - Indizierung aktivieren und schau durch.

--> Dadurch hast du eigentlich nur 4* 1D Arrays (Real, Int, Bool, Long). Die in 4 * 32 Teile geschrieben werden.
Somit kannst du mit Array Größe die jeweilige Länge bestimmen. Bei 3*32=96 weißt du das es nur 3 Spalten sind.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.07.2011, 10:00
Beitrag #10

win98 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 64
Registriert seit: Jun 2011

2010 SP1
2010
DE



RE: Array in Excel mit Überschrift
ja Real 1 - 4 ist das selbe, die haben nur die indizirung 0 / 32 / 64 / 96 um das besser anzuzeigen. hab ich mir auch zuerst gedacht, dass das reicht, aber es könnte ja sein das Real1 inaktiv ist und Real4 nicht

---- (Gedankenstriche)

soeben ist mir eingefallen dass das gar nicht möglich ist Big Grin stimmt dann mach ich das so Smile

dann muss ich nur 4 arraygrößen bestimmen mit 4 case und 4 strings zusammenführen. klingt easy Smile
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Wann schließe ich (ActiveX, Excel) Referenzen? + wie Cluster to Array? TpunktN 9 9.907 28.01.2020 14:14
Letzter Beitrag: TpunktN
  Überschrift in Array einfügen stromflo 23 19.268 19.04.2010 14:45
Letzter Beitrag: SeBa
  Frontpanel Überschrift abrissbirne 4 4.440 28.10.2007 17:37
Letzter Beitrag: jg
  Array erstellen, Excel (Weitergeleitete und leicht geänderte PN) Y-P 6 5.499 23.03.2007 12:37
Letzter Beitrag: eg

Gehe zu: