FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» mise a jour calculatrice
par JL35 Aujourd'hui à 14:14

» [solved] 3D_LINE How to ?
par papydall Aujourd'hui à 6:51

» supprimé
par joeeee2017 Dim 15 Oct 2017 - 20:02

» calculatrice avec touches movibles
par joeeee2017 Dim 15 Oct 2017 - 1:11

» Convertisseur de base 10 de 2 à 36
par gigi75 Sam 14 Oct 2017 - 21:54

» CORTANA
par gigi75 Sam 14 Oct 2017 - 16:32

» supprimé
par Jean Claude Sam 14 Oct 2017 - 12:30

» Compilateur FBPano
par jean_debord Jeu 12 Oct 2017 - 9:53

» KGF_dll - nouvelles versions
par Klaus Mar 10 Oct 2017 - 18:49

» à propos de Panoramic_Editor [Résolu]
par Klaus Mar 10 Oct 2017 - 3:19

» Un petit "coucou" à tous les Panoramiciens !
par Jack Ven 6 Oct 2017 - 10:24

» Pourquoi le compilateur stagne
par mindstorm Mer 4 Oct 2017 - 20:38

» Panoramic ?
par Marc37 Mer 4 Oct 2017 - 0:39

» Premiers pas avec Arduino
par Marc37 Mer 4 Oct 2017 - 0:29

» Mise à jour PANOMAND
par jean_debord Mar 26 Sep 2017 - 11:33

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Octobre 2017
LunMarMerJeuVenSamDim
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
CalendrierCalendrier

Partagez | 
 

 Compilateur FBPano

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : Précédent  1, 2, 3, 4, 5, 6, 7, 8, 9, 10
AuteurMessage
jean_debord

avatar

Nombre de messages : 756
Age : 63
Localisation : Limoges
Date d'inscription : 21/09/2008

MessageSujet: Re: Compilateur FBPano   Sam 9 Sep 2017 - 12:17

Ajout d'une autre instruction : FB_CONTOUR, pour tracer des courbes de niveaux.

Ces courbes joignent les points où la fonction prend les mêmes valeurs.

Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.unilim.fr/pages_perso/jean.debord/index.htm
Jicehel

avatar

Nombre de messages : 5857
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Compilateur FBPano   Jeu 14 Sep 2017 - 18:03

Ca pour les matheux, c'est carrément pratique pour visualiser les résultats Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
jean_debord

avatar

Nombre de messages : 756
Age : 63
Localisation : Limoges
Date d'inscription : 21/09/2008

MessageSujet: Re: Compilateur FBPano   Ven 15 Sep 2017 - 9:59

Merci Jicehel Smile

En fait j'utilise actuellement ces méthodes pour une application scientifique (chimie de l'environnement) que j'étudie avec des collègues. Voici un exemple des graphiques obtenus, avec ici les courbes de niveaux + un gradient de couleurs.

Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.unilim.fr/pages_perso/jean.debord/index.htm
jean_debord

avatar

Nombre de messages : 756
Age : 63
Localisation : Limoges
Date d'inscription : 21/09/2008

MessageSujet: Re: Compilateur FBPano   Lun 25 Sep 2017 - 10:12

Nouvelle version 0.26
---------------------

1. Nouvelles commandes graphiques FB_CONTOUR et FB_COLORMAP (voir messages précédents) ; les exemples correspondants sont ex79.bas et ex80.bas dans exemples\FLTK.

2. Ajout des fonctions RGBA_R, RGBA_G, RGBA_B, RGBA_A pour extraire les 4 composantes d'une couleur exprimée par un entier de 32 bits

3. Nouvelles versions des programmes de tracé de fractales (exemples\fractal et exemples\fractal\panomand) ; on peut notamment :

- créer des images jusqu'à 5000 x 5000 pixels, donc plus grandes que l'écran

- zoomer en cliquant directement sur l'image, sans passer par la fenêtre de saisie

4. Bug corrigé : la commande SAVE_IMG (apparentée à SNAPSHOT de PANORAMIC) permettait de sauvegarder l'image d'un objet, mais pas de la fenêtre complète

5. Installation : les fichiers sont sur mon WebDav, dossier FBPano.

* Si vous avez installé la version 0.25 : ne pas désinstaller ; exécutez le programme de mise à jour update_025_to_026.exe en gardant le même répertoire d'installation que pour la 0.25

* Si vous avez une version antérieure à 0.25 : désinstallez cette version et installez la version 0.26 complète avec le programme setup_026.exe

Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.unilim.fr/pages_perso/jean.debord/index.htm
Mike

avatar

Nombre de messages : 29
Age : 66
Localisation : NANCY
Date d'inscription : 12/06/2007

MessageSujet: Matwidget vs autre construction   Mer 11 Oct 2017 - 0:01

Bonsoir Jean,
Je t'envoie un petit programme qui met en valeur quelques interrogations que je soumets à ta sagacité.
Bien sûr, il n'est pas optimisé, mais j'ai voulu le découper en sub dédiées pour bien comprendre.
Une construction par Matwidget pour une matrice  et une autre plus conventionnelle.
Le principe est de générer un chiffre ou un nombre aléatoire et de le supprimer de la liste définie au préalable afin que le tirage soit le plus représentatif par rapport à ce qu'il reste réellement
Ce qui m'interpelle est la non application du schème dans une autre construction que par Matwidget.
D'autre part, la fonction get_xywh ne s'applique que s'il y a une action au préalable sur un objet ; sinon, elle est ignorée du moins dans une sub.
Le programme est assez basique mais met bien en valeur ce que j'ai précité.
Je me suis aussi rendu compte qu'il n'était pas possible de supprimer un objet, ce qui n'est pas à priori redhibitoire, mais ça sert quelquefois pour le reconstruire.
Autre question, je n'arrive pas à configurer une dlist avec UTD. Je souhaite qu'en quelques lignes tu puisses me donner un exemple.
En tous cas, les constructions sont instantanées comme tu le verras dans mon exemple et bravo.

Je vais m'attaquer maintenant aux chaînes de caractères et aux fichiers car cela me passionne
Merci de m'avoir lu et sans vouloir t'influencer, il me semble qu'il serait opportun que tu puisses créer un sujet dans Panoramic pour ceux qui désirent proposer leurs programmes dédiés à FBpano

En tout cas, merci pour ton investissement dans notre communauté.
Mike

Code:
dim u%(50),v%(50),i%,num%,num1%

set_scheme "gtk+"
form 0, 100, 100, 650, 500, "Test"
list 200, 400, 60, 50, 350, "200"
list 210, 450, 60, 50, 350, "210"
list 220, 500, 60, 50, 350, "220"
list 230, 550, 60, 50, 350, "230"

button 102, 40, 380, 100, 25
Caption 102,"tirage"

button 103, 220, 380, 100, 25
Caption 103,"tirage"
on_click 102,tirage_nombres
on_click 103,tirage_nombres_2

for i%= 1 to 50
item_add 100,str$(i%)
next i%
for i%= 51 to 100
item_add 120,str$(i%)
next i%
nombres()
nombres2()
start 0
end

Sub tirage_nombres()
init()
dim l%,n%,a$,c%
for i%= 1to 5
c%= item_count(200)
print c%
for l%= 1 to c%
Randomize
n%= (int(c% * Rnd)+1)
next l%
a$=item_read(200,n%)
num%=n%
num%=val(a$)
item_delete 200,n%
' print num%
coul_nombres()
next i%
end sub

Sub tirage_nombres_2()
init2()
dim l%,n%,a$,c%
for i%= 1to 5
c%= item_count(220)
for l%= 1 to c%
Randomize
n%= (int(c% * Rnd)+1)
next l%
a$=item_read(220,n%)
num1%=n%
num1%=val(a$)
item_delete 220,n%
' print num1%
coul_nombres_2()
next i%
end sub

sub coul_nombres()
 dim x%,y%,w%,h%
hide 1  ' s'il n'y a pas d'action au préalable sur un objet get_xywh ne fonctionne pas
get_xywh num%, x%, y%, w%, h%
x%=x%-3
y%=y%-3
w%=30
h%=30
resize num%, x%, y%, w%, h%
font_caption num%,FL_TIMES_BOLD,20
color_fl num%, FL_Yellow
print num%
u%(num%)=num%
item_add 210,str$(num%)
show 1
end sub

sub coul_nombres_2()
 dim x%,y%,w%,h%
