Forum Liberty Basic France

Le 16/06/2012 à 09h21

Administrateur

Groupe: Administrateur

Inscrit le: 24/09/2010
Messages: 203
Dans la catégorie déterrage de vieux programme, je vous présente Graphicus !

C'est un programme qui va vous tracer le graph de fonction que vous enterez.
Dans le package, vous trouverez la source plus les images nécessaire au bon fonctionnement du programme, plus un exemple de code pour tracer une fonction en 3D :)

Télécharger l'archive : Graphicus_1.2.1.zip

Mail MSN Web    
Le 16/06/2012 à 14h10

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2471
Pas mal ! :top Son séjour sous terre ne l'a pas du tout abimé. Retourne donc ton jardin, c'est la saison...des fois que tu en trouverais d'autre,. :miam
Dommage qu'il soit " LB only ".
Je suis en train d'en faire un en JB avec calcul par approximations selon la méthode de Tchebychev
je posterai l'ébauche dans le fameux style ".. à la mors moi le ..." dont je suis coutumier.
J'ai comparé le traçé de mon bouzin avec celui proposé par ton prog, ça a l'air cohérent.
Mais il faut mettre la fonction en ligne de code. :( ....Allez creuse.... ;)
____________________
Roro

   
Visiteur
Le 18/06/2012 à 13h19

Libertynaute Inactif

Groupe: Visiteur



Salut Graphicus !

Ca fonctionne, avec un bon interface.
J'ai essayé sin(x) et sin(2*x).
Impeccable, mais il faut donner comme coordonnées x = -6.28 et x = 6.28, soit 2*PI, pour que l'abscisse corresponde.
Ou bien y a-t-il un réglage de "pas" ?

Plaisant programme en tout cas.

Claude
____________________
Omnium populorum gallicorum bravissimi sunt Belgae.

Web    
Le 20/06/2012 à 23h12

Administrateur

Groupe: Administrateur

Inscrit le: 24/09/2010
Messages: 203
Hello !

Oui, tu peux régler l'échelle et le pas en cliquant sur le bouton "Redimentionner la fenêtre graphique"

++
Black Templar

Mail MSN Web    
Visiteur
Le 21/06/2012 à 15h34

Libertynaute Inactif

Groupe: Visiteur



OK, je le vois.

Pour la fonction choisie, f(x) = sin(x),
On règle le "pas" de x sur 3.1416.
Pour xmin = - 1 et xmax = 1, on obtient un seul cycle complet de sin(x).
Pour xmin = - 10 et xmax = +10, on obtient 6 cycles et un chouïa, càd 20 / PI.
3 cycles et un chouïa, càd 20 / 2PI.
Excellent.

Vu depuis la tribune, on pourrait peut-être y introduire un jour un réglage sur une constante PI, et aussi un BMPSAVE pour récupérer le tracé dans un fichier. Mais c'est plus vite dit que fait.

@+

Claude



Edité par Visiteur Le 22/06/2012 à 08h16
____________________
Omnium populorum gallicorum bravissimi sunt Belgae.

Web    
Visiteur
Le 21/06/2012 à 16h18

Libertynaute Inactif

Groupe: Visiteur



Holà !

Il y a 640 lignes de code, quasiment sans lignes vides.
Il vaut mieux le laisser en l'état.


Claude
____________________
Omnium populorum gallicorum bravissimi sunt Belgae.

Web    
Le 21/06/2012 à 22h08

Administrateur

Groupe: Administrateur

Inscrit le: 24/09/2010
Messages: 203
Oui, pas bête comme idée !

Et ça peut se faire assez rapidement, en une petite dizaine de ligne de code en plus :)

Mail MSN Web    
Le 21/06/2012 à 22h17

Administrateur

Groupe: Administrateur

Inscrit le: 24/09/2010
Messages: 203
Voila, j'ai modifié le programme !!

J'ai rajouté au début du programme la définition d'une variable PI, qui peut être utilisé lorsque l'on rentre une formule dans le logiciel :
Code VB :
PI = 3.1415


Ensuite, j'ai modifié le menu pour rajouter dans fichier, le menu save :
Code VB :
menu #ind, "Fichier","Nouveau",[new], "Sauvegarder",[save], "Quitter",[quit]


Enfin, j'ai rajouté un bout de code qui sauvegardera l'image lorsque l'utilisateur clique sur Fichier=>Sauvegarder
Code VB :
[save]
    print #ind.1, "getbmp drawing 1 1 ";DisplayHeight * 6 / 7;" ";DisplayHeight * 6 / 7
    bmpsave "drawing", "screen.bmp"
    wait
 



C'est le code minimal pour que ça fonctionne, après, rien n'empêche de le complexifier pour demander à l'utilisateur un nom de fichier, etc.


++
Black Templar

Mail MSN Web    
Visiteur
Le 22/06/2012 à 08h18

Libertynaute Inactif

Groupe: Visiteur



Mais où est le fichier à télécharger ?
Graphicus_1.2.rar de ton premier post n'a pas été modifié.

Claude

____________________
Omnium populorum gallicorum bravissimi sunt Belgae.

Web    
Visiteur
Le 24/06/2012 à 17h42

Libertynaute Inactif

Groupe: Visiteur



Je comprends maintenant pourquoi il n'y a pas de fichier amélioré à télécharger !

Les indications sur bmpsave ne donnent aucun résultat.
Si on rame jusqu'à obtenir une image approximative du graphique, le programme se plante.
Mais on obtient quand même une image *incomplète* dans le fichier "screen.bmp".

Ce code est beaucoup trop complexe comparé au résultat assez limité qu'on pourrait en espérer.

Par exemple il y a des infobulles mais pas un simple setfocus dans les cases à remplir.
Les coordonnées maximales des axes X et Y sont plus grandes que les dimensions du graphicbox.
Il n'y a pas de DefaultButton mais plein de sous-fenêtres.
Il y a trois branchements de fin, [quitmaina], [quit1], [quit2].
Et tant d'autres détails qui minent.
Et bien sûr pas d'enregistrement ni d'impression de l'image, et rien de corrigible après "amélioration".

A mon avis, il faudrait recommencer à partir de zéro.

Je suggère de respecter l'auteur pour son important effort, et de ré-enterrer ce programme confus pour toujours.

Claude



Edité par Visiteur Le 24/06/2012 à 17h58
____________________
Omnium populorum gallicorum bravissimi sunt Belgae.

Web    
Visiteur
Le 25/06/2012 à 07h51

Libertynaute Inactif

Groupe: Visiteur



Bon, j'ai eu un moment d'irritation après une vingtaine de plantages, et je suis passé subitement de "très bon programme" à "très mauvais programme". C'est injuste et c'est méconnaître les efforts des gens de bonne volonté.

Claude

____________________
Omnium populorum gallicorum bravissimi sunt Belgae.

Web    
Le 25/06/2012 à 13h10

Administrateur

Groupe: Administrateur

Inscrit le: 24/09/2010
Messages: 203
Oula ! Claude !
Qu'est-ce qui a bien pu t'énerver à ce point ?? Oo

Citation:
Mais où est le fichier à télécharger ?
Graphicus_1.2.rar de ton premier post n'a pas été modifié.

En effet, je n'avais pas mis à jours l'archive. Je trouvais que vu le peu de ligne à modifier, ce n'était pas la peine. Mais j'ai corrigé ça. C'est maintenant chose faite.

Citation:
Les indications sur bmpsave ne donnent aucun résultat.
Si on rame jusqu'à obtenir une image approximative du graphique, le programme se plante.
Mais on obtient quand même une image *incomplète* dans le fichier "screen.bmp".

Tu verras que les 3 lignes de code que j'ai présenté permettent de sauvegarder le graphique en entier ! (dans l'archive, il y a même un fichier screen.bmp d'un de mes tests)
Comment ça se fait que chez toi ça rame ?? Chez moi, c'est instantané Oo



Citation:
Par exemple il y a des infobulles mais pas un simple setfocus dans les cases à remplir.

Il suffit de la rajouter.

Citation:
Les coordonnées maximales des axes X et Y sont plus grandes que les dimensions du graphicbox.

??? Les coordonnées des axes et les dimensions de la fenêtres sont décorélés
La taille du graphicbox de traçage est fonction de la résolution de ton écran (le graphicbox prend 6/7ème de l'écran) et les coordonnées des axes sont fonction de la taille du graphicbox...


Citation:
Il n'y a pas de DefaultButton mais plein de sous-fenêtres.

C'est à dire ?? Oui, il y a des sous fenêtre pour configurer le logiciel. C'était un choix de conception.


Citation:
Il y a trois branchements de fin, [quitmaina], [quit1], [quit2].

C'est normal, un branchement par fenêtre. (tu as oublié [quitaid] et [quit] ^^)

Citation:
Et bien sûr pas d'enregistrement ni d'impression de l'image, et rien de corrigible après "amélioration".

Maintenant, si.



Citation:
A mon avis, il faudrait recommencer à partir de zéro.

Je suggère de respecter l'auteur pour son important effort, et de ré-enterrer ce programme confus pour toujours.


Tssss. Un peu de respect pour mon travail.
Il n'est pas parfait, loin de là, mais il ne faut pas oublié que je l'ai fait en 2006, c'est à dire un couple de mois après avoir découvert LB ! C'était mon premier programme digne de nom.

Après, programme confus, ok, je veux bien, mais à mon avis, c'est la faute de LB (ou JB) qui ne permet pas de concevoir des architectures de programmes complexes. Donc tout programme codé en LB sera confus s'il fait plus de 1k lignes de code...

Après, il faut se tourner vers le C, le C++, le java au tout autre langage plus structuré.


Citation:
Bon, j'ai eu un moment d'irritation après une vingtaine de plantages, et je suis passé subitement de "très bon programme" à "très mauvais programme". C'est injuste et c'est méconnaître les efforts des gens de bonne volonté.

Rien de grave...


++
Black Templar

Mail MSN Web    
Le 25/06/2012 à 15h18

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2471
J'avais fais un post pour tirer les oreilles de Claude, puis je l'ai supprimé en pensant que cela ne me regardais pas.
Trés bon Black ! tu te défend comme un lion.
Claude oublie qu'on code plus pour le fun que pour faire de véritables outils ( ce qui serait ridicule vu la profusion de supers logiciels gratos qu'on trouve sur le web )
Claude devait etre prof de maths ou ingénieur des mines, il faut lui pardonner son rigorisme. ;)
Et que cela ne t'empeche pas de ressortir de ces bon vieux programmes, bien confus comme je les aimes.
Vive les Belges.!...et Vive la Belgique.!.... ..Une fois. ;)



