Forum Liberty Basic France
• Index
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
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

Pas mal !
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,.
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....


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.


____________________
Roro
Roro
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
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
Hello !
Oui, tu peux régler l'échelle et le pas en cliquant sur le bouton "Redimentionner la fenêtre graphique"
++
Black Templar
Oui, tu peux régler l'échelle et le pas en cliquant sur le bouton "Redimentionner la fenêtre graphique"
++
Black Templar
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 obtient6 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
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
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
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
Il y a 640 lignes de code, quasiment sans lignes vides.
Il vaut mieux le laisser en l'état.
Claude
Oui, pas bête comme idée !
Et ça peut se faire assez rapidement, en une petite dizaine de ligne de code en plus
Et ça peut se faire assez rapidement, en une petite dizaine de ligne de code en plus

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 :
Ensuite, j'ai modifié le menu pour rajouter dans fichier, le menu save :
Code VB :
Enfin, j'ai rajouté un bout de code qui sauvegardera l'image lorsque l'utilisateur clique sur Fichier=>Sauvegarder
Code VB :
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
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
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
Graphicus_1.2.rar de ton premier post n'a pas été modifié.
Claude
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
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
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
Claude
Oula ! Claude !
Qu'est-ce qui a bien pu t'énerver à ce point ?? Oo
Citation:
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:
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:
Il suffit de la rajouter.
Citation:
??? 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:
C'est à dire ?? Oui, il y a des sous fenêtre pour configurer le logiciel. C'était un choix de conception.
Citation:
C'est normal, un branchement par fenêtre. (tu as oublié [quitaid] et [quit] ^^)
Citation:
Maintenant, si.
Citation:
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:
Rien de grave...
++
Black Templar
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é.
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".
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.
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
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
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
Roro
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
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
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
* 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
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
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
Il vaut mieux laisser ce code tel quel vu qu'il fonctionne.
Claude
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".
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".

____________________
Roro
Roro
hello !
Je prend bien note !
Je repasserais début aout pour répondre ! (là, c'est le grand départ pour les vacances ^^)
Je prend bien note !
Je repasserais début aout pour répondre ! (là, c'est le grand départ pour les vacances ^^)
Libertynaute Inactif
Groupe: Visiteur
Bonjour,
Dans un but d'apaisement, je supprime mon post litigieux du 06-07-2012.
A+
Claude
Dans un but d'apaisement, je supprime mon post litigieux du 06-07-2012.
A+
Claude
Bast...ça mets de l'ambiance !

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