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
» Version instantanée V 0.9.28i18 du 27/04/2018
par Jack Aujourd'hui à 8:49

» Et encore un éditeur...
par Jean Claude Aujourd'hui à 8:41

» Un CONTAINER sans bordure
par Fredisland Hier à 23:27

» windows
par Klaus Hier à 23:21

» Exécutables et Applications
par Jack Hier à 20:07

» Une suggestion pour soulager l'auteur de PANORAMIC
par Fredisland Hier à 20:05

» Le serpent qui se mange la queue avec LE DOSSIER EN COURS
par Fredisland Hier à 20:00

» Utilisation de Make_Exe
par Jack Hier à 19:50

» Comment travaille l'auteur de Panoramic
par Jack Hier à 19:43

» API Windows
par Fredisland Hier à 19:16

» Utilisation de RunDll32
par Fredisland Hier à 17:55

» pbs dessin et ecriture sur form
par Fredisland Hier à 17:34

» Panoramic et Windows
par Fredisland Hier à 14:55

» Identifiants Globaux utilisés par Windows
par Fredisland Hier à 14:05

» Nouvelle version 0.32
par Jean Claude Hier à 14:00

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

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

Partagez | 
 

 SELECT... END_SELECT

Aller en bas 
AuteurMessage
JL35



Nombre de messages : 6216
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 : 5916
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 : 5855
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 : 583
Age : 45
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 : 5916
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 : 5855
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 : 6216
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 : 6216
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 : 8043
Age : 46
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: