FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» Mah-Jong américain
par Jean Claude Hier à 19:37

» StratégoV8 et V9
par Jean Claude Hier à 13:18

» Problème avec Deepl
par Klaus Hier à 0:34

» Déformation d'image en trapèze
par Klaus Dim 14 Jan 2018 - 16:22

» Quelques nouvelles ...
par Jean Claude Ven 12 Jan 2018 - 22:40

» Renommer les instructions ITEM_... ?
par Jicehel Ven 12 Jan 2018 - 18:56

» Ludothèque Panoramic
par jjn4 Ven 12 Jan 2018 - 18:11

» sous-programmes et fonctions
par Jack Ven 12 Jan 2018 - 17:51

» KGF_dll - nouvelles versions
par Minibug Ven 12 Jan 2018 - 0:21

» Mah-Jong français
par Jean Claude Jeu 11 Jan 2018 - 22:15

» HVIEWER
par Klaus Mer 10 Jan 2018 - 2:06

» panoramic 0.9.28
par gigi75 Ven 5 Jan 2018 - 14:06

» Un jeu qui va vous énerver!
par Jean Claude Jeu 4 Jan 2018 - 22:05

» Bonne fêtes de fin d'année ! Meilleurs Vœux 2018 !
par Jicehel Jeu 4 Jan 2018 - 17:28

» Mah-Jong international
par jjn4 Jeu 4 Jan 2018 - 16:55

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Janvier 2018
LunMarMerJeuVenSamDim
1234567
891011121314
15161718192021
22232425262728
293031    
CalendrierCalendrier

Partagez | 
 

 Contrôle des touches de fonction

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Jean Claude

avatar

Nombre de messages : 5120
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Contrôle des touches de fonction   Jeu 30 Nov 2017 - 13: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. Razz
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_if
il vous suffira de taper F1, puis CTRL+V pour coller ce texte.

Autre exemple:
' Touche F2
 if file_exists()=0 then
Et 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+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
jjn4

avatar

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

MessageSujet: +++   Jeu 30 Nov 2017 - 21:20

Bonne idée. Ca rappelle de vieux souvenirs.
C'était sur Amstrad, je crois, qu'on pouvait faire ça ?
@
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://jjn4.e-monsite.com
Jean Claude

avatar

Nombre de messages : 5120
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Contrôle des touches de fonction   Jeu 30 Nov 2017 - 21: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+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

Nombre de messages : 5120
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Contrôle des touches de fonction   Sam 2 Déc 2017 - 15:37

Pas beaucoup de réactions, mais ça a donné des idées. Voir ici => http://panoramic.free-boards.net/t5534-multicopies-un-presse-papier-multiple#67355

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Contrôle des touches de fonction   

Revenir en haut Aller en bas
 
Contrôle des touches de fonction
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Récupérer toutes les touches tapées
» Piano à 88 touches
» Affichier une infobulle au pointage d'un contrôle
» bibliothèque des touches du clavier
» Démarrage rapide-Etape5:Contrôle automatique des trains

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: