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
» Logiciel de planétarium.
Sous-programme(résolu) Emptypar Pedro Hier à 15:50

» Un autre pense-bête...
Sous-programme(résolu) Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Sous-programme(résolu) Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Sous-programme(résolu) Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Sous-programme(résolu) Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Sous-programme(résolu) Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Sous-programme(résolu) Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Sous-programme(résolu) Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Sous-programme(résolu) Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Sous-programme(résolu) Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Sous-programme(résolu) Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Sous-programme(résolu) Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Sous-programme(résolu) Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Sous-programme(résolu) Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Sous-programme(résolu) Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
Le deal à ne pas rater :
LEGO Icons 10331 – Le martin-pêcheur
35 €
Voir le deal

 

 Sous-programme(résolu)

Aller en bas 
3 participants
AuteurMessage
leclode




Nombre de messages : 39
Date d'inscription : 01/11/2022

Sous-programme(résolu) Empty
MessageSujet: Sous-programme(résolu)   Sous-programme(résolu) EmptyJeu 4 Avr 2024 - 12:25

Bonjour tout le monde.
J'avance avec mon programme sauf que j'ai un problème avec les sous-programmes.
Je les déclare dans Label.
Je les fais sous la forme:

MonSousProgramme:

return

Jusque là pas de problème.
Je les appelle par gosub et ça fonctionne.
Sauf que l'un deux sert aux erreurs et que quand j'en ai une, je voudrais sortir de celui-ci.
j'ai bien essayé exit_sub mais ça ne fonctionne pas. Après recherche, j'ai bien vu qu'il fallait un END_SUB pour que cela fonctionne.C'est là que je ne comprends plus. J'ai voulu modifier

MonSousProgramme:

return

en

SUB MonSousProgramme(V$)

END_SUB

et là, plus rien ne va. Quand je le déclare dans Label, j'ai comme message:

(70)Label not defined(LABEL).Line:3.

et si je le mets pas dans Label

(56)Not a legal label. Line:249

J'ai essayé sans variable, j'ai l'erreur (70) qui revient.
j'ai aussi essayé de le mettre avant "END" du programme toujours le (70)
Bref je trouve pas. Si quelqu'un peut me mettre sur la voie.
Ou, y a t'il une façon de quitter un sous-programme avant "RETURN" malgré mes différentes recherches, je n'ai pas trouvé.
D'avance merci de votre aide


Dernière édition par leclode le Dim 7 Avr 2024 - 10:29, édité 1 fois
Revenir en haut Aller en bas
papydall

papydall


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

Sous-programme(résolu) Empty
MessageSujet: Re: Sous-programme(résolu)   Sous-programme(résolu) EmptyJeu 4 Avr 2024 - 14:15

Bonjour leclode

Pour un sous-programme appelé par GOSUB, on en sort par RETURN et non par END_SUB
Pour un sous programme du type SUB, on en sort par EXIT_SUB sans exécuter le reste du s/p.
Sinon END_SUB termine le s/p

Code:

dim x
label MonSousProgramme

gosub MonSousProgramme : ' Appel du s/p par GOSUB
' Après exécution du s/p MonSousProgramme, le programme revient à cette ligne
MonSecondSousProgramme() : ' Appel du s/p par son IDENTIFICATEUR

end
rem ============================================================================
MonSousProgramme:
    while 1 = 1 : ' boucle infinie
       x = x + 1 : print "x = ";x
       if x > 9 then RETURN : ' sortir du sous-programme
    end_while
return : ' Un s/p appelé par GOSUB doit se terminer par RETURN
         ' dans ce cas précis, le RETURN n'est pas obligatoire puisqu'il y a
         ' déjà un RETURN au sein de la boucle WHILE
rem ============================================================================
SUB MonSecondSousProgramme()
    dim_local i
    x = 0 : print : print
    for i = 1 to 100
        x = x + 1 : print "x = "; x
        ' exécuter l'une ou l'autre lignes suivantes (26 ou 27)
        if x > 9 then exit_for : ' on sort de la boucle sans la terminer
        if x > 9 then exit_sub : ' on sort du s/p sans le terminer
    next i
END_SUB
rem ============================================================================      



PS : un s/p appelé par GOSUB doit être identifié par un LABEL et terminé par RETURN
Tandis qu'un s/p appelé par son identificateur n'a pas besoin d'un LABEL

PS2 : tu trouveras ici quelques explications sur les sous-programmes


Dernière édition par papydall le Jeu 4 Avr 2024 - 14:36, édité 2 fois
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
jjn4

jjn4


Nombre de messages : 2747
Date d'inscription : 13/09/2009

Sous-programme(résolu) Empty
MessageSujet: Re: Sous-programme(résolu)   Sous-programme(résolu) EmptyJeu 4 Avr 2024 - 14:16

Il y a les routines avec label, du style :
label ici
déclarations d'objets-système
end
ici:
...
return

et les SUB qui sont différentes :
pas besoin de les déclarer en label
déclarations d'objets-système
machin()
déclarations d'objets-système
end
sub machin()
...
end_sub

Il y en a d'autres aussi, comme les fonctions :
dim a%
pas de déclaration de label
déclarations d'objets-système
a%=bidule()
end
fnc bidule()
...
result b%
end_fnc

Pour sortir d'une sub ou d'une fonction :
exit_sub ou exit_fnc
et pour sortir d'un label :
le mieux, c'est de faire :
ici:
...
if a%=0 then return
...
return

Je ne sais pas si tout cela solusionnee tonn problème.
Bonne programmation !
cheers


Dernière édition par jjn4 le Jeu 4 Avr 2024 - 14:43, édité 1 fois
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
papydall

papydall


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

Sous-programme(résolu) Empty
MessageSujet: Re: Sous-programme(résolu)   Sous-programme(résolu) EmptyJeu 4 Avr 2024 - 14:29

Bonjour le Martien

jjn4 a écrit:
Je ne sais pas si tout cela solusionnee tonn problème.

Sûrement ton explication doit bien solusionnee sonn solutionner son problème ! tongue
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
leclode




Nombre de messages : 39
Date d'inscription : 01/11/2022

Sous-programme(résolu) Empty
MessageSujet: Re: Sous-programme(résolu)   Sous-programme(résolu) EmptyJeu 4 Avr 2024 - 14:34

Un grand merci à vous deux. C'est beaucoup plus clair pour moi et ça fonctionne
Sous-programme(résolu) 1f609
Revenir en haut Aller en bas
jjn4

jjn4


Nombre de messages : 2747
Date d'inscription : 13/09/2009

Sous-programme(résolu) Empty
MessageSujet: Re: Sous-programme(résolu)   Sous-programme(résolu) EmptyJeu 4 Avr 2024 - 14:42

@leclode
Super !
@papydall
On va dire que c'est encore la faute du correcteur orthographique...
Laughing Laughing Laughing Laughing
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
Contenu sponsorisé





Sous-programme(résolu) Empty
MessageSujet: Re: Sous-programme(résolu)   Sous-programme(résolu) Empty

Revenir en haut Aller en bas
 
Sous-programme(résolu)
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» aide pour sous programme (résolu)
» sous programme avec variable(résolu)
» Un programme plante sous l'IDE, mais marche sous l'éditeur
» PROCÉDURE et SOUS-PROGRAMME
» [R] DIM_LOCAL et sous-programme

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: A l'aide!-
Sauter vers: