So zeichnen Sie vom Benutzer ausgewählte Ordnerpfade für den späteren Datenzugriff aufWie kann ich das Speichern des benutzerdefinierten Ordnerpfades umsetzen, sodass das Skript beim nächsten Durchlauf die Daten direkt aus diesem Standardordnerpfad auslesen kann?
Ich möchte Daten aus einem Ordner lesen, kann aber nicht vorhersagen, wo der Benutzer diesen Ordner ablegen wird. Daher muss ich beim ersten Durchlauf den benutzerdefinierten Ordnerpfad aufzeichnen können. Ich weiß, dass der Benutzer mit „Datei auswählen“ Daten auswählen kann, weiß aber nicht, wie ich diesen Datensatz speichern kann, damit er direkt aus diesem Ordner gelesen werden kann, wenn dieses Skript in Zukunft erneut ausgeführt wird.
DatenzugriffBetreff: So zeichnen Sie vom Benutzer ausgewählte Ordnerpfade für den späteren Datenzugriff aufSehen Sie sich die Funktion Get Path() an.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
path = dt << Get Path();
Show( path );
Betreff: So zeichnen Sie vom Benutzer ausgewählte Ordnerpfade für den späteren Datenzugriff aufIch muss diesen Pfad aufzeichnen können, damit der Benutzer die Datentabelle nicht jedes Mal auswählen muss.
Durch das einfache Abrufen des Pfads wird dieser nur in diesem Moment abgerufen, der aufgezeichnete Pfad kann jedoch bei der nächsten Ausführung des Skripts nicht automatisch gelesen werden.
Betreff: So zeichnen Sie vom Benutzer ausgewählte Ordnerpfade für den späteren Datenzugriff aufAm einfachsten geht das, indem Sie den Pfad zu einer Textdatei an einem bestimmten Ort auf dem Computer speichern. Verwenden Sie
Textdatei speichern()
Wenn Sie Ihrem Skript etwas hinzufügen wie
path = try(load text file(":c/users/jim/myfile.txt"),"");
Wenn bei einer vorherigen Ausführung des Skripts ein Pfad zum Speicherort der Textdatei gespeichert wurde, wird die Pfadvariable aufgefüllt.
Betreff: So zeichnen Sie vom Benutzer ausgewählte Ordnerpfade für den späteren Datenzugriff aufSie meinen wahrscheinlich das Speichern des vom Benutzer gewünschten Pfads unter „:c/users/jim/myfile.txt“. Aber es stellt sich das gleiche Problem: Wie kann ich bestätigen, dass der Benutzer diese txt-Datei derzeit unter diesem Pfad hat? Wenn der Speicherort dieser Datei noch unbekannt ist, muss der Benutzer den Pfad für myfile.txt angeben. Wie kann ich den Speicherort von myfile.txt lesen, wenn die Datei das nächste Mal geöffnet wird?
Betreff: So zeichnen Sie vom Benutzer ausgewählte Ordnerpfade für den späteren Datenzugriff aufSie können eine der JMP-Pfadvariablen verwenden, um auf einen Speicherort zum Speichern und Abrufen von Daten zu verweisen. Aus Ihrer Beschreibung dessen, was Sie tun möchten, klingt es so, als ob die gewünschte Funktionalität keine kritische Funktion ist. Daher könnte das Platzieren der Datei in einem Ordner im TEMP-Pfad eine Möglichkeit sein, dies zu handhaben. Wenn Sie am Anfang Ihres Skripts etwas wie
Names Default To Here( 1 );
If( Is Directory( "$TEMP" || "/myfolder" ) == 0,
rc = Create Directory( "$TEMP" || "/myFolder" )
);
If( Is File( "$TEMP" || "/myFolder/myfile.txt" ) == 1,
thePath = Load Text File( "$TEMP" || "/myFolder/myfile.txt" )
);
Sie können einen Ort zum Speichern von myfile.txt erstellen, falls dieser noch nicht vorhanden ist. Wenn die Datei bei einem vorherigen Lauf dort abgelegt wurde, kann sie zur Verwendung beim aktuellen Ausführen des Skripts abgerufen werden.
Möglicherweise möchten Sie anstelle von TEMP auch andere Pfadvariablen ausprobieren, um zu sehen, welcher Speicherort für Ihre Anforderungen am besten geeignet ist.
Blick in
Hilfe=>JMP Online-Hilfe
für die Dokumentation zu den Pfadvariablen
und in
Hilfe=>Skripting-Index
für Beispiele von IsDirectory() und IsFile()