FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Logiciel de planétarium.
Compilateur FBPano - Page 10 Emptypar Pedro Sam 23 Nov 2024 - 15:50

» Un autre pense-bête...
Compilateur FBPano - Page 10 Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Compilateur FBPano - Page 10 Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Compilateur FBPano - Page 10 Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Compilateur FBPano - Page 10 Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Compilateur FBPano - Page 10 Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Compilateur FBPano - Page 10 Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Compilateur FBPano - Page 10 Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Compilateur FBPano - Page 10 Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Compilateur FBPano - Page 10 Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Compilateur FBPano - Page 10 Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Compilateur FBPano - Page 10 Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Compilateur FBPano - Page 10 Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Compilateur FBPano - Page 10 Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Compilateur FBPano - Page 10 Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
-28%
Le deal à ne pas rater :
-28% Machine à café avec broyeur à grain MELITTA Purista
229.99 € 318.99 €
Voir le deal

 

 Compilateur FBPano

Aller en bas 
+11
Pedro
Ouf_ca_passe
RMont
Yannick
Klaus
papydall
pascal10000
Minibug
Jicehel
jpcr
jean_debord
15 participants
Aller à la page : Précédent  1, 2, 3 ... , 9, 10, 11  Suivant
AuteurMessage
jean_debord

jean_debord


Nombre de messages : 1266
Age : 70
Localisation : Limoges
Date d'inscription : 21/09/2008

Compilateur FBPano - Page 10 Empty
MessageSujet: Re: Compilateur FBPano   Compilateur FBPano - Page 10 EmptySam 9 Sep 2017 - 11: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.

Compilateur FBPano - Page 10 Ex7910
Revenir en haut Aller en bas
http://www.unilim.fr/pages_perso/jean.debord/index.htm
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Compilateur FBPano - Page 10 Empty
MessageSujet: Re: Compilateur FBPano   Compilateur FBPano - Page 10 EmptyJeu 14 Sep 2017 - 17:03

Ca pour les matheux, c'est carrément pratique pour visualiser les résultats Wink
Revenir en haut Aller en bas
jean_debord

jean_debord


Nombre de messages : 1266
Age : 70
Localisation : Limoges
Date d'inscription : 21/09/2008

Compilateur FBPano - Page 10 Empty
MessageSujet: Re: Compilateur FBPano   Compilateur FBPano - Page 10 EmptyVen 15 Sep 2017 - 8: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.

Compilateur FBPano - Page 10 Logist10
Revenir en haut Aller en bas
http://www.unilim.fr/pages_perso/jean.debord/index.htm
jean_debord

jean_debord


Nombre de messages : 1266
Age : 70
Localisation : Limoges
Date d'inscription : 21/09/2008

Compilateur FBPano - Page 10 Empty
MessageSujet: Re: Compilateur FBPano   Compilateur FBPano - Page 10 EmptyLun 25 Sep 2017 - 9: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
http://www.unilim.fr/pages_perso/jean.debord/index.htm
Mike

Mike


Nombre de messages : 31
Age : 73
Localisation : NANCY
Date d'inscription : 12/06/2007

Compilateur FBPano - Page 10 Empty
MessageSujet: Matwidget vs autre construction   Compilateur FBPano - Page 10 EmptyMar 10 Oct 2017 - 23: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
jean_debord

jean_debord


Nombre de messages : 1266
Age : 70
Localisation : Limoges
Date d'inscription : 21/09/2008

Compilateur FBPano - Page 10 Empty
MessageSujet: Re: Compilateur FBPano   Compilateur FBPano - Page 10 EmptyMer 11 Oct 2017 - 9: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
http://www.unilim.fr/pages_perso/jean.debord/index.htm
jean_debord

jean_debord


Nombre de messages : 1266
Age : 70
Localisation : Limoges
Date d'inscription : 21/09/2008

Compilateur FBPano - Page 10 Empty
MessageSujet: Re: Compilateur FBPano   Compilateur FBPano - Page 10 EmptyMer 11 Oct 2017 - 10: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
http://www.unilim.fr/pages_perso/jean.debord/index.htm
Mike

Mike


Nombre de messages : 31
Age : 73
Localisation : NANCY
Date d'inscription : 12/06/2007

Compilateur FBPano - Page 10 Empty
MessageSujet: Re: Compilateur FBPano   Compilateur FBPano - Page 10 EmptyMer 11 Oct 2017 - 18: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
jean_debord

jean_debord


Nombre de messages : 1266
Age : 70
Localisation : Limoges
Date d'inscription : 21/09/2008

Compilateur FBPano - Page 10 Empty
MessageSujet: Re: Compilateur FBPano   Compilateur FBPano - Page 10 EmptyJeu 12 Oct 2017 - 8: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
http://www.unilim.fr/pages_perso/jean.debord/index.htm
jean_debord

jean_debord


Nombre de messages : 1266
Age : 70
Localisation : Limoges
Date d'inscription : 21/09/2008

Compilateur FBPano - Page 10 Empty
MessageSujet: Re: Compilateur FBPano   Compilateur FBPano - Page 10 EmptyLun 23 Oct 2017 - 10:24

Nouvelle version 0.27
---------------------

Cette version ajoute deux objets permettant de créer un éditeur de texte : TEXT_EDITOR et TEXT_BUFFER.

Ces objets sont complémentaires : TEXT_BUFFER traite le texte en mémoire, TEXT_EDITOR affiche le résultat.

Documentation : fbpano.htm --> Les objets FLTK (9)

L'exemple ex81.bas (dans exemples\FLTK) montre un éditeur élémentaire construit avec ces objets (c'est une adaptation partielle d'un programme en C++ fourni avec la documentation de FLTK) :

Compilateur FBPano - Page 10 Editor10

En plus, la commande OBJECT_DELETE permet de supprimer un objet.

Les fichiers sont sur mon WebDav, dossier FBPano.

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

* Si vous avez une version antérieure à 0.26 : désinstallez cette version et installez la version 0.27 complète avec le programme setup_027.exe
Revenir en haut Aller en bas
http://www.unilim.fr/pages_perso/jean.debord/index.htm
jean_debord

jean_debord


Nombre de messages : 1266
Age : 70
Localisation : Limoges
Date d'inscription : 21/09/2008

Compilateur FBPano - Page 10 Empty
MessageSujet: Re: Compilateur FBPano   Compilateur FBPano - Page 10 EmptyLun 30 Oct 2017 - 9:01

Premier essai de coloration syntaxique avec l'objet TEXT_EDITOR :

Compilateur FBPano - Page 10 Editor11

Pour l'instant, cela ne marche qu'avec un texte prédéfini (donc uniquement pour l'affichage).

Reste à l'adapter à un texte en cours de modification...

J'ai un exemple en C++ mais ce n'est pas très explicite !
Revenir en haut Aller en bas
http://www.unilim.fr/pages_perso/jean.debord/index.htm
jean_debord

jean_debord


Nombre de messages : 1266
Age : 70
Localisation : Limoges
Date d'inscription : 21/09/2008

Compilateur FBPano - Page 10 Empty
MessageSujet: Re: Compilateur FBPano   Compilateur FBPano - Page 10 EmptyMer 8 Nov 2017 - 9:43

Un deuxième essai un peu plus convaincant, avec un début d'éditeur :

Compilateur FBPano - Page 10 Editor12

Il reste pas mal de choses à améliorer.

Avec un peu de chance, ce sera prêt pour la prochaine mise à jour.
Revenir en haut Aller en bas
http://www.unilim.fr/pages_perso/jean.debord/index.htm
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Compilateur FBPano - Page 10 Empty
MessageSujet: Re: Compilateur FBPano   Compilateur FBPano - Page 10 EmptyMer 8 Nov 2017 - 13:22

Bravo Jean et bonne continuation à toi Wink (Je suis toujours ce qui se passe de loin mais ça avance bien)
Revenir en haut Aller en bas
jean_debord

jean_debord


Nombre de messages : 1266
Age : 70
Localisation : Limoges
Date d'inscription : 21/09/2008

Compilateur FBPano - Page 10 Empty
MessageSujet: Re: Compilateur FBPano   Compilateur FBPano - Page 10 EmptyLun 20 Nov 2017 - 9:35

J'ai ajouté à l'éditeur une option pour compiler le code source. Elle a l'air de marcher ... Smile

Compilateur FBPano - Page 10 Editor13

En revanche, je n'ai pas réussi à lancer le programme compilé depuis l'éditeur ; tous mes essais se sont soldés par des bugs ! Il faut lancer le programme en-dehors de l'éditeur, p. ex. en cliquant sur son icône dans l'explorateur de fichiers.

J'en reste là pour le moment. L'éditeur sera livré tel quel dans la prochaine mise à jour.

La prochaine étape consistera à mettre au point un système pour visualiser l'aide de FBPano avec un objet HVIEWER (qui reste à implémenter).

Au fait, quel est le numéro de HVIEWER dans Panoramic, c'est-à-dire le résultat de la fonction OBJECT_TYPE ? Je ne l'ai pas trouvé dans la version que j'utilise.
Revenir en haut Aller en bas
http://www.unilim.fr/pages_perso/jean.debord/index.htm
Marc

Marc


Nombre de messages : 2466
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Compilateur FBPano - Page 10 Empty
MessageSujet: Re: Compilateur FBPano   Compilateur FBPano - Page 10 EmptyLun 20 Nov 2017 - 9:45

Bonjour Jean,

D'après le programme de Sylverman (https://panoramic.1fr1.net/t5284-evenements-et-objets-systeme-listage-automatique) et si j'en fais bon usage,
le numéro pour HVIEWER est le 36.

Merci et bonne continuation !
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Compilateur FBPano - Page 10 Empty
MessageSujet: Re: Compilateur FBPano   Compilateur FBPano - Page 10 EmptyLun 20 Nov 2017 - 9:47

Compilateur FBPano - Page 10 Aa110

Version: V0.9.28i2 du 9 Juillet 2017
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Marc

Marc


Nombre de messages : 2466
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Compilateur FBPano - Page 10 Empty
MessageSujet: Re: Compilateur FBPano   Compilateur FBPano - Page 10 EmptyLun 20 Nov 2017 - 9:58

Bonjour Klaus !

Comme à ton habitude, ta réponse qui est claire, nette et sans ambiguïté ! cheers

Merci pour ton micro code et bonne journée !
Revenir en haut Aller en bas
jean_debord

jean_debord


Nombre de messages : 1266
Age : 70
Localisation : Limoges
Date d'inscription : 21/09/2008

Compilateur FBPano - Page 10 Empty
MessageSujet: Re: Compilateur FBPano   Compilateur FBPano - Page 10 EmptyLun 20 Nov 2017 - 10:51

Merci pour vos réponses !

Il aura donc le numéro 360 dans FBPano, selon la convention que j'utilise :

Type FBPano = (Type PANORAMIC) * 10 + Offset

L'offset (0..9) servant à désigner les variantes d'un même objet.
Revenir en haut Aller en bas
http://www.unilim.fr/pages_perso/jean.debord/index.htm
jean_debord

jean_debord


Nombre de messages : 1266
Age : 70
Localisation : Limoges
Date d'inscription : 21/09/2008

Compilateur FBPano - Page 10 Empty
MessageSujet: Re: Compilateur FBPano   Compilateur FBPano - Page 10 EmptyMar 21 Nov 2017 - 9:07

Nouvelle version 0.28
---------------------

- Ajout de plusieurs instructions pour les objets TEXT_EDITOR et TEXT_BUFFER ; voir Documentation : fbpano.htm --> Les objets FLTK (9)

- Programmes de démonstration (dans exemples\FLTK) :

  * ex82.bas : coloration syntaxique
 
  * ex83.bas : éditeur de programmes
 
  (Voir les copies d'écran dans mes messages précédents)
 
- Correction d'un bug empêchant l'utilisation de parenthèses vides avec certains noms de sous-programmes (merci à Ouf_ça_passe qui l'a signalé)

Les fichiers sont sur mon WebDav, dossier FBPano.

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

* Si vous avez une version antérieure à 0.27 : désinstallez cette version et installez la version 0.28 complète avec le programme setup_028.exe
Revenir en haut Aller en bas
http://www.unilim.fr/pages_perso/jean.debord/index.htm
Ouf_ca_passe




Nombre de messages : 285
Age : 76
Localisation : Villeneuve d'Ascq (59-Dpt du NORD) France
Date d'inscription : 21/12/2015

Compilateur FBPano - Page 10 Empty
MessageSujet: Félicitations   Compilateur FBPano - Page 10 EmptyMer 22 Nov 2017 - 10:25

Bonjour les Panoramicien(ne)s et FBPanistes

@ Jean Debord
La MAJ s'est effectuée sans problème.
C'est désormais à moi de jouer en incluant les nouveaux mots-clés et en réalisant ton ex83-FBPano-Editor_2 avec mon CodeMaker. Smile

Revenir en haut Aller en bas
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Compilateur FBPano - Page 10 Empty
MessageSujet: Re: Compilateur FBPano   Compilateur FBPano - Page 10 EmptyVen 27 Sep 2019 - 23:33

Bonjour Jean !

je tente de programmer en FBPano et je suis déjà bloqué au bout de quelques lignes...

En fait je tente de reprendre ton exemple d'éditeur pour lui ajouter quelques fonctions supplémentaires.
C'est une façon de m'habituer à ce langage et aussi pourquoi pas me lancer dans les programmations plus conséquentes par la suite...

Voila la partie qui me pose problème. Je souhaite intégrer la liste des polices comme dans un autre de tes exemples.
Il y a quelque chose que je n'ai pas du intégré dans l'exemple de base... scratch scratch

Code:

form fmPolice, 200, 200, 380, 420, "Liste des polices"

form_begin fmPolice
  list lsPolice,  5,  5, 280, 380
    dim nf%, i% , num%(), font$()     
    nf = font_list(lsPolice, font())
    for i = 0 to nf - 1
      list_item_add lsPolice, "@S20@F" & num(i) & font(i)
    next i
form_end fmPolice
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
jean_debord

jean_debord


Nombre de messages : 1266
Age : 70
Localisation : Limoges
Date d'inscription : 21/09/2008

Compilateur FBPano - Page 10 Empty
MessageSujet: Re: Compilateur FBPano   Compilateur FBPano - Page 10 EmptySam 28 Sep 2019 - 8:55

Bonjour Minibug,

Merci de tester FBPano Smile

La syntaxe de FONT_LIST est :

Code:

nf = font_list(num(), font())

Ce n'est qu'après que l'on transfère les noms de polices dans un objet LIST (ou tout autre objet qui les accepte)
Revenir en haut Aller en bas
http://www.unilim.fr/pages_perso/jean.debord/index.htm
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Compilateur FBPano - Page 10 Empty
MessageSujet: Re: Compilateur FBPano   Compilateur FBPano - Page 10 EmptySam 28 Sep 2019 - 9:44

Merci pour ta réponse Jean !

N'étant adepte que du Basic Panoramic, la syntaxe de FBPano me dépasse un peu... drunken

Cela dit j'étudie depuis quelques temps la documentation de FBP et cela me semble très intéressant.
J'aimerai bien me familiariser d'avantage avec ton langage mais je me rends compte aussi de mes lacunes... Wink

Pour la syntaxe FONT_LIST c'est d'accord mais je n'arrive toujours pas a remplir mon LIST.
En plus il y a différentes erreurs suite à ces quelques lignes.

Comment dois-je m'y prendre et où est l'erreur dans mon code ?
Dois-je positionner la boucle plus loin dans le code ou est ce un problème de syntaxe ?!

Merci d'avance pour ta réponse.

Code:

form fmPolice, 200, 200, 380, 420, "Liste des polices"

form_begin fmPolice
  list lsPolice,  5,  5, 280, 380
    dim nf%, i% , num%(), font$()   
    nf = font_list(num(), font())
    for i = 0 to nf - 1
      list_item_add lsPolice, "@S20@F" & num(i) & font(i)
    next i
form_end fmPolice
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
jean_debord

jean_debord


Nombre de messages : 1266
Age : 70
Localisation : Limoges
Date d'inscription : 21/09/2008

Compilateur FBPano - Page 10 Empty
MessageSujet: Re: Compilateur FBPano   Compilateur FBPano - Page 10 EmptySam 28 Sep 2019 - 11:08

Je suppose que c'est l'éditeur START_FBPANO que tu essaies de modifier ?

Dans ce cas il faut :

1) mettre toutes les déclarations de variables globales au début pour éviter les redéclarations (cas de la variable i%)

Code:

....................................................................
dim obj%                            ' Numéro d'objet
dim i%                              ' Variable de boucle
dim nf%                             ' Nombre de polices
dim num%()                          ' Numéros des polices
dim font$()                         ' Noms des polices

2) ajouter les objets supplémentaires dans ENUM pour leur attribuer des numéros :

Code:

enum GUI
.....
  fmPolice
    lsPolice
end_enum

3) enlever les déclarations de variables qui ont été transférées à l'étape 1 :

