Search this site
Embedded Files
Mon BBC SDL pas à pas
  • Accueil
  • BBC BASIC
  • BBC OS
  • BBC MODULES
  • RUBRIQUES
  • LIENS
Mon BBC SDL pas à pas
  • Accueil
  • BBC BASIC
  • BBC OS
  • BBC MODULES
  • RUBRIQUES
  • LIENS
  • More
    • Accueil
    • BBC BASIC
    • BBC OS
    • BBC MODULES
    • RUBRIQUES
    • LIENS

⇨ MENU ⇨ BBC BASIC

ON CLOSE

DESCRIPTION.


Le gestionnaire ON CLOSE est utilisé pour empêcher la fermeture de la fenêtre de sortie par l'utilisateur.

L'instruction ON CLOSE OFF est utilisée pour annuler la surveillance de la fermeture de la fenêtre de sortir.


Le gestionnaire ON CLOSE LOCAL est utilisé pour empêcher la fermeture tant un bloc d'instructions est en cours d'exécution.

L'instruction ON CLOSE LOCAL OFF est utilisée pour annuler la surveillance de la fermeture de la fenêtre de sortir.




SYNTAXE.


ON CLOSE action : RETURN

ON CLOSE OFF


ON CLOSE LOCAL action : RETURN

ON CLOSE LOCAL OFF




REMARQUES.


action peut être : 

- une instruction unique à exécuter ;

- une suite d'instructions, séparées par :, à exécuter ;

- un identifiant, tel qu'une procédure ou une fonction personnalisée, à exécuter ;


Le gestionnaire ON CLOSE active la surveillance de fermeture de la fenêtre de sortie par l'utilisateur. Si l'utilisateur clique sur l'icone de fermeture de la fenêtre de sortie, une croix, dans un des angles supérieurs :

- le déroulement du programme est suspendu ;

- le pointeur d’exécution est sauvegardé dans la pile ;

- action est exécutée ;

. le programme reprend là où il a été interrompu grâce à l'instruction RETURN.



Par défaut, l'utilisateur peut cliquer sur l'icone de sortie de la fenêtre de sortie pour quitter le programme en cour. Mais cette possibilité peut être annulée par une instruction composée ON CLOSE, qui dirigera l'exécution du programme vers une procédure ou fonction personnalisée, par exemple, pour s'assurer que certaines données seront bien enregistrées sur un support non volatile, pour que l'utilisateur confirme sa volonté de quitter le programme ou pour lui permettre de mettre le programme en pause.


Dès qu'un gestionnaire ON CLOSE est activé, la fenêtre de sortie ne pourra être fermée qu'avec une instruction QUIT. ou une des commandes système *QUIT ou *BYE.


L'instruction composée ON CLOSE LOCAL, qui doit se trouver uniquement à l'intérieur de la définition d'une procédure ou fonction personnalisée, permet de suspendre et remplacer provisoirement la surveillance de la fermeture de la fenêtre de sortie par le module principal s'il existe, qui redeviendra actif à la sortie de cette procédure ou fonction personnalisée.


Rappel : un gestionnaire événement, tel que ON CLOSE, interrompra le cours de l'application en cour, pour exécuter action, que si aucune instruction INPUT, GET, GET$, INKEY(), INKEY$(), SOUND ou WAIT n'a mis le programme en pause, sauf si vous avez chargé et utilisé les routines de la bibliothèque NOWAIT.


Note : soyez attentif à préserver le traitement des données internes lors d'un traitement d'événements par un gestionnaire, car cela pourrait provoquer des comportements inattendus dans le déroulement de l'application. Consulter le manuel du BBC BASIC for SDL 2.0 pour plus de détails sur les interruptions d'un script et leur gestions.


L'instruction composée ON CLOSE OFF stoppe la surveillance de la fermeture de la fenêtre de sortie. Toutefois, toutes les gestions en attentes dans la pile des événements seront traitées normalement. 


La forme ON CLOSE LOCAL OFF annulera le gestionnaire d"événements dans la procédure ou fonction personnalisée correspondante. Si un gestionnaire d'événements est actif dans le module principal, il redevient le gestionnaire par défaut.



Voir l'instruction MODE pour connaitre les différentes caractéristiques possibles des fenêtres de sortie.

Voir le gestionnaire ON MOVE pour gérer les modifications de caractéristiques de la fenêtre de sortie.



Pour plus de détails sur les désagréments liées aux interruptions, veuillez consulter les mises en gardes du manuel officiel.




RUBRIQUES.


Les dessins et les graphismes pour plus de détails sur la création de dessins et de graphismes.




EXEMPLE.


ON CLOSE PROC_Pause : RETURN

PRINT "Appuyez sur Q pour quitter."

kduree = 0

REPEAT

        kduree += .1 PRINT TAB( 0 , 5 ) "Temps ecoule : " ; STR$( kduree ) ; " seconde (s)."

        ktouche$ = INKEY$( 10 )

UNTIL ktouche$ = "N" OR ktouche$ = "q"

QUIT

END


DEF PROC_Pause

PRINT TAB( 0 , 5 ) "Execution en pause. Appuyez sur une touche pour reprendre ..."

kpause = GET

ENDPROC

Votre aide est précieuse pour améliorer ce site, alors n'hésitez pas à faire part de

vos remarques, vos commentaires et de vos suggestions.

Dans la RETROGICIEL vous trouvez des suggestions simples et classiques pour

TESTER - DÉCOUVRIR - PRATIQUER - APPROFONDIR - EXPLORER

avec un exemple de résolution à télécharger pour vous inspirer.

Google Sites
Report abuse
Page details
Page updated
Google Sites
Report abuse