FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Bataille navale SM
Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2 - Page 4 Emptypar jjn4 Hier à 15:39

» Une calculatrice en une ligne de programme
Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2 - Page 4 Emptypar jean_debord Hier à 6:01

» Gestion d'un système client-serveur.
Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2 - Page 4 Emptypar Pedro Jeu 25 Avr 2024 - 17:31

» Les maths du crocodile
Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2 - Page 4 Emptypar jean_debord Jeu 25 Avr 2024 - 8:37

» Naissance de Crocodile Basic
Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2 - Page 4 Emptypar jean_debord Jeu 25 Avr 2024 - 6:45

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2 - Page 4 Emptypar Froggy One Mer 24 Avr 2024 - 16:38

» Dessine-moi une galaxie
Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2 - Page 4 Emptypar jjn4 Lun 22 Avr 2024 - 11:47

» Erreur END_SUB
Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2 - Page 4 Emptypar jjn4 Lun 22 Avr 2024 - 11:43

» Bug sur DIM_LOCAL ?
Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2 - Page 4 Emptypar papydall Dim 21 Avr 2024 - 21:30

» Form
Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2 - Page 4 Emptypar leclode Dim 21 Avr 2024 - 16:09

» trop de fichiers en cours
Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2 - Page 4 Emptypar Marc Dim 21 Avr 2024 - 0:41

» 2D_fill_color(résolu)
Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2 - Page 4 Emptypar leclode Sam 20 Avr 2024 - 6:32

» Consommation gaz électricité
Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2 - Page 4 Emptypar leclode Mer 17 Avr 2024 - 9:07

» on_key_down (résolu)
Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2 - Page 4 Emptypar leclode Mar 16 Avr 2024 - 9:01

» Sous-programme(résolu)
Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2 - Page 4 Emptypar jjn4 Jeu 4 Avr 2024 - 12:42

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Avril 2024
LunMarMerJeuVenSamDim
1234567
891011121314
15161718192021
22232425262728
2930     
CalendrierCalendrier
-29%
Le deal à ne pas rater :
PC portable – MEDION 15,6″ FHD Intel i7 – 16 Go / 512Go (CDAV : ...
499.99 € 699.99 €
Voir le deal

 

 Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2

Aller en bas 
+5
Jicehel
Yannick
Klaus
Nardo26
Jack
9 participants
Aller à la page : Précédent  1, 2, 3, 4
AuteurMessage
papydall

papydall


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

Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2 - Page 4 Empty
MessageSujet: Re: Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2   Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2 - Page 4 EmptySam 15 Sep 2012 - 20:05

Nous pouvons déclarer des procédures avec SUB et bientôt des fonctions.
Ces 2 types de sous-programmes sont appelés par leur nom respectif. Il leur manque une commande fort utile à savoir la sortie prématurée du sous-programme selon certaines conditions.
Par exemple EXIT_SUB et EXIT_FUNCTION.
Pourquoi chercher à pouvoir déclarer des LABEL pour les appeler avec la plus mauvaise commande jamais inventée dans l’histoire de la programmation : j’ai nommé la commande GOTO.
Il est, me semble-t-il plus efficace , de disposer de EXIT_SUB.

J’ai débuté, comme la plus part d’ici, avec BASIC.
À cette époque les GOTO étaient une providence parce les instructions étaient numérotées et qu’on ne pouvait pas coder tout un bloc sur une même ligne.
Alors un goto par ci, un goto par là et le programme devient vite un véritable casse tête pour celui qui veut comprendre ou modifier quelque chose.
C’était l’époque qu’on qualifiait de « programmation sauvage ».
Juste après j’ai fait la découverte de la programmation structurée avec Turbo Pascal : et j’ai juré que je n’utiliserais jamais plus GOTO.

j’admets que dans des rares conditions on a besoin de faire un GOTO beaucoup plus simplement que de faire la gymnastique pour coder la même chose, mais je le répète c’est rare.
D’après ce que j’ai compris, GOTO restera supportée par Panoramic.

Dans mes posts précédents j’ai donné UNE méthode pour s’en sortir à défaut de EXIT_SUB.
Mais je ne soutiens pas les LABEL_LOCAL : c’est ma façon de voir.

Parfois je PROPOSE, jamais je n’IMPOSE.
Et Jack est son propre maître : il fait ce qu’il veut et ce qu’il peut et je ne peux qu’en être reconnaissant !
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Yannick




Nombre de messages : 8610
Age : 52
Localisation : Bretagne
Date d'inscription : 15/02/2010

Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2 - Page 4 Empty
MessageSujet: re   Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2 - Page 4 EmptySam 15 Sep 2012 - 20:32

Vous parlez de sortir d'une procédure "sub xxx()...end_sub".
Mais, dans quel cas serait il nécessaire de sortir par un "Exit_Sub" ?
On a déjà "If...Else...End_if" pour ouvrir sur plusieurs voix ...non?...
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12274
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2 - Page 4 Empty
MessageSujet: Re: Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2   Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2 - Page 4 EmptySam 15 Sep 2012 - 20:55

@Papydall:
Sur le principe, je suis parfaitement d'accord avec toi. La commande GOTO avec ses labels associés, ce sont des fossiles d'un autre âge de la programmation.

Mais, en Panoramic, il y a actuellement besoin de labels pour 2 raisons:

1. tous les évènements car à ce jour, les commandes ON_xxx n'acceptent que les labels en simulant un GOSUB - il faut donc terminer par RETURN. C'est pourquoi j'ai suggéré à un autre endroit, la directive #ON_EVENT_PROCEDURE.

2. pour au moins une forme de GOTO, il n'y a pas de remplacement possible: c'est le ON_ERROR_GOTO. On ne peut même pas l'assimiler à un évènement et l'inclure dans la logique développée dans l'agrumentation citée ci-dessus, car le principe d'une procédure, c'est qu'au retour, cela continue en ligne comme après un GOSUB, mais ce n'est pas le cas d'un ON_ERROR_GOTO. Il faudrait développer une stratégie tout à fait différente et on sortirait de l'esprit du Basic si l'on faisait ce qu'on fait en Delphi avec TRY...FINALLY...END.

Et puisqu'il faut pouvoir au moins faire des labels pour les ON_ERROR_GOTO, il faut absolument la commande LABEL_LOCAL pour définit des labels locaux à une procédure, car sinon, on aura la plus grande confusion dès lors qu'on essayera d'inclure dans un même programme des procédures de provenances diverses.

Cependant, ceci est totalement indépendant de la notion de EXIT_SUB et EXIT_FUNCTION qui me parraissent tout aussi indispensables pour pouvoir produire des programmes élégants et lisibles. Sinon, il faut à nouveau recourir à des GOTO inutiles, ou à des variables locales servant d'indicateurs, avec une série de IF imbriqués pour conditionner le traitement.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Invité
Invité




Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2 - Page 4 Empty
MessageSujet: Re: Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2   Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2 - Page 4 EmptySam 15 Sep 2012 - 21:49

Vous rendez-vous compte qu'en voulant supprimer les gotos, je ne pourrais plus programmer mes codes, comme celui-ci:
Code:
label a,b,c,d,e,f:font_size 0,16
dim a$
a$="Dites: "
gosub c
gosub c
print a$
end

' -----
a:
a$= a$ +"i"
goto d
' -----
e:
a$= a$ +"!"
goto f
' ----------
b:
a$= a$ +"o"
goto a
' ------
c:
a$=a$+"c"
goto b
' ------
d:
a$= a$ +"n"
goto e
' ------
f:
a$= a$ +" "
return
lol! Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2 - Page 4 154
Revenir en haut Aller en bas
papydall

papydall


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

Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2 - Page 4 Empty
MessageSujet: Re: Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2   Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2 - Page 4 EmptySam 15 Sep 2012 - 22:07

@Klaus
Nos point de vues ne sont pas divergents : j’ai disais que GOTO est utile dans des rares cas.
Tu en as donné une : ON_ERROR_GOTO.
Parfois, avec toute la bonne volonté du monde et la bonne structuration de l’algorithme, il est presqu’impossible de ne pas se servir de GOTO.
La vraie question n’est pas de bannir le binôme GOTO et LABEL, mais de prévoir le EXIT_SUB et le branchement aux SUB pour tous les ON_xxx.

@ygeronimi

Il y a des cas où la sortie provoquée d’une procédure est utile. C’est un peu comme EXIT_FOR, EXIT_WHILE, EXIT_REPEAT.
C’est aussi un peu comme dans un sous-programme appelé par GOSUB où l’on peut coder plusieurs RETURN

Voici un code où l’on peut mettre EXIT_SUB.
L’exemple choisis n’est pas dernier cri (je manque d’inspiration ces jours-ci) et les EXIT_SUB ne sont pas indispensables.
Mais, dans la procédure ‘transcode’, si m% = 1, n’est pas sortir de la procédure à cet endroit, fait que le programme continue de tester des choses impossibles avant de sortir normalement par END_SUB.
Code:

dim mois%, NomMois$
 saisie(mois%)
 transcode(mois%,NomMois$)
 print_locate 50,50 : print mois%; " c'est "; NomMois$

 end
SUB saisie(month%)
  DIM_LOCAL m$
  repeat
    repeat
      m$ = message_input$("ENTRER LE NUMERO DU MOIS","MOIS = ?","")
    until numeric(m$) = 1
    mois% = val(m$)
  until (mois% > 0) and (mois% < 13)
END_SUB

SUB transcode(m%,NameMonth$)
  if m% = 01 then NomMois$ = "JANVIER"    : ' EXIT_SUB
  if m% = 02 then NomMois$ = "FEVRIER"    : ' EXIT_SUB
  if m% = 03 then NomMois$ = "MARS"      : ' EXIT_SUB
  if m% = 04 then NomMois$ = "AVRIL"      : ' EXIT_SUB
  if m% = 05 then NomMois$ = "MAI"        : ' EXIT_SUB
  if m% = 06 then NomMois$ = "JUIN"      : ' EXIT_SUB
  if m% = 07 then NomMois$ = "JUILLET"    : ' EXIT_SUB
  if m% = 08 then NomMois$ = "AOUT"      : ' EXIT_SUB
  if m% = 09 then NomMois$ = "SEPTEMBRE"  : ' EXIT_SUB
  if m% = 10 then NomMois$ = "OCTOBRE"    : ' EXIT_SUB
  if m% = 11 then NomMois$ = "NOVEMBRE"  : ' EXIT_SUB
  if m% = 12 then NomMois$ = "DECEMBRE"
END_SUB

@Cosmos 70
Tout d’abord : toutes mes excuses pour le vocable que je vais utiliser.
cette façon de programmer n’a qu’un seul et unique qualificatif : c’est de la programmation « sauvage ».
Une autre fois PARDON
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Invité
Invité




Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2 - Page 4 Empty
MessageSujet: Re: Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2   Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2 - Page 4 EmptySam 15 Sep 2012 - 22:22

Tu ne vois pas que ça m'amuse de t'emm...
Franchement, tu me vois programmer de cette façon?
Un goto c'est parfois bien pratique. Mais généralement c'est qu'en il y aurait complication à ne pas l'utiliser. Car un goto n'est qu'un échappatoire à un problème à mon sens. Et pour les cas particuliers, j'aime autant qu'il ne disparaisse pas.
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8610
Age : 52
Localisation : Bretagne
Date d'inscription : 15/02/2010

Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2 - Page 4 Empty
MessageSujet: re   Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2 - Page 4 EmptySam 15 Sep 2012 - 22:26

Vu que l'on me dit souvent que je suis un ours...
...me dire que je fais de la programmation sauvage
ne me semblerait finalement que de très normal...

lol! lol! lol!

sauf que je ne suis pas un adepte du goto mais du gosub...
...suis je un peu plus civilisé ?... Laughing Laughing Laughing
Revenir en haut Aller en bas
papydall

papydall


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

Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2 - Page 4 Empty
MessageSujet: Re: Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2   Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2 - Page 4 EmptySam 15 Sep 2012 - 22:44

« La programmation sauvage » est une expression employée pour designer le contraire de « la programmation structurée » et n’a rien à voir avec « le sauvage » et le « civilisé »

@Cosmos 70
Je savais pertinemment que tu joues à l’emm... Very Happy
C’est pourquoi je ne t’emm...PLUS !! No

PS : sauf quand l’envi devient trop pressant !! Laughing

flower flower sunny sunny flower flower

Hé Ours !
OK : Gosub ça fait partie de « la programmation civilisée » jocolor

Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Yannick




Nombre de messages : 8610
Age : 52
Localisation : Bretagne
Date d'inscription : 15/02/2010

Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2 - Page 4 Empty
MessageSujet: re   Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2 - Page 4 EmptySam 15 Sep 2012 - 23:12

geek Le comble du Panoramicien...

...A peine Jack lui fournit un moyen d'entrer (sub)
qu'ils commencent déjà à chercher un moyen
de s'en sortir (exit_sub)...

lol! lol! lol!


Edit : he !!! Jack !!! Avant de coder Function, commence par coder Exit_Function... Laughing Laughing Laughing
Revenir en haut Aller en bas
papydall

papydall


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

Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2 - Page 4 Empty
MessageSujet: Re: Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2   Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2 - Page 4 EmptySam 15 Sep 2012 - 23:54

Entrer c’est bien. On se sent à l’abri.
Mais pour sortir à l’air libre sunny , mieux vaut avoir les clés avec soi !
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Jack
Admin
Jack


Nombre de messages : 2381
Date d'inscription : 28/05/2007

Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2 - Page 4 Empty
MessageSujet: Re: Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2   Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2 - Page 4 EmptyDim 16 Sep 2012 - 7:23

Citation :
Jack !!! Avant de coder Function, commence par coder Exit_Function...

Tu as raison. Et avec toutes ces demandes, je vais bientôt coder EXIT_PANORAMIC Very Happy Very Happy Very Happy

PS: à ne surtout pas prendre au sérieux !
Revenir en haut Aller en bas
https://panoramic.1fr1.net
Jicehel

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2 - Page 4 Empty
MessageSujet: Re: Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2   Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2 - Page 4 EmptyDim 16 Sep 2012 - 8:03

Excellent que tu garde le sens de l'humour Jack et j'espère que tu es fière de nous. Nous sommes bon un pour charger les todo list, non ? Passe une bonne fin de weekend
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8610
Age : 52
Localisation : Bretagne
Date d'inscription : 15/02/2010

Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2 - Page 4 Empty
MessageSujet: re   Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2 - Page 4 EmptyDim 16 Sep 2012 - 10:22

C'est un nom qui peut remplacer "Terminate", ce serait + panoramicien... Laughing Laughing Laughing
Revenir en haut Aller en bas
papydall

papydall


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

Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2 - Page 4 Empty
MessageSujet: Re: Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2   Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2 - Page 4 EmptyDim 16 Sep 2012 - 10:56

Ah c’est vrai, EXIT_PANORAMIC, c’est beaucoup plus panoramic que TERMINATE, pourquoi pas Question

Une bonne trouvaille Laughing
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Yannick




Nombre de messages : 8610
Age : 52
Localisation : Bretagne
Date d'inscription : 15/02/2010

Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2 - Page 4 Empty
MessageSujet: re   Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2 - Page 4 EmptyDim 16 Sep 2012 - 10:59

...Et voilà comment on rajoute 12 pages à un sujet du forum...

lol! lol! lol!
Revenir en haut Aller en bas
Invité
Invité




Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2 - Page 4 Empty
MessageSujet: Re: Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2   Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2 - Page 4 EmptyLun 17 Sep 2012 - 10:52

Bonjour,
Je suis en train de refaire le pagiciel en me servant des SUB. J'ai une dizaine de formes avec dans les 190 objets.
La vitesse: dans les 1/2 secondes pour voir la page. Il n'y a pas les traitements de fait, mais la partie affichage est faite.
Je crois que je vais faire un zip. Malgré la quantité, on ne voit pratiquement les effets d'installation des objets. Juste pour avoir une idée de la vitesse.
Revenir en haut Aller en bas
Contenu sponsorisé





Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2 - Page 4 Empty
MessageSujet: Re: Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2   Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2 - Page 4 Empty

Revenir en haut Aller en bas
 
Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2
Revenir en haut 
Page 4 sur 4Aller à la page : Précédent  1, 2, 3, 4
 Sujets similaires
-
» Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1
» Version instantanée du 16 mai 2012: PANORAMIC V 0.9.23i6
» Version instantanée du 3 octobre 2012: PANORAMIC V 0.9.24i3
» Version instantanée du 8 octobre 2012: PANORAMIC V 0.9.24i4
» Version instantanée du 25 octobre 2012: PANORAMIC V 0.9.24i5

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Ce qui est en cours ...-
Sauter vers: