Future version 1.95

Future version à tester

Re: Future version 1.95

Messagepar P.Fradin » 05 Sep 2010 23:01

Mise à jour de la version test: 1.95-beta-9.

  • Ajout de macros pour la gestion de tables de chaines (une clé+une chaine).
  • Ajout de macros pour la gestion de listes de chaines.
  • Ajouts des différentes macros qui m'ont été suggérées le long de ce fil.
  • Correction de bugs.

Exemple: affichage d'une série de points avec une seule instruction LabelDot et trois listes (dont deux listes de chaines):

Code: Tout sélectionner
[
position:=[-1,i,1,-i],                                                    //liste des affixes
StrListInit( name, "$A$", "$B$", "$C$", "$D$"),     //liste des noms
StrListInit(orientation, "O", "N", "E", "S"),             //liste des orientations
for k from 1 to name(0) do                                      //name(0) est le nombre d(éléments de la liste
    LabelDot( position[k], @name(k), @orientation(k), 1), //accès à l'élément k  des listes
od,
StrListKill(name, orientation)                              //destructions des listes de noms (facultatif)
]


Capture-4.png
Capture-4.png (1.58 Kio) Consulté 57527 fois


La même chose peut se faire avec 2 tables au lieu des trois listes, une table de correspondance entre les affixes et les noms, une table de correspondance entre les affixes et les orientations:

Code: Tout sélectionner
[
TableInit(name, "-1", "$A$", "i", "$B$", "1", "$C$", "-i", "$D$"),  //table des noms (format: "cle", "chaine", "cle, "chaine",...)
TableInit(orientation, "-1", "O", "i", "N", "1", "E", "-i", "S"),        //table des orientations

 {parcourt de la table name, @TableKey désigne la clé courante, et @TableVal la chaine courante }
TableMap( name,                                                                         
          LabelDot( Eval(@TableKey), @TableVal, @orientation(@TableKey),1),
        ),
TableKill( name, orientation)   //destruction des tables (facultatif)
]
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1902
Inscription: 29 Oct 2008 15:04

Re: Future version 1.95

Messagepar Eric » 05 Sep 2010 23:23

C'est un ajout intéressant. ;)
Eric
 
Messages: 302
Inscription: 07 Août 2009 21:05
Localisation: Asnieres

Re: Future version 1.95

Messagepar projetmbc » 06 Sep 2010 13:01

Bonjour,
sympa ces nouvelles fonctionnalités. Des syntaxes comme les suivantes seraient peut-être plus lisibles :
Code: Tout sélectionner
StrListInit(name: "$A$", "$B$", "$C$", "$D$")
TableInit(orientation: "-1", "O", "i", "N", "1", "E", "-i", "S")

Je ne sais pas comment tu parses les codes TeXgraph et si cela serait dur à implémenter mais c'est une petite suggestion avant de me restaurer pour aller manifester.
projetmbc
 
Messages: 404
Inscription: 26 Déc 2009 18:01

Re: Future version 1.95

Messagepar P.Fradin » 06 Sep 2010 16:45

Je trouve cela ni plus ni moins lisible. Si je devais modifier le parseur (en interne), je privilégierais plutôt quelque chose comme:

Code: Tout sélectionner
name:=StrListInit("$A$", "$B$", "$C$", "$D$")
orientation:=TableInit("-1", "O", "i", "N", "1", "E", "-i", "S")


L'obstacle majeur est que le logiciel a été conçu au départ avec un seul type de données (liste de complexes), l'idéal serait une refonte complète (quel boulot!) pour ajouter d'autres types de données, mais il y a fort à parier qu'il sera impossible d'assurer une compatibilité ascendante, peut-être un passage à la version 2...
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1902
Inscription: 29 Oct 2008 15:04

Re: Future version 1.95

Messagepar projetmbc » 06 Sep 2010 16:59

Etant donné le boulot, j'ai bossé sur un parseur pour mon projet, si une refonte était envisagée, il faudrait vraiment étudier au préalable ce qui serait à refaire. Pour mon projet, j'ai passé autant de temps à définir mon langage qu'à fabriquer le parseur.

Sinon en l'état, le fonctionnement proposé va tout à fait bien.
projetmbc
 
Messages: 404
Inscription: 26 Déc 2009 18:01

Re: Future version 1.95

Messagepar projetmbc » 06 Sep 2010 17:16

Pendant que j'y pense, il existe peut-être des outils Free Pascal permettant de parser du texte en ayant définit au préalable une grammaire. Ceci existe en Python.
projetmbc
 
Messages: 404
Inscription: 26 Déc 2009 18:01

Re: Future version 1.95

Messagepar Alphonse Capriani » 07 Sep 2010 15:30

Je comprend rien à ce que vous dites, mais c'est pas grave : je vais tester cette nouvelle version.

P.Fradin a écrit:
  • Ajouts des différentes macros qui m'ont été suggérées le long de ce fil.
  • Correction de bugs.


Tu pourrais en donner une liste stp : c'est pour savoir ou il faut orienter mes tests...
Ya Ba Da Ba Dooo!!!
Avatar de l’utilisateur
Alphonse Capriani
 
Messages: 576
Inscription: 18 Juil 2009 19:10
Localisation: East Harlem - NY

Re: Future version 1.95

Messagepar P.Fradin » 07 Sep 2010 16:05

Alphonse Capriani a écrit:
P.Fradin a écrit:
  • Ajouts des différentes macros qui m'ont été suggérées le long de ce fil.
  • Correction de bugs.

Tu pourrais en donner une liste stp : c'est pour savoir ou il faut orienter mes tests...


