Bonjour,
Je cherche à appeler un programme à partir d'un programme en TI Basic. Le problème est que le programme que je veux appeler demande un nombre variable d'argument, nombre que je ne peux pas connaitre à l'avance. De plus, ces arguments peuvent etre soit des chaines de caractères, soit des expressions.
Je cherche donc à savoir comment envoyer en argument à un programme une variable contenant arg1,arg2,arg3,...argN. J'ai d'abord essayer de faire monprgm(expr(arg1,arg2,arg3)), mais j'ai un Syntax Error (ce qui est logique puisque mon expression contient des virgules...). J'en déduis qu'il faut que :
1) j'analyse ma chaine de type arg1,arg2,arg3,...argN : je stocke chaque argument dans une liste et dans une deuxième liste je stocke si l'argument est une expression ou une chaine de caractère
2) je regarde dans la deuxième liste si l'argument N est une expression, si oui j'envoie expr(argN) sinon argN tout court au programme.
Pour le 1, ce n'est pas compliqué à faire. Le 2 me pose plus de problèmes, je ne vois pas du tout comment le faire ?! Je peux lire mes listes avec un for, mais alors comment établir une "liste des arguments" ? j'aurais une variable contenant quelque chose du genre expr(arg[ 1]),arg[ 2],expr(arg[ 3]) mais comment envoyer ceci à mon programme ? j'ai essayé monprgm(expr(arg[ 1]),arg[ 2],expr(arg[ 3])) ou encore monprgm( #(expr(arg[1 ]),arg[ 2],expr(arg[ 3])) mais sans succès... Personne n'aurait une idée svp ? (note : il n'y a aucun expace dans les expressions que j'ai donné, c'est juste pour rendre les expressions "clairs")
Merci d'avance.
(remarque : si il existe une fonction magique pour faire ce que je veux je suis preneur )