[Résolu][Python] Grapheur pour Writer

Discussions sur les projets et applications développés en liaison avec une suite bureautique libre.

Modérateur: Vilains modOOs

[Résolu][Python] Grapheur pour Writer

Messagepar joel275 » 31 Jan 2018 17:24

Bonjour,

je propose ici
Grapheur -v5.odt
(31.84 Kio) Téléchargé 5 fois

un petit grapheur écrit en python sous licence GNU à l'usage des professeurs de mathématiques et de leurs élèves.
Ayant appris récemment python en lisant internet et le forum, je serais très heureux de toutes les remarques et suggestions.
merci également de me signaler les bugs que j'aurais laissé trainer ici ou là.

A plus.

 Ajout : fichier modifié le 7/2 

 Ajout : fichier modifié le 15/2/2018 
Dernière édition par joel275 le 16 Fév 2018 08:18, édité 6 fois.
OpenOffice 4.1.2 LibreOffice 5-3-7-2 Windows 8.1
joel275
PassiOOnné
PassiOOnné
 
Message(s) : 664
Inscrit le : 10 Jan 2009 09:05

Re: [Writer][Python] Grapheur

Messagepar Hubert Lambert » 31 Jan 2018 19:00

Bonjour Joël,

Beau travail ! Je jetterai volontiers un oeil plus en profondeur, dès que possible.
Avec OpenOffice, le programme renvoie une erreur de type unicode. Pour éviter le problème, tu peux simplement ajouter la ligne
Code : Tout sélectionner   AgrandirRéduire
from __future__ import unicode_literals
comme toute première instruction.
Cordialement.

 Ajout : La macro affectée au bouton Aide n'est pas incorporée :wink: 


 Ajout : Ce fil pourrait peut-être inspirer une autre façon d'aborder la question, en utilisant un objet diagramme (un diagramme n'étant rien d'autre qu'un groupement d'objets sur une "drawpage"). 
AOOo 4.1.2 sur Win7
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
| « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
Avatar de l’utilisateur
Hubert Lambert
PassiOOnné
PassiOOnné
 
Message(s) : 742
Inscrit le : 06 Avr 2016 08:26

Re: [Python] Grapheur pour Writer

Messagepar joel275 » 05 Fév 2018 17:00

Bonjour Hubert,

tout d'abord, j'ai corrigé le fichier mis en ligne dans mon premier message en rajoutant, entr'autres, la ligne magique qui permet (apparemment) à du python 3 de tourner sur le python 2 de AOo ainsi que les routines que j'avais oubliées de joindre. :oops:
J'ai également consulté le fil que tu m'a indiqué , mais:
j'aime beaucoup le fond avec des points, plutôt que le quadrillage. :D
je souhaite pouvoir positionner des points, des vecteurs et des tangentes sur le graphique et pouvoir facilement grouper le tout.
Comme en plus, j'avais déjà fait le travail en basic, je souhaitais juste voir si c'était plus rapide et plus clair en python.

En tout cas merci d'avoir regardé mon travail de débutant: comme il ne semble pas provoquer l'enthousiasme général, je vais sans doute garder ce schéma.

A plus.
OpenOffice 4.1.2 LibreOffice 5-3-7-2 Windows 8.1
joel275
PassiOOnné
PassiOOnné
 
Message(s) : 664
Inscrit le : 10 Jan 2009 09:05

Re: [Python] Grapheur pour Writer

Messagepar Scrat » 06 Fév 2018 18:32

Bonjour.

Petit essai du grapheur modifié avec LibO 5.4.4... et je me fais jeter ! :lol:

Ci-joint la bordée d'injures :mrgreen: :
com.sun.star.lang.WrappedTargetRuntimeException: (Error during invoking function Grapheur in module vnd.sun.star.tdoc:/1/Scripts/python/Grapheur.py (<class 'ooo_script_framework.com.sun.star.lang.WrappedTargetRuntimeException'>:
File "C:\Program Files\LibreOffice 5\program\pythonscript.py", line 875, in invoke
ret = self.func( *args )
File "vnd.sun.star.tdoc:/1/Scripts/python/Grapheur.py", line 209, in Grapheur
File "vnd.sun.star.tdoc:/1/Scripts/python/Grapheur.py", line 50, in loadDialog
))


A+
Libre Office 5.4.5.1 Vista 32 bits SP2
Utilisez l'extension de Sauvegarde incrémentale pour ne pas perdre de document !
Avatar de l’utilisateur
Scrat
SuppOOrter
SuppOOrter
 
Message(s) : 1452
Inscrit le : 06 Juin 2014 11:39
Localisation : Île d'Oléron

Re: [Python] Grapheur pour Writer

Messagepar joel275 » 07 Fév 2018 10:56

Bonjour Scrat,

et désolé pour cette bordée d'injures....
je ne suis pas au top du maniement des fichiers malgré les très bons conseils donnés ici (https://forum.openoffice.org/fr/forum/v ... 37&t=53131) et la boîte de dialogue de démarrage était recherchée dans l'application au lieu du document. Erreur réparée, et le fichier remis dans le premier message n'insulte plus le client. :oops:
Mais, je débute en python et j'ai besoin de vos retours pour progresser.

A plus.
OpenOffice 4.1.2 LibreOffice 5-3-7-2 Windows 8.1
joel275
PassiOOnné
PassiOOnné
 
Message(s) : 664
Inscrit le : 10 Jan 2009 09:05

Re: [Python] Grapheur pour Writer

Messagepar Scrat » 07 Fév 2018 12:47

Bonjour.

joel275 a écrit:Erreur réparée, et le fichier remis dans le premier message n'insulte plus le client.


Euh... je me fais toujours insulter. :oops:

Apparemment, c'est toujours le même fichier en ligne dans le premier message:
Dernière édition par joel275 le 05 Fév 2018 18:46, édité 3 fois.

Oubli de validation en éditant le message ?

A+
Libre Office 5.4.5.1 Vista 32 bits SP2
Utilisez l'extension de Sauvegarde incrémentale pour ne pas perdre de document !
Avatar de l’utilisateur
Scrat
SuppOOrter
SuppOOrter
 
Message(s) : 1452
Inscrit le : 06 Juin 2014 11:39
Localisation : Île d'Oléron

Re: [Python] Grapheur pour Writer

Messagepar joel275 » 07 Fév 2018 13:28

Re,

je ne comprends pas: si je télécharge le fichier mis en ligne et que je le lance avec ma version de LOo, ça fonctionne. Si je le lance avec AOo, j'ai le même message d'erreur que toi.
Je vais y réfléchir, mais je crains que ça ne dépasse mes compétences....

A plus.
OpenOffice 4.1.2 LibreOffice 5-3-7-2 Windows 8.1
joel275
PassiOOnné
PassiOOnné
 
Message(s) : 664
Inscrit le : 10 Jan 2009 09:05

Re: [Python] Grapheur pour Writer

Messagepar Hubert Lambert » 07 Fév 2018 13:32

Il faut commenter la ligne 209 et décommenter la ligne 210 :
Code : Tout sélectionner   AgrandirRéduire
    # MaBoite = loadDialog("JDMath","DlgGrapheur","application")
    MaBoite = loadDialog("Standard","DlgGrapheur","document")

:wink:
AOOo 4.1.2 sur Win7
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
| « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
Avatar de l’utilisateur
Hubert Lambert
PassiOOnné
PassiOOnné
 
Message(s) : 742
Inscrit le : 06 Avr 2016 08:26

Re: [Python] Grapheur pour Writer

Messagepar Scrat » 07 Fév 2018 14:18

Bon, j'ai réussi à le faire marcher en faisant la modification suggérée par Hubert, ce qui veut dire que tu as toujours le version du 5 février dans ton premier message.

Je n'ai pas pu modifier le script directement dans le document en choisissant Outils->Macros->Gérer les macros->Python: le bouton Éditer est en grisé, je n'ai accès qu'au bouton Exécuter. Je ne suis pas familier avec les macros et je ne comprends pas pourquoi je ne peux pas les éditer. Pour m'en sortir, j'ai dézippé le document et j'ai édité le script Python avec Notepad++.

Bref, le document modifié fonctionne, mais j'ai quelques soucis avec la syntaxe pour entrer les formules. Certaines fonctionnent, d'autre pas. L'aide serait la bienvenue, mais le bouton d'aide est inactif.

A+
Libre Office 5.4.5.1 Vista 32 bits SP2
Utilisez l'extension de Sauvegarde incrémentale pour ne pas perdre de document !
Avatar de l’utilisateur
Scrat
SuppOOrter
SuppOOrter
 
Message(s) : 1452
Inscrit le : 06 Juin 2014 11:39
Localisation : Île d'Oléron

Re: [Python] Grapheur pour Writer

Messagepar joel275 » 07 Fév 2018 16:45

Bonjour,

re-modification du fichier. J'espère que cette fois-ci tout va bien. J'ai également ajouté un léger mode d'emploi directement dans le document.
Je réfléchis également à une vérification de base des fonctions entrées pour limiter les problèmes.

En tout cas, merci pour les retours patients de Scrat et les crrections de Hubert.

A plus.
OpenOffice 4.1.2 LibreOffice 5-3-7-2 Windows 8.1
joel275
PassiOOnné
PassiOOnné
 
Message(s) : 664
Inscrit le : 10 Jan 2009 09:05

Re: [Python] Grapheur pour Writer

Messagepar Scrat » 07 Fév 2018 17:57

Cette fois, avec la mise à jour, je ne me fais plus jeter ! :D

Je n'ai pas encore testé en détail, mais ce que j'ai vu me parait intéressant.

Je te suggère quand même de modifier le premier exemple que tu donnes dans le texte pour les courbes cartésiennes car tu mélange l'écriture classique des formules avec la syntaxe Python, ce qui peut prêter à confusion. Ainsi, à la place de
3x**2*cos(x)
tu devrais mettre l'expression exacte qui correspond à la syntaxe Python:
3*x**2*cos(x)

Quant au bouton Aide, il ne donne toujours rien. Est-ce normal ?

A+
Libre Office 5.4.5.1 Vista 32 bits SP2
Utilisez l'extension de Sauvegarde incrémentale pour ne pas perdre de document !
Avatar de l’utilisateur
Scrat
SuppOOrter
SuppOOrter
 
Message(s) : 1452
Inscrit le : 06 Juin 2014 11:39
Localisation : Île d'Oléron

Re: [Python] Grapheur pour Writer

Messagepar joel275 » 08 Fév 2018 14:16

Bonjour,

plutôt que de modifier l'exemple faux que j'ai donné, je vais ajouter une routine de traduction pour que cette écriture soit acceptée ainsi que d'autres couramment utilisées en mathématiques: ce n'est pas compliqué en python, elle est déjà prête.
Tant que j'y suis, je vais modifier l'ensemble pour que chaque graphique soit accessible par l'utilisateur pour modifier ses attributs de couleurs, épaisseurs, nom etc... en dégroupant le dessin final. C'est un peu plus compliqué, il me faudra quelques jours.
A la place du bouton d'aide, je vais étoffer les infos bulles du dialogue.
Quand tout ça sera fini, je mettrais le résultat en ligne.

A plus.
OpenOffice 4.1.2 LibreOffice 5-3-7-2 Windows 8.1
joel275
PassiOOnné
PassiOOnné
 
Message(s) : 664
Inscrit le : 10 Jan 2009 09:05

Re: [Python] Grapheur pour Writer

Messagepar joel275 » 10 Fév 2018 17:36

Bonsoir,

je mets un deuxième message à la suite pour que le nouveau fichier ne passe pas inaperçu........

Voilà donc la nouvelle version:
Grapheur -v4.odt
(26.09 Kio) Téléchargé 4 fois


j'espère qu'il y aura moins de problème que pour la version précédente. J'attends quelques temps avant de la mettre dans le premier message histoire de la tester encore un peu...

A plus.
OpenOffice 4.1.2 LibreOffice 5-3-7-2 Windows 8.1
joel275
PassiOOnné
PassiOOnné
 
Message(s) : 664
Inscrit le : 10 Jan 2009 09:05


Retour vers Projets

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 2 invité(s)