Code:

' Fenetre des polices

form fmPolice, 200, 200, 380, 420, "Liste des polices"

form_begin fmPolice
  list lsPolice,  5,  5, 280, 380
  nf = font_list(num(), font())
  for i = 0 to nf - 1
    list_item_add lsPolice, "@S20@F" & num(i) & font(i)
  next i
form_end fmPolice

Attention à la compilation de l'éditeur (voir dans le fichier START_FBPANO.HTM) : il faut compiler en ligne de commande ...

Note : dans la prochaine version de FBPano la numérotation des objets sera supprimée. On accédera directement à des variables du type considéré :

Code:

dim frm <T_Form>
dim btn <T_Button>
Revenir en haut Aller en bas
http://www.unilim.fr/pages_perso/jean.debord/index.htm
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Compilateur FBPano - Page 10 Empty
MessageSujet: Re: Compilateur FBPano   Compilateur FBPano - Page 10 EmptySam 28 Sep 2019 - 11:38

J'ai pourtant l'impression de bien tout faire comme il faut et j'ai toujours les mêmes messages d'erreurs !  Mad

Cette fois je colle le code complet car je ne comprends pas...  Suspect

Code:

' **********************************************************************
' Editeur FBPano, d'apres le programme de demonstration de FLTK :
' www.fltk.org/doc-1.3/editor.html
' **********************************************************************

const FORM_WIDTH  = 850           ' Largeur de la fenetre principale
const FORM_HEIGHT = 500           ' Hauteur de la fenetre principale
const FONT        = FL_COURIER    ' Police de caracteres
const FONT_SIZE   = 15            ' Taille des caracteres
const FONT_COLOR  = FL_BLACK      ' Couleur du texte
const BKG_COLOR   = FL_WHITE      ' Couleur du fond
const LNUM_COLOR  = FL_RED        ' Couleur des numeros de lignes
const LNUM_WIDTH  = 60            ' Largeur de la marge pour num. lignes

dim search$                       ' Chaine pour la recherche
dim find$, rep$                   ' Chaines pour le remplacement
dim obj%                            ' Numéro d'objet
dim i%                              ' Variable de boucle
dim nf%                             ' Nombre de polices
dim num%()                          ' Numéros des polices
dim font$()                         ' Noms des polices

enum GUI
  fmMain
    menu1, editor1, buffer1
  fmReplace
    edFind, edReplace, btRepAll, btRepNext, btCancel
  fmPolice
    lsPolice
end_enum

form fmMain, 100, 100, FORM_WIDTH, FORM_HEIGHT, "Editeur"

form_begin fmMain
  menu        menu1,    0,  0, FORM_WIDTH, 25
  text_editor editor1,  0, 25, FORM_WIDTH, FORM_HEIGHT - 25
  text_buffer buffer1
form_end fmMain

form fmReplace, 200, 200, 380, 110, "Remplacement"

form_begin fmReplace
  edit   edFind,    110, 10, 260, 25, "Chercher :"
  edit   edReplace, 110, 40, 260, 25, "Remplacer par :"
  button btRepAll,   10, 75, 110, 25, "Remplacer tout"
  button btRepNext, 130, 75, 170, 25, "Remplacer Suivant", , T_Button_Return
  button btCancel,  310, 75,  60, 25, "Fermer"
form_end fmReplace

on_click btRepAll, remplacer_tout
on_click btRepNext, remplacer_suivant
on_click btCancel, annuler_remplacer

form fmPolice, 200, 200, 380, 420, "Liste des polices"

form_begin fmPolice
  list lsPolice,  5,  5, 280, 380
    nf = font_list(num(), font())
    for i = 0 to nf - 1
      list_item_add lsPolice, "@S20@F" & num(i) & font(i)
    next i
form_end fmPolice

on_click lsPolice, choix_police

menu_item_add menu1, "&Fichier/&Nouveau  ", "Ctrl+N", , nouveau
menu_item_add menu1, "&Fichier/&Ouvrir  ", "Ctrl+O", , ouvrir
menu_item_add menu1, "&Fichier/&Enregistrer  ", "Ctrl+E", FL_MENU_DIVIDER, enregistrer
menu_item_add menu1, "&Fichier/&Quitter  ", "Ctrl+Q", , quitter

menu_item_add menu1, "&Edition/Co&uper  ", "Ctrl+X", , couper
menu_item_add menu1, "&Edition/&Copier  ", "Ctrl+C", , copier
menu_item_add menu1, "&Edition/C&oller  ", "Ctrl+V", , coller

menu_item_add menu1, "&Recherche/&Rechercher  ", "Ctrl+F", , rechercher
menu_item_add menu1, "&Recherche/Rechercher le &suivant  ", "F3", , rechercher_suivant
menu_item_add menu1, "&Recherche/R&emplacer  ", "Ctrl+R", , remplacer

menu_item_add menu1, "&Options/&Wrap  ", , FL_MENU_TOGGLE, wrap
menu_item_add menu1, "&Options/&Num. lignes  ", , FL_MENU_TOGGLE + FL_MENU_VALUE, numlines
menu_item_add menu1, "&Options/&Police  ", "Ctrl+P", , police

color_fl editor1, BKG_COLOR
font_text editor1, FONT, FONT_SIZE
color_text_fl editor1, FONT_COLOR
color_cursor_fl editor1, FONT_COLOR
color_numlines_fl editor1, LNUM_COLOR
editor_numlines editor1, LNUM_WIDTH, FONT, FONT_SIZE

editor_set_buffer editor1, buffer1

set_resizable fmMain

start fmMain

' ----------------------------------------------------------------------
' Sous-programmes utilitaires
' ----------------------------------------------------------------------

function trouve% (s$, p%, msg%)
' Recherche la chaine s à partir de la position du curseur
' La position de la chaine trouvee est retournee dans p
' msg = TRUE pour afficher le message d'erreur

  p = editor_get_insert_pos(editor1)
  if buffer_search_forward(buffer1, p, s, p) = 0 then
    if msg then message "Chaîne """ + s + """ non trouvée !"
    trouve = FALSE
  else
    trouve = TRUE
  end_if
end_function

sub update_editor (p%, s1$, s2$, rpl%)
' Met a jour l'editeur apres recherche ou remplacement
' p = position de la chaine recherchee
' s1 = chaine recherchee
' s2 = chaine de remplacement
' rpl = indique si remplacement

  dim p1%

  p1 = p + len(s1)
  buffer_select buffer1, p, p1

  if rpl then
    buffer_remove_select buffer1
    buffer_insert buffer1, p, s2
    p1 = p + len(s2)
    buffer_select buffer1, p, p1
    p = p1
  end_if

  editor_set_insert_pos editor1, p1
  editor_show_insert_pos editor1
end_sub

' ----------------------------------------------------------------------
' Sous-programmes associes aux evenements
' ----------------------------------------------------------------------

sub nouveau
  text buffer1, ""
  caption fmMain, "Editeur"
end_sub

sub ouvrir
  dim fname$
  fname = file_name("Ouvrir", "Fichier texte (*.txt)", curdir, 0)
  if fname = "" or file_exists(fname) = 0 then exit_sub
  buffer_file_load buffer1, fname
  caption fmMain, fname
end_sub

sub enregistrer
  dim fname$
  fname = file_name("Enregistrer", "Fichier texte (*.txt)", curdir, 0)
  if fname = "" then exit_sub
  buffer_file_save buffer1, fname
end_sub

sub quitter
  hide fmMain
end_sub

sub couper
  editor_cut editor1
end_sub

sub copier
  editor_copy editor1
end_sub

sub coller
  editor_paste editor1
end_sub

sub rechercher
  dim p%
  search = message_input("Rechercher", "Rechercher", search)
  if search <> "" then
    if trouve(search, p, TRUE) then update_editor p, search, "", FALSE
  end if
end_sub

sub rechercher_suivant
  dim p%
  if search = "" then
    search = message_input("Rechercher", "Rechercher", search)
  end_if
  if search <> "" then
    if trouve(search, p, TRUE) then update_editor p, search, "", FALSE
  end if
end_sub

sub remplacer
  show fmReplace
end_sub

sub remplacer_suivant
  dim p%
  find = get_text(edFind)
  if find = "" then exit_sub
  rep = get_text(edReplace)
  if trouve(find, p, TRUE) then update_editor p, find, rep, TRUE
end_sub

sub remplacer_tout
  dim p%, found%, n%
  find = get_text(edFind)
  if find = "" then exit_sub
  rep = get_text(edReplace)
  found = trouve(find, p, TRUE)
  if not found then exit_sub
  while found
    n = n + 1
    update_editor p, find, rep, TRUE
    found = trouve(find, p, FALSE)
  end_while
  message "Chaîne """ & find & """ remplacée " & n & " fois."
end_sub

sub annuler_remplacer
  hide fmReplace
end_sub

sub wrap
  editor_wrap editor1, menu_item_checked(menu1, 17)
end_sub

sub numlines
  dim n%
  if menu_item_checked(menu1, 18) then n = LNUM_WIDTH else n = 0
  editor_numlines editor1, n, , FONT_SIZE
end_sub

sub police
  show fmPolice
end_sub

sub choix_police
  ' Intégrer ici la routine de selection de la police
  hide fmPolice
end_sub
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Contenu sponsorisé





Compilateur FBPano - Page 10 Empty
MessageSujet: Re: Compilateur FBPano   Compilateur FBPano - Page 10 Empty

Revenir en haut Aller en bas
 
Compilateur FBPano
Revenir en haut 
Page 10 sur 11Aller à la page : Précédent  1, 2, 3 ... , 9, 10, 11  Suivant
 Sujets similaires
-
» Configurer FBide pour FBPano
» Container_begin
» Un éditeur pour FBPano
» Evolution de FBPano
» Nouvelle version 0.36

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: