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
» Tout est tranquille
par Jean Claude Hier à 21:41

» Texte en gif animé
par JL35 Hier à 13:29

» BasicEditor
par Yannick Mer 20 Sep 2017 - 17:17

» Simuler l’appui d'une touche ou combinaison de touches.
par pascal10000 Lun 18 Sep 2017 - 19:30

» Utilisation de HVIEWER pour afficher des images
par papydall Lun 18 Sep 2017 - 17:43

» Panoramic et les gifs animés.
par papydall Lun 18 Sep 2017 - 16:32

» recover source
par pascal10000 Dim 17 Sep 2017 - 14:21

» Recent dans vos menu
par Jean Claude Sam 16 Sep 2017 - 11:41

» Comment centrer un texte 3D.
par pascal10000 Ven 15 Sep 2017 - 20:20

» Carte interface 16 entrées et 16 sorties
par Jicehel Ven 15 Sep 2017 - 16:30

» Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT
par pascal10000 Ven 15 Sep 2017 - 16:20

» Compilateur FBPano
par jean_debord Ven 15 Sep 2017 - 9:59

» 1 (en analyse): 3D_TARGET_IS ne fonctionne pas sur 3D_TEXT
par Jack Jeu 14 Sep 2017 - 19:52

» Problème avec la 3D.
par Jack Jeu 14 Sep 2017 - 18:06

» Test de la 3D.
par mindstorm Mer 13 Sep 2017 - 19:45

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Septembre 2017
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier

Partagez | 
 

 Retour sur SPIN

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
papydall

avatar

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

MessageSujet: Retour sur SPIN   Mer 5 Sep 2012 - 19:58

La documentation de l’aide comporte plusieurs erreurs.
Par exemple la fonction TEXT$(N) qui retourne le texte visualisé par l’objet N : le manuel de référence indique que N est soit un EDIT soit un COMBO !
Or on peut l’utiliser pour un SPIN. D’ailleurs comment peut-on récupérer la valeur autrement !
Bien qu’on puisse borner les valeurs du SPIN par MIN et MAX, on peut saisir toute valeur en dehors des limites et plus bizarre on peut saisir aussi et exclusivement les 3 caractères suivant + - . (plus, moins et point).
On peut par exemple saisir une valeur comme ceci ++1-++2-.+

Le manuel de référence dit :
« Un SPIN visualise une valeur entière et fournit un MOYEN pour incrémenter ou décrémenter rapidement cette valeur »
Mais il ne dit pas quel est ce MOYEN.
Il ne dit pas aussi qu’on puisse utiliser ON_CHANGE avec SPIN, or c’est possible.
D’après mes tests, il existe 3 moyens de le faire :
1) Cliquer sur les flèches HAUT ou BAS
2) Utiliser les flèches HAUT et BAS du clavier
Dans ces 2 cas, la valeur reste bornée par MIN et par MAX et c’est parfait, sauf si MIN = MAX (et là la valeur peut être quelconque et je me demande pourquoi ?)
Mais lorsque la plage des valeurs possibles est assez étendue (entre 0 et 255 ou entre 0 et 1024), on ne va pas cliquer continuellement pour arriver à la valeur désirée ! Dans ce cas on a le 3eme moyen de le faire
3) Saisir directement, au clavier, la valeur voulue.
Et c’est là qu’il y a problème !

Le système ne permet pas de saisir les caractères alphabétiques et c’est tout à fait correct et bien.
Il permet de saisir les caractères numériques (de 0 à 9) et c’est correct encore.

Mais il ne permet pas de ne pas dépasser les bornes définies par MIN et par MAX.
Pire il permet aussi de saisir 3 autres caractères (+ - . plus, moins et point) et là ce n’est pas correct.
Pour les caractères (+ ou -) ça peut y aller à condition qu’il soit en début et seulement en début de la saisie tandis que le caractère (.) ne doit pas être accepté puisque la valeur doit OBLIGATOIREMENT être entière ; autrement dit, elle doit avoir un successeur et un prédécesseur ce qui n’est pas le cas pour une valeur réelle.

Dans un SPIN, le système accepte une saisie comme ceci : +-123++5..
Ce qui déclenchera une erreur lorsqu’on veut récupérer la valeur dans une variable.

Pour ceux qui diront : tu n’as qu’à être logique ou rationnel ou responsable de ta saisie et qu’on ne saisit pas une valeur de cette manière etc.
Je répondrais ainsi :
Puisque le système peut reconnaitre les caractères interdits (lettres et autres symboles tels que !, ?£ : etc.) et ne les accepte pas, il pourrait également ne pas accepter une saisie comme ++++…----1230.

Le programmeur peut éviter ces erreurs en faisant les tests nécessaires dans son code et c’est son devoir mais ça rallongerait beaucoup le code
Il doit tester si la variable dans laquelle il a récupéré la valeur est NUMERIC puis si on n’a pas dépassé MAX puis si on n’a pas saisit une valeur inferieure à MIN. Si dans le programme, il y a plusieurs SPIN, la tâche risque d’être lourde.

Pour ma part, je peux me passer sans regret de ce SPIN et d’utiliser une autre démarche pour un résultat plus élégant.
A moins que Jack apporterait une amélioration à ce SPIN.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Jicehel

avatar

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

MessageSujet: Re: Retour sur SPIN   Mer 5 Sep 2012 - 20:37

Très bonne critique constructive. Je trouve que le spin est un outils puissant personnellement et bien pratique, mais c'est vrai que la documentation est a améliorer, les exemples à enrichir...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

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

MessageSujet: re   Mer 5 Sep 2012 - 20:47

Perso, je verrai bien la partie "edit" grisé et que celui ci soit géré
par "Position N,P" - "Position(N)" - "Min N,%" - "Max N,%" - " et augmenté ou diminué par ses flèches
Un peu comme une "scroll_bar" qui afficherait sa valeur au lieu d'un avancement sur une bar.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Invité
Invité



MessageSujet: Re: Retour sur SPIN   Jeu 6 Sep 2012 - 1:26

Si vous ne voulez pas vous "emmerder" avec un spin, essayez ceci. Evidemment pour remplir et se servir d'une grandeur de 10000, il vaut mieux laisser tomber.
Code:

dim a%  : label verif

list 1:width 1,60 :font_size 1,12 :height 1,25 :on_click 1,verif
for a%=10 to 20:item_add 1,a%:next a%
end
verif:
  message item_index$(1)
return
Revenir en haut Aller en bas
Jicehel

avatar

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

MessageSujet: Re: Retour sur SPIN   Jeu 6 Sep 2012 - 1:49

En effet, remplacement très malin Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

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

MessageSujet: Re: Retour sur SPIN   Jeu 6 Sep 2012 - 2:08

Merci cosmos 70.

Et pour récupérer la valeur dans une variable, on fait ceci, n'est-ce pas ?
Code:

dim a%,v  : label verif

list 1:width 1,60 :font_size 1,12 :height 1,25 :on_click 1,verif
for a%=0 to 255:item_add 1,a%:next a%

end
verif:
  v = val(item_index$(1))
  message v
return

Et pour aller plus vite, on fait ceci (si le contexte du programme le permet)

Code:

dim a%,v  : label verif

list 1:width 1,60 :font_size 1,12 :height 1,400 :on_click 1,verif
for a%=0 to 255:item_add 1,a%:next a%

end
verif:
  v = val(item_index$(1))
  message v
return
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Invité
Invité



MessageSujet: Re: Retour sur SPIN   Jeu 6 Sep 2012 - 7:44

Dans ton dernier exemple, cela ne montre non pas une simulation d'un objet SPIN, mais celui d'un list. A partir de là je proposerais un combo.

Il y a une chose qui ne me plais pas avec combo, car le remplacement d'un spin a un défaut. Si on se sert d'un même combo pour plusieurs objets, on n'a pas la possibilité d'imposer la valeur à voir dans la partie edit du combo.
D'ailleurs je me demande, à quel moment celui-ci est mise à jour par Panoramic. Qu'est-ce qui fait que le texte est modifié, vu que celui imposé est bien placé dans l'edit pendant un moment. Jack peux-tu me répondre là dessus.
J'en ai parlé dans un temps bien lointain. Personnellement pour moi, il y a un bug.
Code:

dim a%  : label verif

combo 1:width 1,60 :font_size 1,12 :height 1,25 :on_click 1,verif
for a%=10 to 20:item_add 1,a%:next a%
end
verif:
  message item_index$(1)
  clear 1 :' je fais l'essai de tout vider pour voir
  text 1,10
  for a% = 10 to 20:item_add 1,a%:next a%
  text 1,10:stop
return
La seul possibilité est de mettre un 2ème edit par dessus celui du combo pour afficher ce qu'on veut, et d'y mettre un on_change sur cet edit. Mais à partir de là il faut mieux travailler avec SPIN.

Je vous laisse dans vos réflexion. Je vais voir ailleur si j'y suis, dès fois que je me retrouve geek
Revenir en haut Aller en bas
Contenu sponsorisé




MessageSujet: Re: Retour sur SPIN   

Revenir en haut Aller en bas
 
Retour sur SPIN
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» retour au travail....
» Le 23 mai Varadero me voilà/et c'est grâce à vous/retour à la réalité
» Est-ce que quelqu'un a vu le retour de Nounou McPhee
» Retour maison
» Retour 3D' S-Pagne...

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Présentation et bavardage-
Sauter vers: