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
» Planétarium virtuel.
par Pedro Alvarez Hier à 16:57

» Roues dentées
par jean_debord Hier à 10:40

» Attention arnaque !
par mindstorm Jeu 19 Juil 2018 - 19:18

» Qui fait quoi ?
par silverman Mer 18 Juil 2018 - 15:21

» ITEM_SELECT N,L pour synedit
par silverman Mer 18 Juil 2018 - 15:20

» Boussole
par jean_debord Mer 18 Juil 2018 - 11:06

» Roue à n faces
par Marc Dim 15 Juil 2018 - 22:16

» Exemple d'une nouvelle version d'un GRID
par Jean Claude Ven 13 Juil 2018 - 10:32

» Une simple question
par Oscaribout Sam 7 Juil 2018 - 23:20

» BUG sur l'objet TAB
par Jack Sam 7 Juil 2018 - 21:12

» Monopoly moderne
par jjn4 Sam 7 Juil 2018 - 15:06

» Récapitulatif ludothèque panoramic jjn4
par jjn4 Ven 6 Juil 2018 - 17:41

» Lignes ondulées
par JL35 Ven 6 Juil 2018 - 17:39

» bug off_activate 0 : sans d'effet
par silverman Ven 6 Juil 2018 - 13:02

» Position des objets d'un conteneur dans FBPano et Panoramic
par Navigateur Ven 6 Juil 2018 - 12:59

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

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

Partagez | 
 

 SELECT... END_SELECT

Aller en bas 
AuteurMessage
JL35



Nombre de messages : 6302
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: SELECT... END_SELECT   Lun 7 Mar 2016 - 13:48

C'est une demande qui a déjà été faite, autrefois (papydall ?), et que j'exhume...
Je trouve le SELECT un peu restrictif, du fait que le CASE n'admet que des valeurs numériques entières, et pas de noms de variables.
Ce serait bien qu'on puisse avoir (comme dans les autres basics) des noms de variables ou des données, par exemple:
Code:
SELECT a$
  CASE "ABCD"
  CASE b$
  ...
END_SELECT
ou bien
Code:
SELECT i%
  CASE 23
  CASE xy%
  ...
END_SELECT
Et de même un CASE_ELSE pour les autres cas...

Un exemple pratique (entre autres):
Je définis une série d'objets Panoramic avec des noms de variables: a1%, a2%, a3%, ..., le click sur plusieurs de ces objets renvoie au même sous-programme dans lequel est faite la distinction:
i% = NUMBER_CLICK
Et je voudrais pouvoir écrire:
Code:
SELECT i%
  CASE a1%
  CASE a2%
  CASE a3%
  ...
END_SELECT
J'ai corrigé le titre j'avais fait un gros lapsus (Case End_Case au lieu de Select End_Select Embarassed )


Dernière édition par JL35 le Lun 7 Mar 2016 - 22:15, édité 2 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

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

MessageSujet: Re: SELECT... END_SELECT   Lun 7 Mar 2016 - 14:24

+1
+1
+1

Complètement d'accord, ce qui donnerait. On est d'accord, cet exemple ne donne pas grand chose de plus que celui de JL35. C'est juste un petit effort pour essayer d'appuyer cette demande comme je peux...


SELECT i%
CASE bonus1%
Traitement du cas i%=bonus1%
CASE bonus2%
Traitement du cas i%=bonus2%
CASE bonus3%
Traitement du cas i%=bonus3%
...
CASE_ELSE
Traitement facultatif à effectuer si i% ne vaut aucune de ses valeur
...
END_SELECT

C'est utile car il est dommage de donner des noms à des valeurs pour que ce soit plus parlant dans le source et que l'on ne puissent pas les utiliser dans les programmes

Et oui, c'est dommage que les chaines ne puissent pas bénéficier de cette souplesse. Je ne vais pas redonner l'exemple de JL35 mais il est très parlant
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

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

MessageSujet: Re: SELECT... END_SELECT   Lun 7 Mar 2016 - 17:52

Je ne peux qu’appuyer (fortement) cette demande

Une bonne évolution de la structure SELECT … CASE … END_CASE serait :
1) Les valeurs après CASE peuvent être des valeurs numériques ou des expressions arithmétiques pouvant comporter éventuellement des noms d’autres variables / constantes.
2) Les valeurs après CASE peuvent être du type intervalle
  Exemple
Code:

select i
   case 10 to 20 : ' i appartient à l'intervalle [10,20]
   ...
end_select
3) Les valeurs après CASE peuvent être du type chaîne.
4) Une autre souplesse serait le CASE_ELSE
5) Pouvoir utiliser des structures SELECT … CASE … END_CASE imbriquées

Code:

dim bonus1,bonus2,bonus3
    bonus1 = 10 : bonus2 = 10*bonus1 : bonus3 = 100*bonus1
dim malus1,malus2,malus3
    malus1 = bonus1/10 : malus2 = bonus2/100 : malus3 = bonus3/1000
dim gain,perte
    gain = 100 : perte = 10
rem ============================================================================
' ceci ne marche pas et c'est dommage!
 select perte
'    case malus1 : message "Tu as perdu " + str$(malus1) + " points"
'    case malus2 : message "Tu as perdu " + str$(malus2) + " points"
'    case malus3 : message "Tu as perdu " + str$(malus3) + " points"
 end_select
rem ============================================================================
' ceci marche mais c'est (trop) restrictif
select gain
    case 10   : message "Tu as gagné un bonus de " + str$(bonus1) + " points"
    case 100  : message "Tu as gagné un bonus de " + str$(bonus2) + " points"
    case 1000 : message "Tu as gagné un bonus de " + str$(bonus3) + " points"
end_select
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
silverman

avatar

Nombre de messages : 659
Age : 46
Localisation : Picardie
Date d'inscription : 18/03/2015

MessageSujet: Re: SELECT... END_SELECT   Lun 7 Mar 2016 - 18:01

+1

j'adhère!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

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

MessageSujet: Re: SELECT... END_SELECT   Lun 7 Mar 2016 - 18:28

Papydall, tu n'es qu'un gros gourmand. Cela dit, j'approuve totalement ta demande car j'en suis un autre.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

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

MessageSujet: Re: SELECT... END_SELECT   Lun 7 Mar 2016 - 22:22

Si on demande quelque chose autant viser gros.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
JL35



Nombre de messages : 6302
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: SELECT... END_SELECT   Lun 7 Mar 2016 - 23:08

T'as raison ! tant qu'à faire, autant demander beaucoup pour avoir un peu... ou rien !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
JL35



Nombre de messages : 6302
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: SELECT... END_SELECT   Ven 3 Mar 2017 - 14:10

Je remonte cette demande d'il y a un an maintenant...

A tout hasard, le besoin est toujours là...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 8077
Age : 47
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Lun 6 Mar 2017 - 14:12

Je ne peux qu' être d' accord avec tout çà.
La demande initiale serait déjà une très bonne chose.
Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: SELECT... END_SELECT   

Revenir en haut Aller en bas
 
SELECT... END_SELECT
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» SELECT, CASE, END_SELECT
» des utilisateurs de la Hornby select ? protocol xpressnet
» Problème avec select case Probleme réglé merci
» Couper,copier... dans un webBrowser
» garmin c330

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos souhaits d'amélioration de Panoramic-
Sauter vers: