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]
' 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)
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?
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
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?
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
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.......
Ja, genau ds meinte ich, prima!
Dank dir, SeBa