Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| Rubriques d'aide par la touche F1 | |
| | Auteur | Message |
---|
Mumu
Nombre de messages : 176 Localisation : 45 Date d'inscription : 20/12/2012
| Sujet: Rubriques d'aide par la touche F1 Jeu 10 Oct 2013 - 15:11 | |
| Voilà un certain temps déjà, Jean Claude (je crois) avait fait un petit programme qui permettait d'intercepter la touche F1 quand on a le focus sur un edit ou autre. J'ai eu l'idée de vitaminer un peu ce programme, et ça donne ça. Il faut noter cependant que sa réalisation doit beaucoup à cosmos 70. - Code:
-
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' ' Aide contextuelle pour un écran de saisie ' ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
label Rubriques_aide,fin dim fenetre_aide$(1000,1) : ' N° de l'objet sujet à l'aide, et texte ' contenant 1 info sur le champs en rapport dim path_dll$
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' localisation de la dll de Klaus SetWindowButton.dll ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - path_dll$ = "C:\_Données_\Panoramic's projects\_Dll\" ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' Gui sur lequel doit porter l'aide ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - list 1 :on_key_up 1,Rubriques_aide : fenetre_aide$(1,1) = "saisie nom" memo 2:left 2,200 :on_key_up 2,Rubriques_aide : fenetre_aide$(2,1) = "saisie prénom" edit 3:top 3,200 :on_key_up 3,Rubriques_aide : fenetre_aide$(3,1) = "saisie age"
button 4:top 4,250 :on_click 4,fin :caption 4, "Faim"
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' Form et mémo contenant l'aide (mémo présente l'incovénient ' que l'on peut écrire de dans, et doc détruire ou poluer le ' texte de l'aide. Demi mal car le fichier d'aide n'est pas ' affecté par ces manoeuvre douteuses, et sera inchagé la prochaine ' fois qu'on aura à l'utiliser ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - form 911 :hide 911 : top 911,100 : left 911,100 : width 911,400 : border_small 911 memo 912 : parent 912,911 : width 912,382 :height 912,200 :cursor_hide 912 : color 912,14,240,251 ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - end
fin: terminate return
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' Quand le focus est sur l'objet number_key_up et qu'on appuie sur F1 ' Ne pas oublier de désactiver la dll active s'il y en a une ou bien ' passer par kgf.dll. ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Rubriques_aide: if key_up_code =112 aide(number_key_up) end_if return
sub aide(rubrique%) dim_local fichier_aide$,res% ,dll$,hnd_dll% inactive 0 : ' pour qu'un click sur la form qui est dessous ' ne fasse pas disparaitre la form de l'aide dll$ = path_dll$ + "SetWindowButton.dll" dll_on dll$ res% = dll_call2("SetCloseBox",handle(911),0) fichier_aide$ = "aide"+str$(rubrique%)+".txt" caption 911,"Rubrique d'aide sur "+ fenetre_aide$(rubrique%,1)+" Sortie par Esc" show 911 file_load 912, "aide"+str$(rubrique%)+".txt" while scancode <> 27 : end_while hide 911 dll_off active 0 set_focus rubrique% : ' Nécessaire pour que la form d'origine ' soit au 1er plan ( Je ne vois pas trop pourquoi ' pour le moment...) end_sub
Les fichiers texte sont sur mon webdav, mais vu leur contenu, je pense que vous n'aurez pas de mal à les créer en local PS : Si l'auteur du programme originel n'est pas jean Claude qu'il trouve là mes plus plates excuses | |
| | | Froggy One
Nombre de messages : 598 Date d'inscription : 06/01/2012
| Sujet: Re Jeu 10 Oct 2013 - 17:05 | |
| Je ne voudrais pas jouer les rabat-joie mais Impossible to find the DLL et comment faire pour désactiver la dll active et je n'ai pas trouvé de fichier texte sur ton webdav et voila. Sinon je suis certain que ton programme est puissant, mais je ne le comprends pas encore, à ma grande honte... | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Rubriques d'aide par la touche F1 Jeu 10 Oct 2013 - 18:03 | |
| Salut Mumu, Je ne me rappelle pas pour le programme d'interception touche F1, c'est sûrement quelqu'un d'autres. Bref, j'ai voulu tester, mais il faut que charge la DLL. Sinon modifie ta ligne du bouton "Faim", tu as sans doute voulu dire "Fin" on croirait piloter un Tamagotchi. A+ | |
| | | Mumu
Nombre de messages : 176 Localisation : 45 Date d'inscription : 20/12/2012
| Sujet: Re: Rubriques d'aide par la touche F1 Jeu 10 Oct 2013 - 20:46 | |
| | |
| | | Mumu
Nombre de messages : 176 Localisation : 45 Date d'inscription : 20/12/2012
| Sujet: Re: Rubriques d'aide par la touche F1 Ven 11 Oct 2013 - 15:09 | |
| @ Froggy One Excuse moi je n'avais pas vu ton post (et vvu l'heure avancée de la journée je ne peux pas prétendre avoir été mal réveillé... Re ) Pour la dll, Y'A UN BUG CHEZ MOI... Je republie la version finale du programme - Code:
-
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' ' Aide contextuelle pour un écran de saisie ' ' Le fichier d'aide doit avoir le format suivant
' aide.txt
' Entête de l'aide ' normalement le programme dans lequel est incluse ' l'aide doit ignorer ces lignes. Sinon... ' Max 39 caractères par ligne ou modifier le form ' et le list qui contiendra l'aide (911 et 912) ' Commencer chaque rubrique par le N° d'objet ' auquel se rapporte l'aide (balise de début). ' Terminer chaque rubrique par le N° d'objet ' auquel se rapporte l'aide (balise de fin). ' ' 1 ' Saisir le Nom ' Et puis une autre ligne ' 1 ça c'est pour tromper l'ennemi ' Et ça c'est la verification ' le 1 en début de ligne n'est pas ' interprété comme une balise de ' fin d'item d'aide. ' Encore un peu de verbiage pour ' forcer le texte d'aide à sortir ' du cadre. force est de constater ' que ça marche. on a bien le petit ' ascenseur ' 1 ' ' ' 2 ' Saisir le Prenom ' 2 ' ' ' 3 ' Saisir l'age ' 3 ' ' Fin du fichier ' ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
label Rubriques_aide,fin dim fenetre_aide$(1000,1) : ' N° de l'objet sujet à l'aide, et texte ' contenant 1 info sur le champs en rapport dim path_dll$
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' localisation de la dll de Klaus SetWindowButton.dll ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - path_dll$ = "C:\_Données_\Panoramic's projects\_Dll\" ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' Gui sur lequel doit porter l'aide ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - edit 1:on_key_up 1,Rubriques_aide : fenetre_aide$(1,1) = "saisie nom" top 1,100 : left 1,100 edit 2:on_key_up 2,Rubriques_aide : fenetre_aide$(2,1) = "saisie prénom" top 2,100 :left 2,300 edit 3:on_key_up 3,Rubriques_aide : fenetre_aide$(3,1) = "saisie age" left 3,100 :top 3,300 button 4:on_click 4,fin :caption 4, "Arrêt" left 4, 100 :top 4,350
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' Form et list contenant l'aide ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - form 911 :hide 911 : top 911,100 : left 911,100 : width 911,400 : border_small 911 list 912 : parent 912,911 : width 912,382 :height 912,200 :cursor_hide 912 color 912,51,153,255 : font_color 912,255,255,255 : font_size 912,14 font_name 912,"Times new roman" dlist 913 :file_load 913,aide.txt ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - end
fin: terminate return
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' Quand le focus est sur l'objet number_key_up et qu'on appuie sur F1. ' Ne pas oublier de désactiver la dll active s'il y en a une ou bien ' passer par kgf.dll. ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Rubriques_aide: if key_up_code =112 aide(number_key_up) end_if return
sub aide(rubrique%) dim_local i%, dll$, erreur_aide% inactive 0 : ' pour qu'un click sur la form qui est dessous ' ne fasse pas disparaitre la form de l'aide erreur_aide% = 0 dll$ = path_dll$ + "SetWindowButtons.dll" dll_on dll$ i% = dll_call2("SetCloseBox",handle(911),0) caption 911,"Rubrique d'aide sur "+ fenetre_aide$(rubrique%,1)+" Sortie par Esc" for i% = 1 to count(913) if item_read$(913,i%) = str$(rubrique%) then exit_for if i% = count(913) message "Pas d'aide disponnible" exit_sub end_if next i% i% = i% + 1 while item_read$(913,i%) <> str$(rubrique%) item_add 912 , item_read$(913,i%) i% = i% + 1 end_while show 911 while scancode <> 27 : end_while hide 911 clear 912 dll_off active 0 set_focus rubrique% : ' Nécessaire pour que la form d'origine ' soit au 1er plan ( Je ne vois pas trop pourquoi ' pour le moment...) end_sub
Le fichier de texte est en commentaire au début du programme. Le bug, c'est qu'il y a un "s" qui a sauté dans la manœuvre. Ça marche-t-y ? Edit: La dll c'est une dll écrite par Klaus : SetWindowButtons.dll ReEdit: pour désactiver une éventuelle dll active (Panoramic n'en accepte qu'une) dll_off | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Rubriques d'aide par la touche F1 Ven 11 Oct 2013 - 16:29 | |
| @mumu: Cette DLL n'est plus maintenue !
Utilise stp KGF.dll ! | |
| | | Mumu
Nombre de messages : 176 Localisation : 45 Date d'inscription : 20/12/2012
| Sujet: Re: Rubriques d'aide par la touche F1 Ven 11 Oct 2013 - 17:31 | |
| Ok c'est enregistré. La fonction de KGF porte le même nom ? | |
| | | Mumu
Nombre de messages : 176 Localisation : 45 Date d'inscription : 20/12/2012
| | | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Rubriques d'aide par la touche F1 Ven 11 Oct 2013 - 17:38 | |
| Depuis la version - Citation :
- 1.26 09/08/2012 intégration de SetWindowButtons.dll
KGF.dll contient les fonctions: - Citation :
- WindowTranparency
RepaintWindow SetMinimizeMaximize SetCloseBox AttachWindowToWindow Elles sont documentées dans la rubrique "Fonctions de gestion des fenêtres - Window managment functions" de KGF.chm (doc de KGF.dll). | |
| | | Mumu
Nombre de messages : 176 Localisation : 45 Date d'inscription : 20/12/2012
| Sujet: Re: Rubriques d'aide par la touche F1 Ven 11 Oct 2013 - 17:58 | |
| @ Klaus Merci . J'avais utilisé cette dll après avoir lu un de tes posts anciens où tu en parlais en termes élogieux... Bon après KGF.dll est passée par là mais la doc est si conséquente que ça m'a complètement échappé. Voici donc la version post-finale de l'aide. - Code:
-
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' ' Aide contextuelle pour un écran de saisie ' ' Le fichier d'aide doit avoir le format suivant
' aide.txt
' Entête de l'aide ' normalement le programme dans lequel est incluse ' l'aide doit ignorer ces lignes. Sinon... ' Max 39 caractères par ligne ou modifier le form ' et le list qui contiendra l'aide (911 et 912) ' Commencer chaque rubrique par le N° d'objet ' auquel se rapporte l'aide (balise de début). ' Terminer chaque rubrique par le N° d'objet ' auquel se rapporte l'aide (balise de fin). ' ' 1 ' Saisir le Nom ' Et puis une autre ligne ' 1 ça c'est pour tromper l'ennemi ' Et ça c'est la verification ' le 1 en début de ligne n'est pas ' interprété comme une balise de ' fin d'item d'aide. ' Encore un peu de verbiage pour ' forcer le texte d'aide à sortir ' du cadre. force est de constater ' que ça marche. on a bien le petit ' ascenseur ' 1 ' ' ' 2 ' Saisir le Prenom ' 2 ' ' ' 3 ' Saisir l'age ' 3 ' ' Fin du fichier ' ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
label Rubriques_aide,fin dim fenetre_aide$(1000,1) : ' N° de l'objet sujet à l'aide, et texte ' contenant 1 info sur le champs en rapport dim path_dll$
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' localisation de la dll de Klaus SetWindowButton.dll ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - path_dll$ = "C:\_Données_\Panoramic's projects\_Dll\" ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' Gui sur lequel doit porter l'aide ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - edit 1:on_key_up 1,Rubriques_aide : fenetre_aide$(1,1) = "saisie nom" top 1,100 : left 1,100 edit 2:on_key_up 2,Rubriques_aide : fenetre_aide$(2,1) = "saisie prénom" top 2,100 :left 2,300 edit 3:on_key_up 3,Rubriques_aide : fenetre_aide$(3,1) = "saisie age" left 3,100 :top 3,300 button 4:on_click 4,fin :caption 4, "Arrêt" left 4, 100 :top 4,350
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' Form et list contenant l'aide ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - form 911 :hide 911 : top 911,100 : left 911,100 : width 911,400 : border_small 911 list 912 : parent 912,911 : width 912,382 :height 912,200 :cursor_hide 912 color 912,51,153,255 : font_color 912,255,255,255 : font_size 912,14 font_name 912,"Times new roman" dlist 913 :file_load 913,aide.txt ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - end
fin: terminate return
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' Quand le focus est sur l'objet number_key_up et qu'on appuie sur F1. ' Ne pas oublier de désactiver la dll active s'il y en a une ou bien ' passer par kgf.dll. ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Rubriques_aide: if key_up_code =112 aide(number_key_up) end_if return
sub aide(rubrique%) dim_local i%, dll$, erreur_aide% inactive 0 : ' pour qu'un click sur la form qui est dessous ' ne fasse pas disparaitre la form de l'aide erreur_aide% = 0 dll$ = path_dll$ + "kgf.dll" dll_on dll$ i% = dll_call2("SetCloseBox",handle(911),0) caption 911,"Rubrique d'aide sur "+ fenetre_aide$(rubrique%,1)+" Sortie par Esc" for i% = 1 to count(913) if item_read$(913,i%) = str$(rubrique%) then exit_for if i% = count(913) message "Pas d'aide disponnible" exit_sub end_if next i% i% = i% + 1 while item_read$(913,i%) <> str$(rubrique%) item_add 912 , item_read$(913,i%) i% = i% + 1 end_while show 911 while scancode <> 27 : end_while hide 911 clear 912 dll_off active 0 set_focus rubrique% : ' Nécessaire pour que la form d'origine ' soit au 1er plan ( Je ne vois pas trop pourquoi ' pour le moment...) end_sub
Post-finale si y' a pas de changement d'ici là ! | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Rubriques d'aide par la touche F1 Ven 11 Oct 2013 - 18:05 | |
| | |
| | | Contenu sponsorisé
| Sujet: Re: Rubriques d'aide par la touche F1 | |
| |
| | | | Rubriques d'aide par la touche F1 | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |