Page 1 sur 1

Pour avoir l'aide intégrée dans giac

Publié : ven. mai 21, 2010 10:10 pm
par cdeval
Salut,
en bossant sur la compil mac, je me suis rendu compte que je n'avais pas l'aide sur les commandes (? command) dans OOo. Pourtant j'étais persuadé que j'avais utilisé "? commande" dans OOo et que ça marchait. En vérifiant ce soir, je n'ai aucune aide ni dans OOo-mac, ni dans OOo-linux....
J'ai essayé de créer
./doc/fr/aide_cas
à côté de ma librairie mais ça ne marche pas. Y a-t-il une instruction à lancer pour charger l'aide dans un programme utilisant giac ?
A+

Re: Pour avoir l'aide intégrée dans giac

Publié : sam. mai 22, 2010 6:05 am
par parisse
Il n'y a pas d'instructions xcas, mais il faut que tu initialises l'aide en C++
doc_prefix=giac::read_env(giac::context0); // Set giac::language and modes from environment
xcas::read_aide("aide_cas",giac::language(giac::context0));
giac::set_language(giac::language(giac::context0),giac::context0);

read_aide est dans la libxcas, ca risque de te compliquer la vie, peut-etre que tu peux le copier avec ses dépendances depuis Input.cc

Re: Pour avoir l'aide intégrée dans giac

Publié : sam. mai 22, 2010 8:42 pm
par cdeval
C'est bon, j'ai intégré l'aide dans mon extension.
Comme tu l'as suggéré, j'ai repris le code de include.cc en me limitant au strict minimum.

Code : Tout sélectionner

	if (!helpitems){
		OUString chemin;
		aValList[0] >>= chemin;		
		std::string helpfile=string(OUStringToOString(chemin,RTL_TEXTENCODING_UTF8));
		(*giac::vector_aide_ptr)=giac::readhelp(helpfile.c_str(),helpitems);
	}
	Retour=OUString::createFromAscii("Nombre d'aide : ")+OUString::valueOf(helpitems);
je n'ai pas besoin de tester si le fichier cas_aide est présent car il l'est forcément : je l'ai mis dans l'extension, accessible aux librairies de toutes les plateformes.
Je passe ensuite par OOoBasic pour transmettre à ma fonction c++ le chemin d'accès du fichier dans l'extension.
Tout marche au poil :
screenshot_148.png
screenshot_148.png (76.11 Kio) Consulté 4232 fois
Merci encore, A+