Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Contrôle des touches de fonction Jeu 30 Nov 2017 - 11:50 | |
| Bonjour à tous, Comme l'indique le titre voici un petit utilitaire pour contrôler les touches de fonction F1 à F8. Au préalable, et pour vous éviter des désagréments, ne lancez pas le code tel quel car il va planter. Transformez-le en exécutable car c'est ainsi qu'il fonctionne le mieux. Ce programme est prévu pour fonctionner indépendamment des autres programmes ouverts. Si vous le testez et que vous ne souhaitez pas le conserver: vous devez supprimer le dossier ControleTouchesFonctionTF qui se trouve à la racine C:. L'OBJECTIF: affecter du texte aux touches de fonction de F1 à F8 pour le coller ailleurs. Soit une sorte de presse-papier à 8 étages, dont le texte de chaque touche est pré-programmé par vos soins. UTILISATION:une fois l'exécutable lancé: Démarrage du système en mode "Lecture" par la touche [Pause/Attn]. Démarrage du système en mode "Programmation Texte des touches" par la touche [Arrêt Défil] à condition d'être en mode "Lecture". Neutralisation du système par Appuis successifs sur la touche [Pause/Attn] jusqu'à ce que le message "Mode Lecture et Programmation des touches, désactivés" apparaisse dans la fenêtre. Sortie du système normalement par la croix rouge ou par la touche [Echap] plus commode si la fenêtre est cachée sous une autre. Exemple d'application: coller rapidement des lignes de code Panoramic préalablement programées. La touche F1 contient: if <condition> : : else : : end_ifil vous suffira de taper F1, puis CTRL+V pour coller ce texte. Autre exemple: ' Touche F2 if file_exists()=0 thenEt ainsi de suite..... A vous d'imaginer d'autres possibilités d’application. Vous trouverez en commentaire dans le code.bas d'autres informations. - Code:
-
' Contrôle des touches de fonction par JC 29/11/2017
' OBJECTIF: affecter du texte aux touches de fonction de F1 à F8 pour le coller ailleurs. ' Soit un presse-papier à 8 étages, dont le texte de chaque touche est pré-programmé.
' ATTENTION: Ce programme doit être transformé en exécutable (il est prévu pour fonctionner à coté de Panoramic_Editor). ' Vos touches de fonction seront sous controle tant qu'il sera en service. ' En mode "Lecture" il peut être réduit dans la barre des tâches si vous avez mémorisé les textes des touches de fonction.
' Exemple d'application: mémoriser des lignes de code Panoramic pour les coller rapidement dans votre code. ' La touche F1 contient: if <condition> : : else : : end_if ' il vous suffira de taper F1, puis CTRL+V pour coller ce texte.
' Autres exemples pour F2,F3,F4, ... ' F2 for = to : : next ' F3 While : : End_While ' F4 if file_exists()=0 then ' Ainsi de suite.....
' AIDE: Utilisation: ' Démarrage du système en mode "Lecture" par la touche [Pause/Attn] ' Démarrage du système en mode "Programmation Texte" par la touche [Arrêt Défil] à condition d'être en mode "Lecture" ' Sortie du système normalement par la croix rouge ou par la touche [Echap] si la fenêtre est cachée sous une autre.
' INFOS: ' Au départ du système il y a création du dossier "C:\ControleTouchesFonctionTF" où sera placé le fichier "MemoTxtTouchesFonction.txt" ' Chaque fois qu'une touche de fonction vient d'être programmée le système se remet automatiquement en mode "Lecture" ' Condition impérative: Le texte à programmer dans une touche doit comporter une seule ligne.
' CAS PARTICULIER: Si le code en cours de programmation utilise les touches de fonction, ' pour l'exécuter, mettre le système hors service. ' 2 possibilités: ' 1) fermer le programme "Contrôle des touches de fonction" ' 2) Presser la touche [Pause/Attn] jusqu'à désactivation des 2 modes.
' Adaptation du programme à votre goût: ' Vous pouvez interdire la programmation d'une touche de fonction en shuntant les 2 lignes qui lui correspondent au label VerifTimerTF ' Le texte des touches est mémorisé dans le fichier "MemoTxtTouchesFonction.txt" ' Ce fichier se trouve dans le dossier "C:\ControleTouchesFonctionTF" ' - pour changer l'emplacement modifier RepTF$ à la SUB InstalleControleTouchesFonction(). InstalleControleTouchesFonction() END rem ============================================================================ ' Le système ControleTouchesFonction VerifTimerTF: to_foreground 0 if scancode=19 then ActiveTouchesTF() if scancode=145 and ModeTF%=1 then ActiveModeProgTF() if scancode=112 and ModeTF%=1 then Lecture("F1") if scancode=112 and ModeTF%=2 then Programme("F1") if scancode=113 and ModeTF%=1 then Lecture("F2") if scancode=113 and ModeTF%=2 then Programme("F2") if scancode=114 and ModeTF%=1 then Lecture("F3") if scancode=114 and ModeTF%=2 then Programme("F3") if scancode=115 and ModeTF%=1 then Lecture("F4") if scancode=115 and ModeTF%=2 then Programme("F4") if scancode=116 and ModeTF%=1 then Lecture("F5") if scancode=116 and ModeTF%=2 then Programme("F5") if scancode=117 and ModeTF%=1 then Lecture("F6") if scancode=117 and ModeTF%=2 then Programme("F6") if scancode=118 and ModeTF%=1 then Lecture("F7") if scancode=118 and ModeTF%=2 then Programme("F7") if scancode=119 and ModeTF%=1 then Lecture("F8") if scancode=119 and ModeTF%=2 then Programme("F8") if scancode=27 then terminate RETURN
SUB Lecture(STF$) dim_local NumLig%,item$ timer_off TimerTF% : RepATF$=dir_current$ : dir_change RepTF$ if file_exists("MemoTxtTouchesFonction.txt")=0 then message "Mode ''Lecture'' des touches de fonction:"+chr$(13)+"Aucune touche de fonction programée." : dir_change RepATF$ : timer_on TimerTF% : exit_sub clear DlistTF% : file_load DlistTF%,"MemoTxtTouchesFonction.txt" NumLig%=val(right$(STF$,len(STF$)-1)) : item$=item_read$(DlistTF%,NumLig%) : clipboard_string_copy item$ to_foreground 0 : cls : print item$ dir_change RepATF$ : timer_on TimerTF% END_SUB
SUB Programme(STF$) dim_local NumLig%,item$ timer_off TimerTF% : RepATF$=dir_current$ : dir_change RepTF$ if file_exists("MemoTxtTouchesFonction.txt")=0 file_open_write 1,"MemoTxtTouchesFonction.txt" for NumLig%=1 to 12 if NumLig%<10 file_writeln 1,"0"+str$(NumLig%) else file_writeln 1,str$(NumLig%) end_if next NumLig% file_close 1 end_if NumLig%=val(right$(STF$,len(STF$)-1)) clear DlistTF% : file_load DlistTF%,"MemoTxtTouchesFonction.txt" item$=item_read$(DlistTF%,NumLig%) if message_input("Texte de la touche F"+str$(NumLig%),"Modifier (ou coller) le texte",item$)=1 item$=message_text$ else ModeTF%=1 : dir_change RepATF$ : timer_on TimerTF% to_foreground 0 : cls : print " Mode ''Lecture'' activé." : exit_sub end_if item_delete DlistTF%,NumLig% : item_insert DlistTF%,NumLig%,item$ :file_save DlistTF%,"MemoTxtTouchesFonction.txt" ModeTF%=1 : dir_change RepATF$ : timer_on TimerTF% to_foreground 0 : cls : print " Mode ''Lecture'' activé." END_SUB
SUB ActiveTouchesTF() timer_off TimerTF% if ModeTF%=0 ModeTF%=1 cls : print " Mode ''Lecture Touches de Fonction'' activé." else ModeTF%=0 cls : print " Mode ''Lecture'' et ''Programmation Touches de Fonction'' désactivés." end_if timer_on TimerTF% END_SUB
SUB ActiveModeProgTF() to_foreground 0 : timer_off TimerTF% ModeTF%=2 cls : print " Mode ''Programmation Touches de Fonction'' activé: choisir la touche de fonction à programmer." timer_on TimerTF% END_SUB
SUB InstalleControleTouchesFonction() ' Form 0 width 0,700 : height 0,60 : top 0,100 : left 0,30 caption 0,"Controle des touches de fonction" : color 0,0,0,0 : font_color 0,255,255,255 : font_bold 0 : font_size 0,10 hint 0," Gestion des touches de fonction " cls : print " Mode ''Lecture'' et ''Programmation'' désactivés. [Pause/Attn] => Mode ''Lecture''" ' Les variables if variable("ModeTF%")=0 then dim ModeTF% : ModeTF%=0 if variable("no%")=0 then dim no% : no%=number_objects : ' pour ceux qui programment avec des "noms d'objets par variable" if variable("RepTF$")=0 then dim RepTF$,RepATF$ RepTF$="C:\ControleTouchesFonctionTF" :' Chemin à adapter à votre convenance if dir_exists(RepTF$)=0 then dir_make RepTF$ ' Le Label if label("VerifTimerTF")=0 then label VerifTimerTF ' Le Timer if variable("TimerTF%")=0 dim TimerTF% : TimerTF%=no%+1 timer TimerTF% : timer_interval TimerTF%,200 : on_timer TimerTF%,VerifTimerTF : timer_on TimerTF% end_if ' DlistTF% if variable("DlistTF%")=0 dim DlistTF% : DlistTF%=TimerTF%+1 : dlist DlistTF% end_if to_foreground 0 END_SUB
A+ | |
|
jjn4
Nombre de messages : 2747 Date d'inscription : 13/09/2009
| Sujet: +++ Jeu 30 Nov 2017 - 19:20 | |
| Bonne idée. Ca rappelle de vieux souvenirs. C'était sur Amstrad, je crois, qu'on pouvait faire ça ? | |
|
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Contrôle des touches de fonction Jeu 30 Nov 2017 - 19:58 | |
| Merci JJN4 (ou 42) d'avoir testé. Sur Amstrad OUI, mais aussi avec QBasic.
Et aussi, d'évidence, avec Panoramic. Je viens de m'en servir pour reprendre un code de 2016 et je dois dire que quand on a en mémoire les textes des 8 touches de fonction, c'est très utile.
A+ | |
|
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Contrôle des touches de fonction Sam 2 Déc 2017 - 13:37 | |
| | |
|
Contenu sponsorisé
| Sujet: Re: Contrôle des touches de fonction | |
| |
|