hide 51 ' s'il n'y a pas d'action au préalable sur un objet get_xywh ne fonctionne pas
get_xywh num1%, x%, y%, w%, h%
x%=x%-3
y%=y%-3
w%=30
h%=30
resize num1%, x%, y%, w%, h%
font_caption num1%,FL_TIMES_BOLD,20
color_fl num1%, FL_Yellow
print num1%
v%(num1%)=num1%
item_add 230,str$(num1%)
show 51
end sub

sub nombres() ' Construction par Matwidget

dim obj%,nfirst%,nlast%,i% ' schème ok comme défini au départ
dim x%,y%,w%,h%
nfirst = 1
nlast = matwidget(T_Button, 10, 5, 1, 20, 60, 25, 25, 5, 5, 2)
for obj% = nfirst to nlast
  caption obj, str(obj)
  set_box_type obj, 54
  color_fl obj%, FL_cyan
next obj
end sub

sub nombres2() ' construction plus conventionnelle

set_scheme "gtk+" ' pas de schème dans cette configuration
dim obj%,i%,x%,y%,w%,h%
x%=200:y%=60:w%=25:h%=25
for obj%=51 to 96 step 5
button obj%,x%,y%,25,25,str$(obj%-50)
color_fl obj%, FL_cyan
y%=y%+30
next obj%
x%=230:y%=60
for obj%=52 to 97 step 5
button obj%,x%,y%,25,25,str$(obj%-50)
color_fl obj%, FL_cyan
y%=y%+30
next obj%
x%=260:y%=60
for obj%=53 to 98 step 5
button obj%,x%,y%,25,25,str$(obj%-50)
color_fl obj%, FL_cyan
y%=y%+30
next obj%
x%=290:y%=60
for obj%=54 to 99 step 5
button obj%,x%,y%,25,25,str$(obj%-50)
color_fl obj%, FL_cyan
y%=y%+30
next obj%
x%=320:y%=60
for obj%=55 to 100 step 5
button obj%,x%,y%,25,25,str$(obj%-50)
color_fl obj%, FL_cyan
y%=y%+30
next obj%
end sub

sub init() ' récupération des nombres du précédent tirage et remise en forme du tableau
dim font
dim l%,a$,z%
dim x%,y%,w%,h%
font= num_font("arial")
list_clear 200
for i%= 1 to 50
item_add 200,str$(i%)
next i%
l%=item_count(210)
for i%= 1 to l%
a$=item_read (210,i%)
z%=val(a$)
get_xywh z%,x%, y%, w%, h%
x%=x%+3
y%=y%+3
w%=25
h%=25
resize z%, x%, y%, w%, h%
font_caption z%,font,12
color_fl z%, FL_cyan
next i%
list_clear 210
end sub

sub init2() ' récupération des nombres du précédent tirage et remise en forme du tableau
dim font
dim l%,a$,z%
dim x%,y%,w%,h%
font= num_font("arial")
list_clear 220
for i%= 51 to 100
item_add 220,str$(i%)
next i%
l%=item_count(230)
for i%= 1 to l%
a$=item_read (230,i%)
z%=val(a$)
get_xywh z%,x%, y%, w%, h%
x%=x%+3
y%=y%+3
w%=25
h%=25
resize z%, x%, y%, w%, h%
font_caption z%,font,12
color_fl z%, FL_cyan
next i%
list_clear 230
end sub
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
jean_debord

avatar

Nombre de messages : 756
Age : 63
Localisation : Limoges
Date d'inscription : 21/09/2008

MessageSujet: Re: Compilateur FBPano   Mer 11 Oct 2017 - 10:14

Bonjour Mike,

Merci pour cet exemple. Je regarde cela dès que possible.

Je peux déjà te dire que :

1) Effectivement, il n'y a pas d'instruction pour détruire un objet. C'est un oubli de ma part. Ce sera corrigé dans la prochaine mise à jour.

2) Les DLISTs ne peuvent contenir que des chaînes de caractères, comme en PANORAMIC. Pour les UDTs on peut faire des tableaux, et même des tableaux dynamiques :

Code:

type myUDT = (a%, b, c$)

dim ts<myUDT>(100)  ' tableau statique (taille constante)

dim td<myUDT>()     ' tableau dynamique (taille variable)

dim n%

randomize timer
n = rnd * 100

redim td<myUDT>(n)  ' "redim preserve" pour garder le contenu précédent

td(n).a = 10
td(n).b = 3.14
td(n).c = "hello"

? n, ubound(td), td(n).a, td(n).b, td(n).c

3) On peut créer de nouveaux sujets dans le sous-forum du compilateur FBPano. Il suffit de cliquer sur le bouton "Nouveau".
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.unilim.fr/pages_perso/jean.debord/index.htm
jean_debord

avatar

Nombre de messages : 756
Age : 63
Localisation : Limoges
Date d'inscription : 21/09/2008

MessageSujet: Re: Compilateur FBPano   Mer 11 Oct 2017 - 11:33

En ce qui concerne le programme proprement dit :

1) SET_SCHEME fonctionne de façon globale : il affecte tous les objets simultanément, c'est pourquoi il vaut mieux le définir une fois pour toutes en début de programme. Pour changer ensuite le style d'un objet particulier il faut utiliser SET_BOX_TYPE comme dans le sous-programme NOMBRES

2) GET_XYWH fonctionne très bien ; il faut juste faire REDRAW à la fin du sous-programme pour forcer FLTK à redessiner la fenêtre :

Code:

sub coul_nombres()
dim x%,y%,w%,h%
get_xywh num%, x%, y%, w%, h%
x%=x%-3
y%=y%-3
w%=30
h%=30
resize num%, x%, y%, w%, h%
font_caption num%,FL_TIMES_BOLD,20
color_fl num%, FL_Yellow
print num%
u%(num%)=num%
item_add 210,str$(num%)
redraw
end sub

Moi aussi, je me fais souvent avoir par oubli de REDRAW Smile
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.unilim.fr/pages_perso/jean.debord/index.htm
Mike

avatar

Nombre de messages : 29
Age : 66
Localisation : NANCY
Date d'inscription : 12/06/2007

MessageSujet: Re: Compilateur FBPano   Mer 11 Oct 2017 - 19:25

Bonsoir Jean,
Merci beaucoup pour tes réponses bien claires.
Je te confirme que GET_XYWH fonctionne parfaitement après un redraw.
SET_SCHEME est moins évident, mais je dois tester car ce soir je n'ai pas le temps mais il me semble que ça ne fonctionne pas tout à fait comme tu dis.
Concernant les dlist, merci d'avoir éclairé ma lanterne et j'ai bien tout compris dans ton exemple.
Mais de base, je voulais simplement déclarer une dlist comme on le fait dans panoramic sur un objet avec simplement un numéro.
Merci aussi de m'avoir simplement signalé que dans le forum, il était possible de générer un nouveau sujet.
Cela prouve que je ne suis pas très actif.
Bonne soirée
Mike
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
jean_debord

avatar

Nombre de messages : 756
Age : 63
Localisation : Limoges
Date d'inscription : 21/09/2008

MessageSujet: Re: Compilateur FBPano   Jeu 12 Oct 2017 - 9:53

Bonjour Mike,

Extrait de la documentation :

-------------
Les DLISTs (Data Lists) sont des structures de données dynamiques contenant des chaînes de caractères.

   Création : comme un UDT avec le type prédéfini dlist

   dim list <dlist>
--------------

Les DLISTs n'ont donc pas de numéro. Contrairement aux LISTs, ce ne sont pas des objets graphiques. On les distingue par le nom de la variable :

Code:

dim L1 <dlist>
dim L2 <dlist>

Bien sûr tu peux créer un tableau de DLISTs :

Code:

dim L <dlist> (10)

auquel cas chaque DLIST sera repérée par son indice dans le tableau : L(0) à L(10)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.unilim.fr/pages_perso/jean.debord/index.htm
Contenu sponsorisé




MessageSujet: Re: Compilateur FBPano   

Revenir en haut Aller en bas
 
Compilateur FBPano
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 10 sur 10Aller à la page : Précédent  1, 2, 3, 4, 5, 6, 7, 8, 9, 10
 Sujets similaires
-
» Compilateur FBPano
» compilateur
» Compilateur --> ERREUR ’-‘ is not a valid integer value
» Compilateur : version de travail disponible

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: Grands projets réalisés avec Panoramic :: Compilateur FBPANO-
Sauter vers: