Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| Compilateur FBPano | |
|
+11Pedro Ouf_ca_passe RMont Yannick Klaus papydall pascal10000 Minibug Jicehel jpcr jean_debord 15 participants | |
Auteur | Message |
---|
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Compilateur FBPano Lun 22 Mai 2017 - 10:43 | |
| Trop bien vraiment pratique | |
| | | jean_debord
Nombre de messages : 1266 Age : 70 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: Re: Compilateur FBPano Sam 27 Mai 2017 - 10:47 | |
| Nouvelle version 0.22 ---------------------
1. Ajout des glissières et barres de défilement
2. Modifications des instructions FILE_READ et FILE_WRITE ; ajout des instructions FILE_WRITE_CSV et FILE_READ_CSV (voir documentation, chapitre "Les fonctions non graphiques de FBPano", paragraphe "Fichiers texte")
3. Nouveaux programmes de démonstration (dans exemples\FLTK) :
ex70.bas : glissières ex71.bas : barres de défilement ex72.bas : carnet d'adresses
4. Installation : les fichiers sont sur mon WebDav, dossier FBPano.
* Si vous avez installé la version 0.21 : ne pas désinstaller ; exécutez le programme de mise à jour update_021_to_022.exe en gardant le même répertoire d'installation que pour la 0.21
* Si vous avez une version antérieure à 0.21 : désinstallez cette version et installez la version 0.22 complète avec le programme setup_022.exe | |
| | | jean_debord
Nombre de messages : 1266 Age : 70 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: Re: Compilateur FBPano Mer 31 Mai 2017 - 10:26 | |
| Voici un premier essai d'adaptation du programme "Esthétique polaire" de Papydall : - Code:
-
' ******************************************************************* ' Esthetique polaire ' Par Papydall ' Adaptation pour FBPano par J. Debord ' *******************************************************************
' ------------------------------------------------------------------- ' Constantes et variables ' -------------------------------------------------------------------
dim s(360), c(360) ' Table des sinus et cosinus
dim obj% ' Indice d'un objet dim cap$ ' Label d'un objet
' ------------------------------------------------------------------- ' Creation de l'interface graphique ' -------------------------------------------------------------------
enum GUI fmMain, alEq1, alEq2 ct_p, ct_u, ct_v, ct_q, ct_w, ct_z, rd_p1, rd_p2, rd_u1, rd_u2, rd_v1, rd_v2, rd_q1, rd_q2, rd_w1, rd_w2, rd_z1, rd_z2, spSize, edFile, btGraph, alImage end enum
set_scheme "gtk+"
form fmMain, 100, 100, 720, 500, "Esthetique polaire"
alpha alEq1, 10, 10, 200, 30, "x = r (1 + p.u) v", , FL_FLAT_BOX alpha alEq2, 10, 40, 200, 30, "y = r (1 + q.w) z", , FL_FLAT_BOX
container ct_p, 50, 100, 150, 35, "p "
container_begin ct_p radio rd_p1, 55, 105, 20, 25, "+1" radio rd_p2, 130, 105, 20, 25, "-1" container_end ct_p
container ct_u, 50, 145, 150, 35, "u "
container_begin ct_u radio rd_u1, 55, 150, 20, 25, "cos(a)" radio rd_u2, 130, 150, 20, 25, "sin(a)" container_end ct_u
container ct_v, 50, 190, 150, 35, "v "
container_begin ct_v radio rd_v1, 55, 195, 20, 25, "cos(a)" radio rd_v2, 130, 195, 20, 25, "sin(a)" container_end ct_v
container ct_q, 50, 235, 150, 35, "q "
container_begin ct_q radio rd_q1, 55, 240, 20, 25, "+1" radio rd_q2, 130, 240, 20, 25, "-1" container_end ct_q
container ct_w, 50, 280, 150, 35, "w "
container_begin ct_w radio rd_w1, 55, 285, 20, 25, "cos(a)" radio rd_w2, 130, 285, 20, 25, "sin(a)" container_end ct_w
container ct_z, 50, 325, 150, 35, "z "
container_begin ct_z radio rd_z1, 55, 330, 20, 25, "cos(a)" radio rd_z2, 130, 330, 20, 25, "sin(a)" container_end ct_z
spin spSize, 120, 380, 90, 25, "Taille de l'image "
edit edFile, 110, 420, 100, 25, "Fichier (*.png) "
button btGraph, 10, 460, 200, 30, "Tracer", , T_Button_Return
alpha alImage, 230, 10, 480, 480, , , FL_FLAT_BOX
' ------------------------------------------------------------------- ' Proprietes des objets ' -------------------------------------------------------------------
for obj = alEq1 to alEq2 color_fl obj, FL_DARK_GREEN color_caption_fl obj, FL_YELLOW font_caption obj, FL_HELVETICA_BOLD, 20 next obj
for obj = ct_p to ct_z caption_align obj, FL_ALIGN_LEFT font_caption obj, FL_HELVETICA, 20 next obj
mark_on rd_p1 mark_on rd_u1 mark_on rd_v1
mark_on rd_q2 mark_on rd_w2 mark_on rd_z2
color_text_fl spSize, FL_RED position_range spSize, 100, 450, 10 position spSize, 400
color_text_fl edFile, FL_RED text edFile, "polar"
color_fl alImage, FL_BLACK
' ------------------------------------------------------------------- ' Affectation des sous-programmes aux evenements ' -------------------------------------------------------------------
on_click btGraph, Graph
' ------------------------------------------------------------------- ' Lancement de l'application ' -------------------------------------------------------------------
LUT s(), c()
start fmMain
' ------------------------------------------------------------------- ' Sous-programmes utilitaires ' -------------------------------------------------------------------
sub LUT (s(), c()) ' Look-Up Table : Sinus et Cosinus pour les angles de 0 a 360 degres
dim i%, a
for i = 0 to 360 a = i * 0.01745329252 ' radians s(i) = sin(a) c(i) = cos(a) next i end sub
sub Calc (r, a%, x, y) ' Calcul des coordonnees (x,y) d'un point ' en fonction du rayon r et de l'angle a en degres
dim p%, q%, u, v, w, z
if checked(rd_u1) then u = c(a) else u = s(a) if checked(rd_v1) then v = c(a) else v = s(a) if checked(rd_w1) then w = c(a) else w = s(a) if checked(rd_z1) then z = c(a) else z = s(a)
if checked(rd_p1) then x = 1 + u else x = 1 - u if checked(rd_q1) then y = 1 + w else y = 1 - w
x = r * x * v y = r * y * z end_sub
function GetColor% (r, a%) ' Calcule la couleur dans le systeme HSV
dim h, s, v, rr%, gg%, bb% h = a s = 1 - 0.3 * r v = 1 - 0.2 * r
HSVtoRGB h, s, v, rr, gg, bb GetColor = RGB(rr, gg, bb) end_function
' ------------------------------------------------------------------- ' Sous-programmes associes aux evenements ' -------------------------------------------------------------------
sub Graph ()
const xmin = -1, xmax = 1 const ymin = -1, ymax = 1
const stp = 1 / 256
dim size% ' Taille de l'image dim a%, r, x, y dim filename$
size = get_position(spSize) filename = trim(get_text(edFile))
fb_img_begin 0, size, size fb_window xmin, ymin, xmax, ymax
for r = 0 to 0.5 step stp for a = 0 to 360 Calc r, a, x, y fb_pen_color GetColor(r, a) fb_point x, y fb_point -x, y next a next r
if filename <> "" then fb_save filename + ".png" fb_img_end
fb_set_img alImage, 0 redraw end_sub
La coloration est faite dans le système HSV, l'angle "a" déterminant la teinte (position sur le cercle de couleurs). On peut choisir la taille de l'image. L'image est sauvegardée sous forme de fichier PNG avec fond transparent, ce qui permet de l'utiliser éventuellement comme "sprite" ... pour faire des vaisseaux "aliens" par exemple Il y a encore quelques bricoles à améliorer ... Cela pourrait faire l'objet d'un article ; je vois déjà le titre : "56 variations sur un thème de Papydall" | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Compilateur FBPano Mer 31 Mai 2017 - 14:56 | |
| | |
| | | jean_debord
Nombre de messages : 1266 Age : 70 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: Re: Compilateur FBPano Jeu 1 Juin 2017 - 10:14 | |
| Merci papydall Voici une version légèrement améliorée qui permet de choisir le nombre de courbes que l'on veut superposer. - Code:
-
' ******************************************************************* ' Esthetique polaire ' Par Papydall ' Adaptation pour FBPano par J. Debord ' *******************************************************************
' ------------------------------------------------------------------- ' Constantes et variables ' -------------------------------------------------------------------
dim s(360), c(360) ' Table des sinus et cosinus
dim obj% ' Indice d'un objet dim cap$ ' Label d'un objet
' ------------------------------------------------------------------- ' Creation de l'interface graphique ' -------------------------------------------------------------------
enum GUI fmMain, alEq1, alEq2 ct_p, ct_u, ct_v, ct_q, ct_w, ct_z, rd_p1, rd_p2, rd_u1, rd_u2, rd_v1, rd_v2, rd_q1, rd_q2, rd_w1, rd_w2, rd_z1, rd_z2, spNCurv, spSize, edFile, btGraph, alImage end enum
set_scheme "gtk+"
form fmMain, 100, 100, 720, 500, "Esthetique polaire"
alpha alEq1, 10, 10, 200, 30, "x = r (1 + p.u) v", , FL_FLAT_BOX alpha alEq2, 10, 40, 200, 30, "y = r (1 + q.w) z", , FL_FLAT_BOX
container ct_p, 30, 80, 180, 35, "p "
container_begin ct_p radio rd_p1, 40, 85, 20, 25, "+1" radio rd_p2, 130, 85, 20, 25, "-1" container_end ct_p
container ct_u, 30, 125, 180, 35, "u "
container_begin ct_u radio rd_u1, 40, 130, 20, 25, "cos(a)" radio rd_u2, 130, 130, 20, 25, "sin(a)" container_end ct_u
container ct_v, 30, 170, 180, 35, "v "
container_begin ct_v radio rd_v1, 40, 175, 20, 25, "cos(a)" radio rd_v2, 130, 175, 20, 25, "sin(a)" container_end ct_v
container ct_q, 30, 215, 180, 35, "q "
container_begin ct_q radio rd_q1, 40, 220, 20, 25, "+1" radio rd_q2, 130, 220, 20, 25, "-1" container_end ct_q
container ct_w, 30, 260, 180, 35, "w "
container_begin ct_w radio rd_w1, 40, 265, 20, 25, "cos(a)" radio rd_w2, 130, 265, 20, 25, "sin(a)" container_end ct_w
container ct_z, 30, 305, 180, 35, "z "
container_begin ct_z radio rd_z1, 40, 310, 20, 25, "cos(a)" radio rd_z2, 130, 310, 20, 25, "sin(a)" container_end ct_z
spin spNCurv, 120, 355, 90, 25, "Nb de courbes " spin spSize, 120, 390, 90, 25, "Taille de l'image " edit edFile, 120, 425, 90, 25, "Fichier (*.png) " button btGraph, 10, 460, 200, 30, "Tracer", , T_Button_Return alpha alImage, 230, 10, 480, 480, , , FL_FLAT_BOX
' ------------------------------------------------------------------- ' Proprietes des objets ' -------------------------------------------------------------------
for obj = alEq1 to alEq2 color_fl obj, FL_DARK_GREEN color_caption_fl obj, FL_YELLOW font_caption obj, FL_HELVETICA_BOLD, 20 next obj
for obj = ct_p to ct_z caption_align obj, FL_ALIGN_LEFT font_caption obj, FL_HELVETICA, 20 next obj
mark_on rd_p1 mark_on rd_u1 mark_on rd_v1
mark_on rd_q2 mark_on rd_w2 mark_on rd_z2
for obj = spNCurv to edFile color_text_fl obj, FL_RED next obj
position_range spNCurv, 1, 500, 1 position spNCurv, 100 position_range spSize, 100, 450, 10 position spSize, 400
text edFile, "polar"
color_fl alImage, FL_BLACK
' ------------------------------------------------------------------- ' Affectation des sous-programmes aux evenements ' -------------------------------------------------------------------
on_click btGraph, Graph
' ------------------------------------------------------------------- ' Lancement de l'application ' -------------------------------------------------------------------
LUT s(), c()
start fmMain
' ------------------------------------------------------------------- ' Sous-programmes utilitaires ' -------------------------------------------------------------------
sub LUT (s(), c()) ' Look-Up Table : Sinus et Cosinus pour les angles de 0 a 360 degres
dim i%, a
s(0) = 0 c(0) = 1 for i = 1 to 360 a = i * 0.01745329252 ' radians s(i) = sin(a) c(i) = cos(a) next i end sub
sub Calc (a%, x, y) ' Calcul des coordonnees d'un point de la courbe de reference (r = 1) ' en fonction de l'angle a en degres
dim u, v, w, z
if checked(rd_u1) then u = c(a) else u = s(a) if checked(rd_v1) then v = c(a) else v = s(a) if checked(rd_w1) then w = c(a) else w = s(a) if checked(rd_z1) then z = c(a) else z = s(a)
if checked(rd_p1) then x = 1 + u else x = 1 - u if checked(rd_q1) then y = 1 + w else y = 1 - w
x = x * v y = y * z end_sub
function GetColor% (r, a%) ' Calcule la couleur dans le systeme HSV
dim h, s, v, rr%, gg%, bb%
h = a s = 1 v = 1
HSVtoRGB h, s, v, rr, gg, bb GetColor = RGB(rr, gg, bb) end_function
' ------------------------------------------------------------------- ' Sous-programmes associes aux evenements ' -------------------------------------------------------------------
sub Graph ()
const xmin = -2, xmax = 2 const ymin = -2, ymax = 2
dim nc% ' Nb de courbes dim size% ' Taille de l'image dim x(360), y(360) ' Pts de la courbe de reference (r = 1) dim a%, r, xr, yr ' Parametres et pts d'une courbe quelconque dim i% ' Indice de la courbe dim dr ' Increment de r dim filename$ ' Nom du fichier PNG
nc = get_position(spNCurv) size = get_position(spSize) filename = trim(get_text(edFile))
dr = 1 / nc ' Calcul de la courbe de refernce for a = 0 to 360 Calc a, x(a), y(a) next a
' Trace des courbes fb_img_begin 0, size, size fb_window xmin, ymin, xmax, ymax
for i = 1 to nc r = i * dr for a = 0 to 360 xr = x(a) * r yr = y(a) * r fb_pen_color GetColor(r, a) fb_point xr, yr fb_point -xr, yr next a next i
if filename <> "" then fb_save filename + ".png" fb_img_end
fb_set_img alImage, 0 redraw end_sub
Il est intéressant de pouvoir tracer un petit nombre de courbes, ou même comme ici une seule courbe pour avoir la forme de base. Le calcul a été amélioré : on calcule d'abord les coordonnees pour une courbe de référence (r = 1) ; pour tracer les autres courbes il suffit de multiplier ces coordonnees par r. Ceci entraîne une certaine accélération. Le programme PANORAMIC pourrait peut-être en profiter ? | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Compilateur FBPano Jeu 1 Juin 2017 - 14:28 | |
| Merci Jean.
A la prochaine ! | |
| | | jean_debord
Nombre de messages : 1266 Age : 70 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: Re: Compilateur FBPano Mer 21 Juin 2017 - 20:03 | |
| Nouvelle version 0.23 --------------------- 1. Ajout des CONTAINER_TAB et des TABS Pour les explications voir la documentation : fbpano.htm --> Les objets FLTK (3) 2. Nouveaux programmes de démonstration (dans exemples\FLTK) : ex73.bas : "Esthetique polaire" d'après Papydall ex74.bas : Démonstration des TABS 3. Nouveaux programmes de fractales (dans exemples\fractal\panomand) : biomorph.bas : pour les biomorphes de Pickover newton.bas : pour la méthode de Newton 4. Installation : les fichiers sont sur mon WebDav, dossier FBPano. * Si vous avez installé la version 0.22 : ne pas désinstaller ; exécutez le programme de mise à jour update_022_to_023.exe en gardant le même répertoire d'installation que pour la 0.22 * Si vous avez une version antérieure à 0.22 : désinstallez cette version et installez la version 0.23 complète avec le programme setup_023.exe | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Compilateur FBPano Jeu 22 Juin 2017 - 0:34 | |
| J’ai fais la mise à jour de la version 023 Merci Jean. A propos, comment connaitre la version de FBPano que l’on a installée? | |
| | | jean_debord
Nombre de messages : 1266 Age : 70 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: Re: Compilateur FBPano Jeu 22 Juin 2017 - 8:56 | |
| Pour le moment, le seul moyen c'est d'afficher le fichier fbpano.htm
Je ferai en sorte que le programme start_fbpano.exe écrive le numéro de version. | |
| | | jean_debord
Nombre de messages : 1266 Age : 70 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: Re: Compilateur FBPano Sam 8 Juil 2017 - 10:49 | |
| La prochaine version de FBPano apportera les objets TREEVIEW. Dans la version de base, ils se comportent un peu comme des menus avec des sous-menus (figure de gauche). Mais l'intérêt, c'est qu'on peut affecter des objets à chaque élément (figure de droite). On peut ainsi créer des masques de saisie plus ou moins complexes. Il y a toutefois une petite limitation : pour que les objets apparaissent bien alignés sur le côté gauche, il faut utiliser une police de caractères à chasse fixe (police Courier sur l'exemple ci-dessus). | |
| | | jean_debord
Nombre de messages : 1266 Age : 70 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: Re: Compilateur FBPano Sam 22 Juil 2017 - 9:54 | |
| Nouvelle version 0.24 ---------------------
1. Ajout des TREEVIEW (voir message précedent)
Pour les explications voir la documentation : fbpano.htm --> Les objets FLTK --> 8. TREEVIEW
2. Programmes de démonstration de TREEVIEW : ex75, ex76, ex76a (dans exemples\FLTK)
3. Correction d'un bug signalé par Ouf_ça_passe : certaines instructions utilisant des listes de paramètres ne fonctionnaient pas lorsque les virgules séparant les paramètres n'étaient pas suivies d'un espace
4. Le programme start_fbpano affiche désormais le numéro de version
5. Installation : les fichiers sont sur mon WebDav, dossier FBPano.
* Si vous avez installé la version 0.23 : ne pas désinstaller ; exécutez le programme de mise à jour update_023_to_024.exe en gardant le même répertoire d'installation que pour la 0.23
* Si vous avez une version antérieure à 0.23 : désinstallez cette version et installez la version 0.24 complète avec le programme setup_024.exe | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Compilateur FBPano Ven 28 Juil 2017 - 10:59 | |
| Tu devrais ajouter une constante avec le numéro de version pour pouvoir le gérer par programmation et faire des tests si nécessaire dans l'exécution du code, au moins un qui dirait de mettre à jour à l'exécution si la version est trop ancienne | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Ven 28 Juil 2017 - 15:00 | |
| Bien que j' ai décroché, je te félicite pour ta persévérance. | |
| | | jean_debord
Nombre de messages : 1266 Age : 70 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: Re: Compilateur FBPano Lun 31 Juil 2017 - 10:14 | |
| ... en espérant que cette persévérance montrera l'exemple à ceux qui ont abandonné leur projet et les incitera à s'y remettre En attendant, voici une petite astuce de FLTK pour insérer certains symboles graphiques dans les intitulés des objets, sans passer par des icônes : - Code:
-
dim i%, label$
data "->" ,">" ,">>" ,">|" ,">[]" ,"<|" data "<-" ,"<" ,"<<" ,"|<" ,"[]<" ,"|>" data "<->" ,"->|" ,"||" ,"+" ,"arrow" ,"returnarrow" data "square","circle","line","menu","UpArrow","DnArrow"
form 0, 100, 100, 450, 420, "Labels symboliques"
matwidget T_Button, 4, 6, 1, 20, 20, 60, 60, 10, 40 matwidget T_Alpha, 4, 6, 25, 20, 80, 60, 20, 10, 80
for i = 1 to 24 read label caption i, "@" + label font_caption i, , 30 color_caption_fl i, FL_GREEN caption i + 24, label next i start 0
Chaque symbole est défini par une chaîne de caractères (en-dessous du bouton) : dans l'instruction CAPTION le symbole est obtenu en préfixant la chaîne par "@" Il y a en plus tout un système pour modifier la taille et l'orientation des symboles, un peu comme l'instruction DRAW de FreeBASIC. | |
| | | jean_debord
Nombre de messages : 1266 Age : 70 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: Re: Compilateur FBPano Lun 7 Aoû 2017 - 11:10 | |
| Quelques commandes supplémentaires pour les TREEVIEW : - ajout d'icônes - modification ou suppression des lignes qui matérialisent l'arborescence Ici un TREEVIEW qui pourrait servir de menu : Le TREEVIEW est un objet très pratique | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Compilateur FBPano Lun 7 Aoû 2017 - 23:49 | |
| | |
| | | Mike
Nombre de messages : 31 Age : 73 Localisation : NANCY Date d'inscription : 12/06/2007
| Sujet: Demande d'éclairage avec les list Mar 15 Aoû 2017 - 17:29 | |
| Bonjour Jean, Je te soumets ce petit programme simple qui consiste à générer 1000 nombres dans un list et les reproduire avec un filtre dans un autre. La variable de comptage s'incrémente bien, sauf que le remplissage dans le deuxième list se limite à 256 items. Aurais-je fais une erreur de programmation ou le remplissage des items sont limités malgré que ce ne soit pas le cas dans le premier list. J'ai aussi essayé de changer les variables et leurs assignations, mais c'est pareil. J'ai aussi bien compris que par défaut les variables dans les sub étaient du type variables locales, mais même en les changeant, c'est pareil Peux-tu éclairer ma petite lanterne ? Merci et bonnes vacances si c'est le cas. Cordialement Mike - Code:
-
form 0, 100, 100, 1020, 600, "Essai de transfert d'un list à un autre" color_fl 0, FL_Cyan
list 1, 10, 20, 300, 500, "Remplissage 1" list 2,350,20,300,500,"réception après requête"
remplir() affiche() start 0
end
sub remplir() dim i% dim y% y%=1000 for i%= 1 to y% item_add (1,str$(i%)) caption 1,str$(i%) next i% end sub
sub affiche() dim i% dim y% y%=1000 dim a$
for i%= 1 to y% a$=item_read (1,i%) if val (a$)<10 or val(a$) >100 then item_add 2,a$ ' item_add 2, str$(i%) end_if caption 2,str$(i%) next i% end sub | |
| | | jean_debord
Nombre de messages : 1266 Age : 70 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: Re: Compilateur FBPano Mer 16 Aoû 2017 - 7:49 | |
| Bonjour Mike,
Merci d'avoir signalé ce bug !
Il y a bien saturation. La fonction item_read cesse de transmettre son résultat au programme appelant après 256 appels !
Le bug affecte aussi les COMBOs, et probablement d'autres fonctions aussi.
Je réfléchis à la meilleure manière de le corriger (transformer les fonctions en sous-programmes ? transformer la DLL panofltk en une bibliothèque statique ? ...)
J'espère avoir trouvé la solution pour la prochaine mise à jour.
PS. J'ai ajouté 2 commandes pour plier et déplier les branches des TREEVIEW. | |
| | | jean_debord
Nombre de messages : 1266 Age : 70 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: Re: Compilateur FBPano Jeu 17 Aoû 2017 - 9:07 | |
| Le bug est corrigé. J'ai pu faire fonctionner le programme de Mike jusqu'à 1 million d'items dans les listes J'ai choisi la première méthode : transformation des fonctions en procédures dans la DLL, et ajout dans panofltk.bi de fonctions qui appellent ces procédures. Ce n'est pas l'idéal, puisqu'il y a 2 appels au lieu d'un, mais cela évite de devoir modifier les programmes existants, ainsi que la documentation. La deuxième méthode (transformation de la DLL en bibliothèque statique) est en cours d'étude mais ce sera beaucoup plus long. Une nouvelle version de FBPano sera disponible dans les jours qui viennent. J'ai encore un programme exemple à terminer. | |
| | | Mike
Nombre de messages : 31 Age : 73 Localisation : NANCY Date d'inscription : 12/06/2007
| Sujet: Re: Compilateur FBPano Jeu 17 Aoû 2017 - 12:52 | |
| Merci Jean, c'est parfait. Et aussi pour la possibilité de faire apparaître un TREEVIEW replié au départ. Je ne manquerai pas de te faire part de mes interrogations au fil de mes essais qui me passionnent, comme tout ce qui est Panoramic. Et encore bravo pour ton projet. Mike | |
| | | jean_debord
Nombre de messages : 1266 Age : 70 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: Re: Compilateur FBPano Lun 21 Aoû 2017 - 9:09 | |
| Voici donc la : Nouvelle version 0.25 --------------------- 1. Ajout des labels symboliques et des TREEVIEW avec icônes (voir messages précédents) Pour les explications voir la documentation : fbpano.htm --> Les objets FLTK (1) et (8 ) 2. Nouvelles commandes : TREE_OPEN, TREE_CLOSE : pour déplier ou replier les branches des TREEVIEW TREE_CONNECTOR_STYLE, COLOR_CONNECTOR_FL, COLOR_CONNECTOR_RGB : pour modifier l'aspect des lignes dans les TREEVIEW ACTIVE, INACTIVE : pour activer ou désactiver un objet 3. Nouveaux programmes de démonstration (dans exemples\FLTK) : ex04a.bas : Labels symboliques ex77.bas : TREEVIEW avec icônes ex78.bas : Calendrier (d'après un programme PANORAMIC de Jean-Claude) : 4. Correction du bug signalé par Mike : les fonctions FLTK qui retournent des chaînes de caractères ne pouvaient pas être appelées plus de 256 fois 5. Installation : les fichiers sont sur mon WebDav, dossier FBPano. * Si vous avez installé la version 0.24 : ne pas désinstaller ; exécutez le programme de mise à jour update_024_to_025.exe en gardant le même répertoire d'installation que pour la 0.24 * Si vous avez une version antérieure à 0.24 : désinstallez cette version et installez la version 0.24 complète avec le programme setup_025.exe 6. Note : certains programmes exécutables (*.exe) compilés avec les anciennes versions pourraient ne pas fonctionner avec cette version : dans ce cas, il suffit de les recompiler. | |
| | | Mike
Nombre de messages : 31 Age : 73 Localisation : NANCY Date d'inscription : 12/06/2007
| Sujet: Re: Compilateur FBPano Lun 21 Aoû 2017 - 22:17 | |
| @Jean Tout fonctionne très bien. J'ai encore quelques suggestions à te soummettre pour parfaire ton projet. Bien sûr, il manque toujours quelque chose !! Par exemple la possibilité de "raffraîchir" (comme un redraw) un objet fltk tel un list par exemple en fonction des données enlevées ou apportées. Mais avant, je me dois de tester toutes les possibilités incluses dans la documentation car je suppose que beaucoup de choses m'ont échappé. La fonction "matwidget" est facile à mettre en oeuvre et permet de faire rapidement une construction. Bientôt un premier inutilitaire (pour le fun) avec FBpano. Mais on ne sait jamais ! En tout cas je te remercie pour ce que tu apportes à notre communauté et aussi et surtout pour ton investissement et ta volonté de poursuivre quelque chose que tu a initié et que tu poursuis. Tu es comme Jack avec la même volonté de dépasser les limites et de construire et ça, c'est un respect absolu. Et la gare de Limoges est très belle, issue de cette merveilleuse époque des chemins de fer qui me passionnent aussi. Juste prendre celà comme une évidence sans rapport avec l'informatique.
Bonne soirée Mike
| |
| | | jean_debord
Nombre de messages : 1266 Age : 70 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: Re: Compilateur FBPano Lun 4 Sep 2017 - 9:47 | |
| Pour une rentrée en couleurs : j'ai ajouté une commande FB_COLORMAP qui permet de représenter une fonction de 2 variables sous forme de carte : C'est la méthode utilisée pour tracer les images fractales, étendue au cas d'une fonction quelconque. | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Lun 4 Sep 2017 - 21:34 | |
| Wahou...bobo les yeux ! | |
| | | jean_debord
Nombre de messages : 1266 Age : 70 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: Re: Compilateur FBPano Mar 5 Sep 2017 - 9:18 | |
| Oui les couleurs sont un peu vives... J'ai réglé la luminosité à 100% Mais on peut la diminuer bien entendu ! | |
| | | Contenu sponsorisé
| Sujet: Re: Compilateur FBPano | |
| |
| | | | Compilateur FBPano | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |