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
» Détection connexion internet (résolu)
par JL35 Hier à 13:55

» Le parcours du cavalier sur un échiquier 8 x 8
par pascal10000 Dim 23 Juil 2017 - 13:26

» Casse-tête : Echanger les positions des cavaliers
par papydall Sam 22 Juil 2017 - 19:42

» Compilateur FBPano
par jean_debord Sam 22 Juil 2017 - 10:54

» demande pour recuperer un text speciale
par pascal10000 Ven 21 Juil 2017 - 22:04

» KGF_dll - nouvelles versions
par Klaus Ven 21 Juil 2017 - 14:29

» Amélioration de la commande HINT
par papydall Mer 19 Juil 2017 - 3:30

» TEST SUR SHAPE
par papydall Mer 19 Juil 2017 - 1:17

» Un challenge à relever
par papydall Mar 18 Juil 2017 - 21:25

» Astuce : Indenter plusieurs lignes de code à la fois
par papydall Mar 18 Juil 2017 - 1:32

» Suggestion pour le forum
par papydall Lun 17 Juil 2017 - 20:28

» Truver les handles des onglets de Panoramic Editor
par Klaus Lun 17 Juil 2017 - 18:20

» Synedit_Editor - nouvelles versions
par Klaus Lun 17 Juil 2017 - 13:46

» Détermine si oui ou non un objet est PARENT d'un autre objet
par Klaus Dim 16 Juil 2017 - 11:58

» Une autre façon de terminer une application.
par papydall Dim 16 Juil 2017 - 3:53

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Juillet 2017
LunMarMerJeuVenSamDim
     12
3456789
10111213141516
17181920212223
24252627282930
31      
CalendrierCalendrier

Partagez | 
 

 Retour sur SPIN

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

avatar

Nombre de messages : 5458
Age : 66
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 : 5841
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
Yannick

avatar

Nombre de messages : 7930
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 : 5841
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

avatar

Nombre de messages : 5458
Age : 66
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 32 bits :: Présentation et bavardage-
Sauter vers: