Comment utiliser 'include' pour écrire du code compact?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Salut,
J'ouvre plusieurs fois un certain type de fichier, qui nécessite des paramètres d'importation spéciaux pour s'ouvrir correctement.
J'aimerais pouvoir écrire ces paramètres d'importation sous une forme compacte et courte. Par exemple:
dt = open ("fileref", paramètres d'importation ("string_that_parses_correctly");
où "string_that_parses_correctly" est la chaîne entière, qui contient les conditions des paramètres. Dans mon cas j'utilise:
"string_that_parses_correctly" =
"Fin de ligne ( CRLF , CR , LF ) ,
Fin de champ ( Languette ) ,
Strip Strip ( 1 ) ,
Utiliser l'apostrophe comme guillemet ( 0 ) ,
Analyser le fichier entier ( 1 ) ,
Traiter les colonnes vides comme numériques ( 0 ) ,
Étiquettes ( 1 ) ,
Noms de colonne ( 1 ) ,
Les données commencent ( 2 ) ,
Lignes à lire ( Tout ) ,
Règle de l'année ( "20xx" ) "
J'ai capturé ces paramètres à partir du script généré en ouvrant l'un de ces fichiers.
Ainsi, existe-t-il un moyen de définir une chaîne, par exemple en tant que variable globale, toujours définie, de sorte que je puisse l'utiliser lors de l'ouverture du fichier comme indiqué.
J'espère que ça a du sens.
Cordialement
Poul Ravn Sørensen
Re: Comment utiliser 'include' pour écrire du code compact?Il vous manque des guillemets doubles autour de la référence du fichier.
Votre commande openxls ne fait rien. Vous devez y ajouter OPEN.
L'un des avantages de JSL est son interactivité. Lorsque vous créez la chaîne, mettez-la en surbrillance et cliquez sur Exécuter. Consultez la fenêtre du journal et voyez ce que vous avez créé. Continuez à itérer jusqu'à ce que vous obteniez ce que vous voulez.
C'est peut-être ce que vous essayez de faire:
xls_fileid = "\\ nom_serveur \ nomdossier \ nom_fichier.xls" ;
xls_settings = "\ [
Importer les configurations(
Fin de ligne (crlf, cr, lf),
fin de champ (onglet),
guillemets à bandes (1),
utilisez apostrophe comme guillemet (0),
scanner tout le fichier (1),
traiter les colonnes vides comme numérique (0),
étiquettes (1),
les noms de colonne commencent (1),
début des données (2),
lignes à lire (toutes),
règle d'année ("20xx")
)] \ " ;
openxls = evalinsert ( "\ [open (" ^ xls_fileid ^ ", ^ xls_settings ^)] \" )
eval ( analyser ( openxls )) ;
Re: Comment utiliser 'include' pour écrire du code compact?Bonjour à nouveau, voici mon code JMPstart.jsl, qui définit les xls_settings (pourquoi je ne peux parfois pas coller du texte dans cette fenêtre que je ne connais pas),:

Voici mes tentatives pour biuld la chaîne et ouvre le fichier Excel réel:
xls_fileid = \\ nom_serveur \ nom_fichier \ nom_fichier.xls ;
dlm = ",";
dqm = "\ ["] \ ";
openxls = xls_fileid || dqm || dlm || xls_settings;
et alors:
eval (parse (openxls));
Mais les citations continuent de causer des erreurs.
Cordialement Poul
Re: Comment utiliser 'include' pour écrire du code compact?Vous pouvez soit utiliser \ [... ] \ pour mettre des guillemets doubles dans une chaîne.
Ou leur échapper avec \! ". Voici quelques exemples.
impression ( "Bonjour le monde" ) ;
// Les instructions suivantes donnent les mêmes résultats:
impression ( "\!"Bonjour le monde\!"" ) ;
impression ( "\["Bonjour le monde"]\" ) ;
À partir du journal:
"Bonjour le monde"
"\!"Bonjour le monde\!""
"\!"Bonjour le monde\!""
Re: Comment utiliser 'include' pour écrire du code compact?Salut, je réponds à cela moi-même.
Mes problèmes résument le problème de la combinaison de chaînes dans un morceau analysable de jsl.
J'ai défini une chaîne contenant la chaîne, qui définit les paramètres spéciaux pour l'importation xls (csv). Ça commence: Importation Réglages(. . . )
Ensuite, je veux assigner dynamiquement le fichier, qui devrait être ouvert, comme:
X ls_fileid = " \\ serveur \ dossier \ nom du fichier ";
Enfin, je veux combiner ces deux comme ceci:
openxls = xls_fileid || xls_settings;
eval (parse (openxls));
Mais en quelque sorte, mélangez les guillemets doubles.
Quelqu'un a un exemple de la façon dont cela est fait?
Cordialement
Poul