Comment enregistrer les chemins de dossiers sélectionnés par l'utilisateur pour un accès ultérieur aux donnéesComment puis-je implémenter l'enregistrement du chemin de dossier défini par l'utilisateur afin que le script puisse lire directement les données de ce chemin de dossier par défaut lors de la prochaine exécution ?
Je souhaite lire des données à partir d'un dossier, mais je ne peux pas prédire où l'utilisateur définira ce dossier. Par conséquent, lors de la première exécution, je dois pouvoir enregistrer le chemin du dossier défini par l'utilisateur. Je sais que l'utilisation de « pick file » permet à l'utilisateur de sélectionner des données, mais je ne sais pas comment stocker cet enregistrement afin qu'il puisse être lu directement à partir de ce dossier lorsque ce script sera exécuté à nouveau à l'avenir.
Accès aux donnéesRé: Comment enregistrer les chemins de dossiers sélectionnés par l'utilisateur pour un accès ultérieur aux donnéesRegardez la fonction Get Path().
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
path = dt << Get Path();
Show( path );
Ré: Comment enregistrer les chemins de dossiers sélectionnés par l'utilisateur pour un accès ultérieur aux donnéesJe dois pouvoir enregistrer ce chemin, afin que l'utilisateur n'ait pas à sélectionner la table de données à chaque fois.
Le simple fait d'obtenir le chemin ne fait que le récupérer à ce moment-là, mais ne peut pas lire automatiquement le chemin enregistré lors de la prochaine exécution du script.
Ré: Comment enregistrer les chemins de dossiers sélectionnés par l'utilisateur pour un accès ultérieur aux donnéesLe moyen le plus simple de procéder consiste à enregistrer le chemin d'accès à un fichier texte à un emplacement donné sur l'ordinateur.
Enregistrer le fichier texte()
Si vous ajoutez dans votre script quelque chose comme
path = try(load text file(":c/users/jim/myfile.txt"),"");
Si une exécution précédente du script a enregistré un chemin vers l'emplacement du fichier texte, la variable Path sera renseignée.
Ré: Comment enregistrer les chemins de dossiers sélectionnés par l'utilisateur pour un accès ultérieur aux donnéesVotre intention fait probablement référence à l'enregistrement du chemin que l'utilisateur souhaite pour ":c/users/jim/myfile.txt". Mais le même problème se pose : comment puis-je confirmer que l'utilisateur a actuellement ce fichier txt à ce chemin ? Si l'emplacement de ce fichier est toujours inconnu, l'utilisateur devra spécifier le chemin de myfile.txt. Comment puis-je lire l'emplacement de myfile.txt la prochaine fois qu'il sera ouvert ?
Ré: Comment enregistrer les chemins de dossiers sélectionnés par l'utilisateur pour un accès ultérieur aux donnéesVous pouvez utiliser l'une des variables de chemin JMP pour pointer vers un emplacement pour stocker et récupérer des données. D'après votre description de ce que vous voulez faire, il semble que la fonctionnalité que vous souhaitez ne soit pas une fonction critique, donc placer le fichier dans un dossier dans le chemin TEMP pourrait être un moyen de gérer cela. Si au début de votre script, vous avez quelque chose comme
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" )
);
Vous pourrez créer un emplacement pour stocker monfichier.txt s'il n'existe pas, et si le fichier a été placé à cet endroit lors d'une exécution précédente, il peut alors être récupéré pour être utilisé dans l'exécution actuelle du script.
Vous souhaiterez peut-être explorer d’autres variables de chemin plutôt que TEMP pour voir quel emplacement convient le mieux à vos besoins.
Regarder dans
Aide=>Aide en ligne JMP
pour la documentation sur les variables de chemin
et dans
Aide=>Index des scripts
pour des exemples de IsDirectory() et IsFile()