3D Array - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: 3D Array (/Thread-3D-Array) |
3D Array - havetodo - 10.08.2009 11:44 okay, ich versuche mal zu folgen.... wenn ich also LV die Indizierung der Schleife überlasse und ein 3D Array reinschicke, bestimmt es selbst wie oft es die Schleife durchlaufen soll, richtig? Wie aber weiß denn LV nach welcher der drei Dimensionen es sich richten soll? Hier meine Fehlermeldung [attachment=20337][attachment=20338] 3D Array - SeBa - 10.08.2009 11:59 ' schrieb:Wie aber weiß denn LV nach welcher der drei Dimensionen es sich richten soll?Immer von Außen nach Innen. Also wenn ich z.B. ein Buch kaufe schaue ich zuerst wieviele Seiten es hat, dann zähle ich die Zeilen und als Letztes die Buchstaben pro Zeile. (Nee, mach ich nicht wirklich, eignet sich aber als Beispiel.) Willst du jetzt nur eine bestimmte Zeile aus deinem Buch, dann kann LV ja nicht wissen von welcher Seite die Zeile sein soll... daher wird bei einem 3D-Array mit der ersten Forschleife auf die Seite zugegriffen, mit der Forschleife in der Forschleife (also die Zweite) wird die Zeile ausgesucht, mit der Dritten Forschleife dann der Buchstabe. Zur Fehlermeldung: Die Methode Sheets.Add scheint ja den Fehler zu verursachen. Evtl solltest du schauen, was dort als Input/Output gebraucht wird. lässt du sie weg, funzt es. Gruß SeBa PS: Dass du Tabelle1 nicht mit Messwerten beschreibst ist so gewollt? (--> Schleifenindex +2) 3D Array - havetodo - 10.08.2009 13:32 Wenn ich mal eben mit meinem Problem stören darf ^_^ Ich hab jetzt rausgefunden, dass die Ansage von "Tabelle2" bei SHEETS.AFTER der Auslöser für die Fehlermeldung ist, ich weiß aber nicht warum. Das klappt jetzt zwar, aber die Ordnung meiner Blätter ins dahin. Hab ich das falsch geschrieben, oder warum erkennt LV das nicht korrekt? 3D Array - SeBa - 10.08.2009 13:46 Ich hab einfach mal versucht das in Excel VBA zu machen: Sheets.Add After:="Tabelle3" -> Fehler Warum? Excel erwartet hier ein Objekt. Einfügen nach Tabelle3: Sheets.Add After:=Worksheets("Tabelle3") -> kein Fehler Einfügen am Ende, wobei uns egal sein soll wo das Ende ist: Sheets.Add After:=Worksheets(Worksheets.Count) Also: :Dich bin ja schon einen Schritt weiter und lasse also LV soviele Tabellenblätter erstellen, wie du brauchst (unter der Voraussetzung, dass du Tabelle1 nicht benutzen willst !?!) Du siehst hier auch, dass ich dem Sheets.Add After:= nicht einen String übergebe, sondern die Referenz für das letzte vorhandene Tabellenblatt. Übrigens eignet sich sowas hervorragend um zu einem SubVI eingedampft zu werden (wegen Übersichtlichkeit und so) ... [attachment=20344] [attachment=20345] Gruß SeBa 3D Array - havetodo - 11.08.2009 11:52 SO, ich habs...... puhhh[attachment=20377] Danke! nun hab ich aber noch immer das ungelöste Problem, dass sich der Anwender später die einzelnen Seiten des Array anschauen will und ich ihm die Indexanzeige nicht erklären kann und will. Wie bastel ich mir einen Button mit dem er sich die jeweils gewünschte Seite des Array in die Anzeige bringt? 3D Array - SeBa - 11.08.2009 12:04 Grundsätzliches Problem... die Leute können nicht richtig zählen und fangen immer mit 1 an. In allen Programmen die ich bis jetzt geschrieben habe, nehme ich einfach eine Anzeige die mit 1 anfängt zu zählen (damit der User glücklich ist) und intern ziehe ich halt von der Anzeige 1 ab. In LV könntest du also ein Numeric Control nehmen, das bei 1 anfängt und in deinem BD einfach vom Wert 1 abziehen und damit die Arrayseite aussuchen. MfG SeBa 3D Array - Y-P - 11.08.2009 12:11 So z.B. [attachment=20378] Gruß Markus 3D Array - havetodo - 11.08.2009 13:33 Danke, aber ich steh noch auf dem Schlauch wie ich da umsetzen soll, wenn ich den Seiten die Nummern der Control zuordnen will. Wahrscheinlich sehe ich mal wieder den Wald vor lauter Bäumen nicht....... 3D Array - SeBa - 11.08.2009 14:14 Anderes Beispiel... so wie ich dachte: [attachment=20390] [attachment=20389] Gruß SeBa 3D Array - havetodo - 11.08.2009 14:26 Ja, genau ds meinte ich, prima! Dank dir, SeBa |