Les macros:
  • del( <liste>, <liste des index à supprimer>, <nombre d'éléments à supprimer par index (1 par défaut)> ) renvoie la liste modifier par les suppressions, mais la liste elle-même n'est pas modifiée.

  • KillDup( <liste> [, epsilon] ): renvoie la liste sans doublon (à epsilon près, avec epsilon égal à 0 par défaut).

  • KillDup3D( liste3d [, epsilon] ): renvoie la liste de point3d sans doublon (à epsilon près, avec epsilon égal à 0 par défaut).

  • SortWith( <clés>, <liste>, <taille paquets> [, mode]) trie la variable liste suivant les clés (réels).
    Les éléments de la liste sont traités par paquets, leur taille est de 1 par défaut.
    La taille peut être égale à jump pour un traitement par composante.
    Si le dernier paquet n'est pas complet, il n'est pas traité.
    Si la liste contient la constante jump, alors toutes les composantes sont triées chacune leur tour
    mode=0 pour ordre croissant, mode=1 pour décroissant

  • interLP( <liste points 3D>, <plan> [, close(0/1]): intersection d'une ligne polygonale avec un plan, renvoie une liste de point3D.


P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1902
Inscription: 29 Oct 2008 15:04

Re: Future version 1.95

Messagepar Alphonse Capriani » 07 Sep 2010 16:23

Ok merci : je vais essayer de trouver un peu de temps pour tester tout ca...
Ya Ba Da Ba Dooo!!!
Avatar de l’utilisateur
Alphonse Capriani
 
Messages: 576
Inscription: 18 Juil 2009 19:10
Localisation: East Harlem - NY

Re: Future version 1.95

Messagepar P.Fradin » 04 Nov 2010 12:09

Mise en ligne de la version 1.95-beta-10 dans le post initial (corrections de bugs).
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1902
Inscription: 29 Oct 2008 15:04

Re: Future version 1.95

Messagepar Alphonse Capriani » 04 Nov 2010 16:18

Quels bugs? Celui là? :

Image

C'est vrai que les bug dus aux redimensionnement/zoom de la fenetre sont assez pénible : c'est pas très agréable de travailler avec un gros bandeau noir en bas ou en haut de l'écran. Surtout si ce dernier est également tronqué!!!
Ya Ba Da Ba Dooo!!!
Avatar de l’utilisateur
Alphonse Capriani
 
Messages: 576
Inscription: 18 Juil 2009 19:10
Localisation: East Harlem - NY

Re: Future version 1.95

Messagepar P.Fradin » 04 Nov 2010 16:30

J'utilise les composants graphiques de lazarus. C'est un bug de lazarus, désolé.
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1902
Inscription: 29 Oct 2008 15:04

Re: Future version 1.95

Messagepar Alphonse Capriani » 04 Nov 2010 16:52

Ah merde!!!

Pourquoi y avait pas ce problème dans les version précédentes?
Ya Ba Da Ba Dooo!!!
Avatar de l’utilisateur
Alphonse Capriani
 
Messages: 576
Inscription: 18 Juil 2009 19:10
Localisation: East Harlem - NY

Re: Future version 1.95

Messagepar P.Fradin » 04 Nov 2010 18:17

Normalement sous windows il n'y a pas ce problème.
Pour linux j'avais bricolé un truc à une époque pour avoir un quelque chose qui marche, mais j'ai fini par l'enlever car en théorie lazarus avait réglé ses problèmes de scrollbox (enfin pas tous...), et surtout pour avoir le même code indépendamment de la plateforme.
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1902
Inscription: 29 Oct 2008 15:04

Re: Future version 1.95

Messagepar Alphonse Capriani » 04 Nov 2010 20:01

Sous windows, je sais pas ce qui s'y passe : ca fait une éternité que je ne me suis pas connecté sur ce truc :lol:

Pour linux, le problème est apparu avec la version 1.95. Ton bidouillage, c'était sur la version 1.94?
Y a pas moyen de faire des suggestions au types qui gèrent Lazarus? Bon, ca doit être une grosse machine, mais j'espère qu'ils sont quand même à l'écoute de ceux qui doivent subir leurs défauts...
Ya Ba Da Ba Dooo!!!
Avatar de l’utilisateur
Alphonse Capriani
 
Messages: 576
Inscription: 18 Juil 2009 19:10
Localisation: East Harlem - NY

Re: Future version 1.95

Messagepar P.Fradin » 04 Nov 2010 20:29

Alphonse Capriani a écrit:Pour linux, le problème est apparu avec la version 1.95. Ton bidouillage, c'était sur la version 1.94?


Non c'était sur la version 1.93 quand je suis passé de Delphi à lazarus. Apparemment ça marchait dans la version 1.94, et ça bogue parfois dans la version 1.95 car entre les deux j'ai mis à jour lazarus qui a donc ce que l'on appelle une régression!

Y a pas moyen de faire des suggestions au types qui gèrent Lazarus? Bon, ca doit être une grosse machine, mais j'espère qu'ils sont quand même à l'écoute de ceux qui doivent subir leurs défauts...


Il y a longtemps que j'ai laissé tomber, depuis plusieurs années, on me répondait à chaque fois en gros qu'il n'y avait pas de bug. Lazarus a toujours eu et a toujours des problèmes avec les scrollbox.
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1902
Inscription: 29 Oct 2008 15:04

Re: Future version 1.95

Messagepar Alphonse Capriani » 04 Nov 2010 21:24

Y a une question à ce sujet que je me suis toujours posée : pourquoi avoir développer TeXgraph en pascal? C'est pas un langage très populaire à l'heure actuelle. Pourquoi ne pas avoir choisi un langage du genre C++ ou Java?
Ya Ba Da Ba Dooo!!!
Avatar de l’utilisateur
Alphonse Capriani
 
Messages: 576
Inscription: 18 Juil 2009 19:10
Localisation: East Harlem - NY

Re: Future version 1.95

Messagepar P.Fradin » 04 Nov 2010 21:29

Alphonse Capriani a écrit:Y a une question à ce sujet que je me suis toujours posée : pourquoi avoir développer TeXgraph en pascal? C'est pas un langage très populaire à l'heure actuelle. Pourquoi ne pas avoir choisi un langage du genre C++ ou Java?


Pour 3 raisons:
1) Le seul langage que je connaisse bien est le pascal, j'utilisais un temps Delphi.
2) Le code C++ est une horreur à lire
3) Le code java aussi d'ailleurs, et en java il n'y aurait pas eu de TeXgraphCmd, t'imagines, à chaque compilation lancer la machine virtuelle :lol:

PS: le free-pascal est plus répandu qu'on ne le pense, il est toujours activement développé et sur toutes les plateformes, il est rapide et fiable. C'est lazarus (composants graphiques) qui n'est pas très pro, la version TeXgraphCmd (sans interface graphique) marche au poil, et regarde l'exécutable: il est très léger..
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1902
Inscription: 29 Oct 2008 15:04

Re: Future version 1.95

Messagepar projetmbc » 04 Nov 2010 22:23

