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 ⇨ BIBLIOTHEQUE ⇨ editbox.bbc

PROC_seteditboxchanged()

DESCRIPTION.


La procédure PROC_seteditboxchanged() permet de modifier l'état de l'indicateur de modification d'un éditeur de texte multiligne.




SYNTAXE.


PROC_seteditboxchanged( boite , editeur , etat )




REMARQUES.


boite doit être l'identifiant de la boite de dialogue qui accueillera l'éditeur de texte. Il s'agit du nom de la variable qui a reçu la valeur retournée par la fonction FN_newdialog() du module dlglib.bbc pour la création de boite.


editeur doit être l'identifiant de l'éditeur de texte multilignes.


etat peut être : 

- TRUE, pour indiquer que le contenu de editeur a été modifié ;

- FALSE, pour indiquer que le contenu de editeur n'a pas été modifié.


Quand le contenu d'éditeur de texte est modifié, son indicateur de modification passe automatiquement à l'état TRUE. La procédure PROC_seteditboxchanged() permet de replacer cet indicateur à l'état FALSE, pour s'assurer, par exemple, qu'aucune modification n'a été faite dans un éditeur de texte multiligne entre deux sauvegarde sur un support physique. 


Rappel : Les éditeurs de texte multiligne, créer avec le module editbox.bbc, devant être accueillis dans une boite de dialogue, il faut impérativement installer le module dlglib.bbc avant le module module editbox.bbc.


Voir la fonction FN_iseditboxchanged() qui retourne l'état de l'indicateur de modification d'un éditeur de texte multiligne.



La procédure PROC_seteditboxchanged() est importée depuis la module editbox.bbc. 




EXEMPLE.


REM --- Importation des modules ---

REM --- Module de la bibliothèque BBC BASIC ---

INSTALL @lib$ + "dlglib.bbc"

INSTALL @lib$ + "editbox.bbc"



REM --- Chargement de la police de caracteres par defaut ---

OSCLI "FONT """ + @lib$ + "DejaVuSans"",12" 


REM --- Initialisation des elements de la liste ---

DIM LST_Editeur$( 10 )

LST_Editeur$( 0 ) = "Vous pouvez entrer du texte a partir d'ici ..."

LST_Editeur$( 10 ) = "C'est ici que ce termine l'editeur de texte."


REM --- Creation d'une boite de dialogue nommee DLG_Test de 160 x 60 unites intitulee Test ---

DLG_Test = FN_newdialog( "Test ..." , 170 , 150 )

PROC_registerdlgcallback( DLG_Test, FN_Event() ) 


REM --- Creation des controles de la boite de dialogue ---

PROC_button( DLG_Test , "Fermer." , 8 , 115 , 130 , 40 , 15 , 0 )

PROC_editbox( DLG_Test , "" , 101 , 5 , 5 , 160 , 120 , &300000 ) 

PROC_seteditboxarray( DLG_Test , 101 , LST_Editeur$() , 10 )

PROC_static( DLG_Test , "..." , 201 , 5 , 130 , 90 , 15 , 0 )


REM --- Affichage de la boite de dialogue et attende des choix de l'utilisateur ---

kcontrole = FN_showdialog( DLG_Test , &FFFFFFFF80000000 , &FFFFFFFF80000000 )  


REM --- Fermeture de la boite de dialogue ---

PROC_closedialog( DLG_Test ) 


REM --- Fin du programme ---

PRINT : PRINT "Au revoir."

END



REM --- DEFINITION DES METHODES PERSONNALISEES ---


REM --- Fonction de rappel de la boite de dialogue DLG_Test ---

DEF FN_Event( Qboite , Qtouche )

IF FN_iseditboxchanged( Qboite , 101 ) THEN  

PROC_setdlgitemtext( Qboite , 201 , "Contenu : modifie." )

PROC_seteditboxchanged( Qboite , 101 , FALSE )

ELSE 

PROC_setdlgitemtext( Qboite , 201 , "Contenu : non modifie." )

ENDIF

PROC_refreshdialog( Qboite ) 

WAIT( 20 )

= 0


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