Edité par Roland Le 25/06/2012 à 15h20
____________________
Roro

   
Visiteur
Le 25/06/2012 à 15h18

Libertynaute Inactif

Groupe: Visiteur



* Eh bien voilà, maintenant la sauvegarde fonctionne enfin correctement.
Merci Black Templar.

* On code (souvent) pour le fun, oui, mais le vrai fun c'est d'écrire un code efficace pour un but limité et accessible, et qui ne soit pas déjà largement diffusé. Même si peut-être personne ne le saura ni ne s'en servira.
Au fond, le plus difficile, c'est d'avoir l'idée créatrice. Après, il suffit de ramer un peu, en persévérant, éventuellement en demandant ici quand on ne sait pas.

* Un dernier point.
Je ne suis ni ingénieur ni mathématicien, pas du tout professionnel des sciences "dures" ni "à-peu-près-exactes".
Mais je les aime bien.

@+

Claude



Edité par Visiteur Le 25/06/2012 à 16h12
____________________
Omnium populorum gallicorum bravissimi sunt Belgae.

Web    
Visiteur
Le 05/07/2012 à 15h11

Libertynaute Inactif

Groupe: Visiteur



Voilà voilà, je m'intéresse toujours à ton programme Graphicus.

* Alors comme tu le suggérais, j'ai inséré dans [save], après "getbmp", les deux lignes suivantes, qui permettent de choisir le nom du fichier de sauvegarde:

FILEDIALOG "Open BMP File", "*.bmp", FileName$
BMPSAVE "drawing", FileName$

Pas trop compliqué, à mon petit niveau, ça fonctionne du premier coup, cest pas bien important mais utile.

* Mais où conduisent les goto [resumef], [resumeg], [resumeh] qui quittent une boucle for-to-next ?
Je ne trouve pas ces routines.

* Je ne cherche pas à t'importuner, mais je voudrais compiler ce programme à l'aide d'un utilitaire gratuit. Or il y a un obstacle avec ces branchements [ ] non reconnus; ainsi que avec [Début], à cause du caractère "é", que LB déconseille mais accepte quand même, mais ça au moins c'et facile à corriger. D'autres difficultés peuvent encore apparaître, mais je suis bloqué là.

* Si tu trouves que j'exagère, on laisse tomber.

Cordialement,

Claude



Edité par Visiteur Le 06/07/2012 à 07h40
____________________
Omnium populorum gallicorum bravissimi sunt Belgae.

Web    
Visiteur
Le 06/07/2012 à 07h46

Libertynaute Inactif

Groupe: Visiteur



En regardant mieux, il me semble que [resumef] et les autres ne sont pas des branchements, mais des sous-routines qui apparaissent dans des boucles for-to-next, et qui sont appelées à partir de [erreur].

Il vaut mieux laisser ce code tel quel vu qu'il fonctionne.

Claude
____________________
Omnium populorum gallicorum bravissimi sunt Belgae.

Web    
Le 06/07/2012 à 12h12

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2471
Bonjour Claude, je ne sais pas si cela est dans tes cordes...Si oui, pourrait-tu jeter un oeil sur mes "Aléas"
Tu peux critiquer au lance flamme... je suis ignifugé--> (le prog est une transcription)
J'ai respecté scrupuleusement le code et la littérature qui allait avec, j'ai meme mis les équations utilisées.
Je sais que tu a eu des soucis d'affichage de décimales, peut-etre peut-tu expliquer les puissances de dix de certains résultats.
J'aimerais que ce programme fonctionne, car il me parait relativement utile. ( vu la variété de son champ d'application )
Tu fait peur en annonçant un "exe", mais ouf! , tu a mis le ".bas". :top
____________________
Roro

   
Le 08/07/2012 à 14h31

Administrateur

Groupe: Administrateur

Inscrit le: 24/09/2010
Messages: 203
hello !

Je prend bien note !
Je repasserais début aout pour répondre ! (là, c'est le grand départ pour les vacances ^^)

Mail MSN Web    
Visiteur
Le 29/07/2012 à 07h54

Libertynaute Inactif

Groupe: Visiteur



Bonjour,

Dans un but d'apaisement, je supprime mon post litigieux du 06-07-2012.

A+

Claude


____________________
Omnium populorum gallicorum bravissimi sunt Belgae.

Web    
Le 29/07/2012 à 08h16

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2471
Bast...ça mets de l'ambiance ! :D
____________________
Roro

   

 |  |

1 Utilisateur en ligne : 0 Administrateur, 0 Modérateur, 0 Membre et 1 Visiteur
Utilisateur en ligne : Aucun membre connecté
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie