Ich erstelle eine JMP-App und muss in der Lage sein, die Anzahl der von mir geöffneten Tabellen zurückzugeben und durch mehrere Tabellen zu navigieren, damit der Benutzer eine Tabelle auswählen kann, mit der er arbeiten möchte. Angenommen, Sie haben drei Tische geöffnet und erstellen im App Builder einen Drehpfeil (Pfeile nach oben/unten). Wenn Sie nach oben klicken, wird die nächste Tabelle oben zur aktuellen Datentabelle, und wenn Sie nach unten klicken, wird die Tabelle unten zur aktuellen Datentabelle.
Index 1 – Tabelle A
*nach oben klicken*
Index 2 – Tabelle B
*nach oben klicken*
Index 3 – Tabelle C
*nach oben klicken*
Index 2 – Tabelle B.
Ich verwende diesen Code, um Tabellen zu indizieren und herauszufinden, wie viele Tabellen geöffnet sind. Die Fehlermeldung, die ich erhalte, ist, dass Data Table () nichts verstehen kann, was keine konstante Ganzzahl ist. Jedes Mal, wenn ich eine Variable einfüge (zu Inkrementierungszwecken), erhalte ich zurück, dass die Datentabelle das Innere der Klammern nicht identifizieren kann.
Die while-Anweisung funktioniert folgendermaßen: Wenn Datentabelle (1) auf Tabelle A/B/C verweisen kann, gibt sie „Tabelle A/B/C“ zurück, und wenn ich Type() darauf aufrufe, gibt sie „Tabelle“ zurück. Wenn also die while-Schleife auf Data Table(4) trifft, gibt es keine Tabelle, auf die ein Verweis zurückgegeben werden kann, was bedeutet, dass es keinen Typ „Table“ geben wird, der die while-Schleife beendet.
While( (Type( Data Table( i++ ) ) == "Table"),
numberOfTables++,
);
Print("Anzahl der Tische");
Das Ändern von „i“ kann für die zuvor erwähnten Pfeilschaltflächen verwendet werden, und „numberOfTables“ gibt mir einen Maximalwert, der für „i“ nicht überschritten werden darf.
Vielen Dank für die Hilfe im Voraus.
Die Funktion N Table() gibt die Anzahl der geöffneten Datentabellen zurück. Sie können ihre Namen dann durch Durchlaufen ermitteln
for(i=1,i<=N Table(),i++,name=data table(i)<