Bonsoir,
pour mon projet, je vais utiliser Qt via PyQt. Je viens de tomber sur http://wiki.freepascal.org/Qt_Interface . Je ne sais pas ce que cela vaut pour Pascal, mais pour Python, PyQt est très complet et très simple d'utilisation. Par exemple,...
  • ... on peut utiliser dans une interface PyQt une page Web et communiquer avec des JavaScripts pour par exemple bénéficier des capacités d'un applet Java,
  • ... on peut utiliser OpenGL de façon relativement aisée aussi car une interface est proposée au sein de Qt pour faciliter l'utilisation de OpenGL,
  • ... on peut faire appel à QScintilla pour un rendu efficace de listing, même si l'intégration de nouvelles règles de coloration est un peu plus technique.
projetmbc
 
Messages: 404
Inscription: 26 Déc 2009 18:01

Re: Future version 1.95

Messagepar P.Fradin » 04 Nov 2010 23:47

Bonsoir projetmbc,

Le problème ce n'est pas Gtk2 ou Qt ou autre, c'est l'interfaçage au niveau de lazarus. C'est sûr que Python n'a plus ces problèmes de développement depuis belle lurette!
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1902
Inscription: 29 Oct 2008 15:04

Re: Future version 1.95

Messagepar Alphonse Capriani » 05 Nov 2010 08:13

Pour ce qui est de java et de ce principe de machine virtuelle, c'est vrai que ca aurait pas été l'idéal.

Concernant le C++ (et aussi le java : les codes sont très ressemblant) je trouve pas que c'est une horreur à lire. C'est une question d'habitude.
C/C++ et Java sont les langages que je connais le mieux et je trouva pas qu'ils sont si illisible que ca. D'un premier abord peut-être, mais au final je les trouve pas mal...

Cela dit, j'ai de vaques souvenirs de Pascal et c'est vrai que les syntaxes étaient très claires (assez proche d'un langage de description d'algorithme). Chacun a ses préférences...
Ya Ba Da Ba Dooo!!!
Avatar de l’utilisateur
Alphonse Capriani
 
Messages: 576
Inscription: 18 Juil 2009 19:10
Localisation: East Harlem - NY

Re: Future version 1.95

Messagepar Eric » 05 Nov 2010 10:16

J'ai installé la nouvelle version de la 1.95 et le problème des ellipses fantômes en 3D a disparu. Merci !
Eric
 
Messages: 302
Inscription: 07 Août 2009 21:05
Localisation: Asnieres

Re: Future version 1.95

Messagepar P.Fradin » 05 Nov 2010 10:27

Merci Eric pour le retour. J'attends celui d'Alphonse pour savoir si ces bandes noires ont disparu. A ce propos je signale que ce problème n'existe pas sous linux 64bits, c'est donc un problème propre au système 32bits sous linux en Gtk2.
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1902
Inscription: 29 Oct 2008 15:04

Re: Future version 1.95

Messagepar Alphonse Capriani » 06 Nov 2010 13:56

Négatif Patrick!!

Les problèmes de bandes noires sont toujours là...
Ya Ba Da Ba Dooo!!!
Avatar de l’utilisateur
Alphonse Capriani
 
Messages: 576
Inscription: 18 Juil 2009 19:10
Localisation: East Harlem - NY

Re: Future version 1.95

Messagepar P.Fradin » 06 Nov 2010 14:07

Alphonse Capriani a écrit:Négatif Patrick!!

Les problèmes de bandes noires sont toujours là...


Bon, ben je crois que je ne pourrai pas y faire grand'chose à partir de TeXgraph. Comme je l'ai dit dans mon précédent message, le problème ne se produit qu'en Gtk2 32bits, pas en 64bits.
Bien sûr j'ai aussi ce soucis sur mon système 32bits, mais j'avais pris l'habitude de mettre les ascenseurs au minimum avant de redimensionner la zone de dessin ce qui élimine le problème, ce n'est pas très pratique mais bon...

J'ai pris la dernière version svn de lazarus hier soir: le problème est toujours là (en 32bits) et l'exécutable a pris 1Mo de plus!! Merci lazarus!
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1902
Inscription: 29 Oct 2008 15:04

PrécédentSuivant

Revenir vers Version intermédiaire

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité