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
» Klaus est de retour!
par Klaus Aujourd'hui à 3:41

» KGF_dll - nouvelles versions
par Klaus Aujourd'hui à 3:40

» Texte sur image
par JL35 Hier à 23:56

» Compilateur FBPano
par papydall Hier à 14:54

» MIN - MAX avec SPIN
par ygeronimi Hier à 10:02

» Traceur de courbes représentatives des fonctions y = f(x)
par papydall Hier à 2:24

» HEIGHT_CLIENT(N)
par ygeronimi Ven 20 Jan 2017 - 16:41

» Non demande de commande
par ygeronimi Jeu 19 Jan 2017 - 11:50

» Bataille navale sous-marine
par papydall Jeu 19 Jan 2017 - 2:19

» Version instantanée du 16/01/2017 : PANORAMIC V 0.9.27i10
par mindstorm Mer 18 Jan 2017 - 21:05

» PLM N34
par Froggy One Mer 18 Jan 2017 - 17:32

» saving 1.png [RÉSOLU]
par Froggy One Mar 17 Jan 2017 - 19:44

» Gestionnaire de Projets Panoramic
par Froggy One Mar 17 Jan 2017 - 19:31

» ROBLARECUB (casse-tête)
par papydall Mar 17 Jan 2017 - 15:18

» Incrustation d'une image (dans une autre)
par JL35 Mar 17 Jan 2017 - 0:47

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

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

Partagez | 
 

 Retour sur SPIN

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



Nombre de messages : 5104
Age : 66
Localisation : Moknine (Tunisie)
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



Nombre de messages : 5742
Age : 44
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
ygeronimi



Nombre de messages : 7004
Age : 45
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



Nombre de messages : 5742
Age : 44
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



Nombre de messages : 5104
Age : 66
Localisation : Moknine (Tunisie)
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   Aujourd'hui à 4:42

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 32 bits :: Présentation et bavardage-
Sauter vers: