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
» COMPILATEUR V 0.9 beta 7 du 10 aout 2017
par Jack Aujourd'hui à 17:23

» Pb 16 (en analyse): ON_CLOSE plante à l'exécution
par Jack Aujourd'hui à 17:00

» Pb 15 (en analyse): TIMER_ON plante à l'exécution
par Jack Aujourd'hui à 16:58

» Compilateur FBPano
par jean_debord Aujourd'hui à 5:49

» un nouveau editeur panobasic
par Jean Claude Hier à 17:05

» KGF_dll - nouvelles versions
par Yannick Dim 13 Aoû 2017 - 14:35

» probleme d'outil
par Yannick Dim 13 Aoû 2017 - 14:32

» Carte de France des régions
par Yannick Sam 12 Aoû 2017 - 18:33

» Pb 14 (en analyse): PRINT_LOCATE plante à l'exécution
par Jack Ven 11 Aoû 2017 - 19:37

» Petit avertissement [Mots réservés]
par papydall Ven 11 Aoû 2017 - 10:45

» Distances sur plan
par JL35 Jeu 10 Aoû 2017 - 18:29

» Tracé : Triangle, Carrée, Dents de scie, Sinusoïde redressée
par papydall Jeu 10 Aoû 2017 - 11:52

» Troncature dans une image
par JL35 Mer 9 Aoû 2017 - 10:45

» A chacun son point de vue
par papydall Mar 8 Aoû 2017 - 14:20

» Problème avec les chaines de caractères
par bignono Dim 6 Aoû 2017 - 6:33

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Août 2017
LunMarMerJeuVenSamDim
 123456
78910111213
14151617181920
21222324252627
28293031   
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
AuteurMessage
Jicehel

avatar

Nombre de messages : 5849
Age : 45
Localisation : 77500
Date d'inscription : 18/04/2011

MessageSujet: Re: Compilateur FBPano   Lun 22 Mai 2017 - 8:43

Trop bien Wink vraiment pratique
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
jean_debord

avatar

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

MessageSujet: Re: Compilateur FBPano   Sam 27 Mai 2017 - 8: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
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 : 742
Age : 63
Localisation : Limoges
Date d'inscription : 21/09/2008

MessageSujet: Re: Compilateur FBPano   Mer 31 Mai 2017 - 8: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 Smile

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" Smile
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.unilim.fr/pages_perso/jean.debord/index.htm
papydall

avatar

Nombre de messages : 5501
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Compilateur FBPano   Mer 31 Mai 2017 - 12:56

Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
jean_debord

avatar

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

MessageSujet: Re: Compilateur FBPano   Jeu 1 Juin 2017 - 8:14

Merci papydall Smile

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 ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.unilim.fr/pages_perso/jean.debord/index.htm
papydall

avatar

Nombre de messages : 5501
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Compilateur FBPano   Jeu 1 Juin 2017 - 12:28

Merci Jean.

A la prochaine !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
jean_debord

avatar

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

MessageSujet: Re: Compilateur FBPano   Mer 21 Juin 2017 - 18: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
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.unilim.fr/pages_perso/jean.debord/index.htm
papydall

avatar

Nombre de messages : 5501
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Compilateur FBPano   Mer 21 Juin 2017 - 22: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?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
jean_debord

avatar

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

MessageSujet: Re: Compilateur FBPano   Jeu 22 Juin 2017 - 6: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.
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 : 742
Age : 63
Localisation : Limoges
Date d'inscription : 21/09/2008

MessageSujet: Re: Compilateur FBPano   Sam 8 Juil 2017 - 8: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).
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 : 742
Age : 63
Localisation : Limoges
Date d'inscription : 21/09/2008

MessageSujet: Re: Compilateur FBPano   Sam 22 Juil 2017 - 7: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
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 : 5849
Age : 45
Localisation : 77500
Date d'inscription : 18/04/2011

MessageSujet: Re: Compilateur FBPano   Ven 28 Juil 2017 - 8: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
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7961
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Ven 28 Juil 2017 - 13:00

Bien que j' ai décroché, je te félicite pour ta persévérance.
Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
jean_debord

avatar

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

MessageSujet: Re: Compilateur FBPano   Lun 31 Juil 2017 - 8:14

... en espérant que cette persévérance montrera l'exemple à ceux qui ont abandonné leur projet et les incitera à s'y remettre Smile

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.
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 : 742
Age : 63
Localisation : Limoges
Date d'inscription : 21/09/2008

MessageSujet: Re: Compilateur FBPano   Lun 7 Aoû 2017 - 9: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 Smile
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.unilim.fr/pages_perso/jean.debord/index.htm
papydall

avatar

Nombre de messages : 5501
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Compilateur FBPano   Lun 7 Aoû 2017 - 21:49

Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Mike

avatar

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

MessageSujet: Demande d'éclairage avec les list   Hier à 15: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
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
jean_debord

avatar

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

MessageSujet: Re: Compilateur FBPano   Aujourd'hui à 5: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.
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 9 sur 9Aller à la page : Précédent  1, 2, 3, 4, 5, 6, 7, 8, 9
 Sujets similaires
-
» Compilateur FBPano
» compilateur
» Décompilateur GM ? [résolu]
» 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: